Показать сообщение отдельно
Старый 23.12.2016, 18:46   #505
seriousstas
Бывалый писикарщик
 
Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
seriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant future
По умолчанию

Цитата:
Сообщение от Евген_21 Посмотреть сообщение
Пока как оболочку не хочу, сначала это все отлажу, сделаю архивчик системы а потом дальше буду продвигаться.
PHP код:
Тебе просто нужно добавить запуск Икара в Твой AHK [B]Vkey_iCarDUINO[/B], 
Вот с ним и возникали проблемы.
Добавь в шапку своего скрипта
Код:
Process, Exist, iCarDS.exe
IF errorlevel=0
icar := ComObjCreate("RideRunner.SDK")
(Создаешь объект это вызовет запуск Икара)
В реестр пиши этим :
icarDS+explorer+iCarDUINO+SUSPEND_REG.exe
А к Икару добавь
RUN_iCarDS_iCarDUINO_SUSPEND.exe

Пример запуска с повышением прав :
Код:
#NoTrayIcon
#SingleInstance force
SetTitleMatchMode, 2 
DetectHiddenWindows, On
RunAsAdmin()
Process, Exist, iCarDS.exe
IF errorlevel=0
icar := ComObjCreate("RideRunner.SDK")
~!f1::
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_111111101||OnDuinoKeyPress")
return
~!f2::
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_111111102||OnDuinoKeyPress")
return
~!f3::
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_111111103||OnDuinoKeyPress")
return
~!f9::
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_111111104||OnDuinoKeyPress")
return


;RunAs
RunAsAdmin() {
  Loop, %0%  ; For each parameter:
    {
      param := %A_Index%  ; Fetch the contents of the variable whose name is contained in A_Index.
      params .= A_Space . param
    }
  ShellExecute := A_IsUnicode ? "shell32\ShellExecute":"shell32\ShellExecuteA"
      
  if not A_IsAdmin
  {
      If A_IsCompiled
         DllCall(ShellExecute, uint, 0, str, "RunAs", str, A_ScriptFullPath, str, params , str, A_WorkingDir, int, 1)
      Else
         DllCall(ShellExecute, uint, 0, str, "RunAs", str, A_AhkPath, str, """" . A_ScriptFullPath . """" . A_Space . params, str, A_WorkingDir, int, 1)
      ExitApp
  }
}
ExitApp
После Икара догрузится стол - ты ничего не теряешь ,
вернуть всегда можно запустив explorer_REG.exe.
seriousstas вне форума   Ответить с цитированием