Показать сообщение отдельно
Старый 25.12.2016, 05:50   #524
shumaz
Старший Пользователь
 
Регистрация: 27.08.2015
Регион: Украина
Сообщений: 289
shumaz is on a distinguished road
Thumbs up

Цитата:
Сообщение от 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> Ты проделываешь колосальную работу за что тебе просто !РИСПЕКТ!
рассписываешь всё очень развёрнуто, но оч много вариаций и всё спутано и легко потерятся (... часто не понятно что применять, а что пропустить.
shumaz вне форума   Ответить с цитированием