Цитата:
Сообщение от seriousstas
Методом "проб" пришел к выводу,что лучше перезапуска Фубара ничего нет .
Обновил скрипт в шапке для этого.
|
привет Стас
Я блин не успею за тобой)))
только кинусь обновлять по одному - ты уже сделал по иному)))
опять я запутался и задам 3 ключевых (не потятных вопроса):
1) у тебя куча версий на все случаи жизни.
решили, что Foobar лучше перезапускать целиком.
Вопрос: что с iCarDs - его нужно перезапускать всё таки для корректной работы после выхода из сна или нет? или твои готовые
SUSPEND.exe всё делают?
Если нужно то как? (какой скрипт)
2) какую теперь версию
SUSPEND.exe использовать? из готовых какую то, либо же этот код править под себя (обзывать его
SUSPEND.exe и т.д.):
Код:
#NoTrayIcon
#RequireAdmin
#pragma compile(Icon, "C:\Program Files (x86)\AutoIt3\Icons\MyAutoIt3_Yellow.ico")
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseUpx=y
#AutoIt3Wrapper_Run_AU3Check=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include<Process.au3>
_AlreadyRunning()
; Это команда на сон
Global $PBT_APMSUSPEND = 0x0004
Global $PBT_APMRESUMESUSPEND = 0x0007
$myAlpha = 50
$hGUI = GUICreate("Restart", 100, 100, 1, 1)
GUIRegisterMsg($WM_POWERBROADCAST, "Standby")
If @OSArch = "X86" Then
$ProgramFileDir = "C:\Program Files"
Else
$ProgramFileDir = "C:\Program Files (x86)"
endif
Func Standby($hWnd, $Msg, $wParam, $lParam)
Select
Case $wParam = $PBT_APMSUSPEND
Suspend()
Case $wParam = $PBT_APMRESUMESUSPEND
ResumeSuspend()
Case Else
EndSelect
EndFunc
While 1
$connect = _GetNetworkConnect()
If Not $connect Then
_RunDOS('netsh interface set interface "Беспроводная сеть" DISABLE') ; выкл "Local Area Connection"
Sleep(1000)
_RunDOS('netsh interface set interface "Беспроводная сеть" ENABLE') ; вкл "Local Area Connection"
EndIf
Sleep(5000)
$overlay_handle = WinGetHandle("[CLASS:TOverlayForm]")
If ($overlay_handle And WinExists($overlay_handle)) Then
Local $iTransColor, $iAlpha
$iInfo = _WinAPI_GetLayeredWindowAttributes($overlay_handle, $iTransColor, $iAlpha)
If ($iAlpha <= 100) Then
Sleep(3000)
_WinAPI_SetLayeredWindowAttributes($overlay_handle, $iTransColor, $myAlpha)
EndIf
EndIf
WEnd
; Вход в спящий режим
Func Suspend()
;_CloseIcarDS ()
EndFunc
; Выход из спящего режима
Func ResumeSuspend()
Sleep(100)
_BlueSoleilCS()
Sleep(1000)
If Not (ProcessExists('iCarDS.exe')) Then
Sleep(1000)
If @OSArch = "X86" Then
$ProgramFileDir = "C:\Program Files"
Else
$ProgramFileDir = "C:\Program Files (x86)"
Endif
Sleep(100)
ShellExecute($ProgramFileDir & "\TipTop software\iCar DS\iCarDS.exe")
Else
;_RadioUpd()
Sleep(100)
_restfoob()
Sleep(100)
_StartIcarDS()
;_restwifi()
Endif
EndFunc
Func _StartIcarDS()
If Not (ProcessExists('iCarDS.exe')) Then
If @OSArch = "X86" Then
$ProgramFileDir = "C:\Program Files"
Else
$ProgramFileDir = "C:\Program Files (x86)"
Endif
; Запускаем iCarDS
ShellExecute($ProgramFileDir & "\TipTop software\iCar DS\iCarDS.exe")
Endif
EndFunc
Func _CloseIcarDS()
Local $Class = '[Class:TSkinForm]', $Delay = Opt('WinWaitDelay', 0)
If WinExists($Class) Then
WinClose($Class)
Endif
EndFunc
Func _RadioUpd()
Sleep(2000)
If (ProcessExists('iCarDS.exe')) Then ;check icar
$RRSDK = ObjCreate("RoadRunner.SDK") ;create obj
;Media Source
; Media_s : 0 - Audio 1 - Radio 2 - TV 3 - Video 4 - DVD 5 - WinampRadio 6 - InternetRadio 7 - SkinMedia
Global $media_source = $RRSDK.getInfo("=$Media_s$");check media source
If ($media_source == 1) Then
ProcessClose('DSPlayer.exe');close proc
Sleep(100)
$RRSDK.execute("RADIO");call radio
Sleep(100)
$RRSDK.execute("plexec");call radio
Sleep(4000)
$RRSDK.execute("RADIO");call radio
Sleep(100)
$RRSDK.execute("plexec");call radio
EndIf
EndIf
EndFunc
Func _BlueSoleilCS()
If @OSArch = "X86" Then
$ProgramFileDir = "C:\Program Files"
Else
$ProgramFileDir = "C:\Program Files (x86)"
endif
; Перезапуск BlueSoleilCS
Run('taskkill /f /im BtTray.exe',"", @SW_HIDE)
Run('taskkill /f /im BlueSoleilCS.exe',"", @SW_HIDE)
Run('taskkill /f /im BsHelpCS.exe',"", @SW_HIDE)
Run('taskkill /f /im BsMobileCS.exe',"", @SW_HIDE)
Sleep(100)
ShellExecute($ProgramFileDir & "\IVT Corporation\BlueSoleil\BtTray.exe")
EndFunc
Func _restfoob()
ControlSend("[CLASS:{E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}]", "", "MegaPanelSplitterWindowContainer1", "{NUMPAD1}")
EndFunc
Func _restwifi()
$connect = _GetNetworkConnect()
If Not $connect Then
_RunDOS('netsh interface set interface "Беспроводная сеть" DISABLE') ; выкл "Local Area Connection"
Sleep(200)
_RunDOS('netsh interface set interface "Беспроводная сеть" ENABLE') ; вкл "Local Area Connection"
EndIf
EndFunc
Func _GetNetworkConnect()
Local Const $NETWORK_ALIVE_LAN = 0x1 ;net card connection
Local $aRet, $iResult
$aRet = DllCall("sensapi.dll", "int", "IsNetworkAlive", "int*", 0)
If BitAND($aRet[1], $NETWORK_ALIVE_LAN) Then $iResult &= "LAN connected" & @LF
Return $iResult
EndFunc
Func _AlreadyRunning()
If ProcessExists(@Scriptname) Then
$list = ProcessList()
for $i = 1 to $list[0][0]
If $list[$i][0] = @ScriptName And $list[$i][1] <> @AutoItPID Then
Exit
EndIf
Next
EndIf
EndFunc
3)
Цитата:
Сообщение от seriousstas
Vkey_ARDUINO.exe (AHK)- для эмуляции клавиш ARDUINO (без устройства) , использования хоткеев из вне (например для кнопок руля)
|
Объясни, этот "экзешник" мне нужно использовать или нет?
Я просто не вкурю это для корректной работы плагина iCarDuino и скомпилированого AHK (код ниже) или для чего то другого?
Код:
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
~f1::
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111111||OnDuinoKeyPress")
return
~f2::
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111112||OnDuinoKeyPress")
return
~f3::
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111113||OnDuinoKeyPress")
return
~f7::
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111114||OnDuinoKeyPress")
return
~f9::
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111115||OnDuinoKeyPress")
return
4)
Цитата:
Сообщение от seriousstas
Обновил так-же и сам Фубар (перезапуск и его версию) .
|
если ты обновил саму версию фубара, то чисдо добавления пару строк в код (для перезапуска) не обойтись же?
P.S. У тебя работает CityGuide и iCarDS... как ты победил то его? у меня (да и у многих на сколько я читал) связка iCar + CityGuide не работает (ошибка была в ситигиде)! Win 8 x64 стоит...
если можешь залей куда то CityGuide + карты (ключ активации у меня куплен, валяется без дела)
P.S.S> Ты проделываешь колосальную работу за что тебе просто !РИСПЕКТ!

рассписываешь всё очень развёрнуто, но оч много вариаций и всё спутано и легко потерятся (... часто не понятно что применять, а что пропустить.