Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Вопросы По WPI
Показать сообщение отдельно

Аватара для Pozia

Ветеран


Сообщения: 2756
Благодарности: 211

Профиль | Отправить PM | Цитировать


Решил свою проблему. Возможно еще кому поможет. Сейчас WPI запускается у меня на ура. Для этого на 13 минуте у меня срабатывает автоит скрипт содержания:

Код: Выделить весь код
#NOtrayIcon
#include <GuiConstantsEx.au3>
#include <ComboConstants.au3>
;

$sWPI_Drives = ""
$sSel_Drive = ""
$sFirst_Drive = ""

$sKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx"

$aDrives = DriveGetDrive("All")

RegWrite($sKey &"\910", "1", "REG_SZ", "REGEDIT /S " & @HomeDrive & "\HKLM.reg")
RegWrite($sKey &"\920", "" , "REG_SZ", "Перезагрузка...")
RegWrite($sKey &"\920", "1", "REG_SZ", "hidcon.exe Shutdown -r -f -t 0")
RegWrite($sKey &"\995", "1", "REG_SZ", @HomeDrive & "\WPI.exe")

;=============================================================================

For $i = 1 To $aDrives[0]
    If DriveStatus($aDrives[$i]) <> "READY" Then ContinueLoop

    If FileExists($aDrives[$i] & "\WPI\WPI.hta") Then
        If $sWPI_Drives = "" Then $sFirst_Drive = $aDrives[$i]
        $sWPI_Drives &= StringUpper($aDrives[$i]) & "|"
    EndIf
Next

$sWPI_Drives = StringRegExpReplace($sWPI_Drives, "\|+$", "")

If StringInStr($sWPI_Drives, "|") Then
    $hGUI = GUICreate("Выберите диск запуска WPI", 240, 50)
	
    $Drives_Combo = GUICtrlCreateCombo("", 20, 20, 40, 20, $CBS_DROPDOWNLIST)
    GUICtrlSetData(-1, $sWPI_Drives, $sFirst_Drive)

    $OK_Button = GUICtrlCreateButton("OK", 80, 19, 60, 25)
    $Cancel_Button = GUICtrlCreateButton("Cancel", 160, 19, 60, 25)

    GUISetState(@SW_SHOW, $hGUI)

    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE, $Cancel_Button
                Exit
            Case $OK_Button
                $sSel_Drive = GUICtrlRead($Drives_Combo)

                ExitLoop
        EndSwitch
    WEnd
ElseIf $sWPI_Drives <> "" Then
    $sSel_Drive = $sWPI_Drives
EndIf

If $sSel_Drive <> "" Then RegWrite($sKey & "\999", "1", "REG_SZ", $sSel_Drive & "\WPI\WPI.exe")
Скрипт можно конечно же упростить. Но главное что он делает выделил. То есть на 995 ключ назначается запуск самоудоляющегося файла с диска С (естественно он там должен уже быть) который вносит в реестр:

Код: Выделить весь код
Reg Add "HKCU\Software\Microsoft\Internet Explorer\Main" /v Disable Script Debugger /d "no" /F >Nul
Reg Add "HKCU\Software\Microsoft\Internet Explorer\Main" /v DisableScriptDebuggerIE /d "no" /F >Nul
exit
и только потом с ключа 999 запускается WPI. Также скрипт заменяет x-Reset от горы и перегружает комп. Без перезагрузки не тестил.

-------
Жизни вглядись в глаза: Это то, что ты всегда искал? Это то, что ты всегда хотел? Да или нет?


Отправлено: 18:21, 09-06-2009 | #1387

Название темы: Вопросы По WPI