HTA в WinPE - событие Button OnClick не работает

У меня есть очень простой код HTA, который создает меню при работе под WinPE 5.1, в основном это просто 5 кнопок на экране, каждая кнопка должна вызывать файл CMD, однако ничего не происходит.

    <head>
<title>Recovery</title>
<HTA:APPLICATION 
     APPLICATIONNAME="Recovery"
     SCROLL="no"
     SINGLEINSTANCE="yes"
     WINDOWSTATE="maximize"
     maximizeButton="no"
     minimizeButton="no"
     icon="HTA\sbicon.ico"

>
</head>

<script language="VBScript">

    'Sub Window_onLoad
        'window.resizeTo 400,250
    'End Sub        

    Sub Createimage
       Set WshShell = CreateObject("WScript.Shell")
       WshShell.Run "x:\windows\system32\cmd.exe /c START /MIN image.cmd", 1 ,TRUE
    End Sub
   </script>

   <script language="VBScript">
    Sub RecoverPart
        Set WshShell = CreateObject("WScript.Shell")
       WshShell.Run "x:\windows\system32\cmd.exe /c START /MIN part.cmd", 1 ,True
    End Sub
   </script>

   <script language="VBScript">
    Sub RecoverUSB
        Set WshShell = CreateObject("WScript.Shell")
       WshShell.Run "x:\windows\system32\cmd.exe /c START /MIN usb.cmd", 1 ,TRUE
    End Sub
   </script>

   <script language="VBScript">
    Sub Reboot
        Set WshShell = CreateObject("WScript.Shell")
       WshShell.Run "X:\windows\system32\cmd.exe /c START /MIN restart.cmd", 1 ,TRUE
    End Sub
   </script>

   <script language="VBScript">
    Sub Shutdown
        Set WshShell = CreateObject("WScript.Shell")
       WshShell.Run "x:\windows\system32\cmd.exe /c START /MIN shutdwn.cmd", 1 ,TRUE
    End Sub

</script>

<body bgcolor="#003E67">

    <center><img src="HTA\Smartbox2.jpg"/>

    <br><br><br>
    <input type="button" value="Create Image" name="run_button"  onClick="Createimage" style="Width: 300px; height: 75px; font-family: roboto; font-size: 25px;"><br><br>
    <input type="button" value="Recover From Partition" name="run_button"  onClick="RecoverPart" style="Width: 300px; height: 75px; font-family: roboto; font-size: 25px;"><br><br>
    <input type="button" value="Recover From USB" name="run_button"  onClick="RecoverUSB" style="Width: 300px; height: 75px; font-family: roboto; font-size: 25px;"><br><br>
    <input type="button" value="Restart Device" name="run_button"  onClick="Reboot" style="Width: 300px; height: 75px; font-family: roboto; font-size: 25px;"><br><br>
    <input type="button" value="Shutdown Device" name="run_button"  onClick="Shutdown" style="Width: 300px; height: 75px; font-family: roboto; font-size: 25px;"><br><br></Center>
</body>

Любая помощь будет полезна в запуске CMD.

С уважением

C.

1 ответ

Это работает для меня. Я должен был изменить X на C, чтобы запустить CMD. Я поменял свой на WshShell.Run "%systemroot%\system32\cmd.exe

Незначительные вещи: вам не хватает начала и конца <html> (это может быть редактор кода, делающий это), и я бы также поставил точку в конце после всех сценариев. Я бы также предложил Set WshShell = Nothing в конце каждого Sub. Также не уверен, почему вы создали раздел сценариев вокруг каждого Sub вместо одного большого, но это не повредит тому, что я знаю.

<html>
<head>    
<HTA:APPLICATION 
    APPLICATIONNAME="Recovery"
    SCROLL="no"
    SINGLEINSTANCE="yes"
    WINDOWSTATE="maximize"
    maximizeButton="no"
    minimizeButton="no"
    icon="HTA\sbicon.ico"
    >
<title>Recovery</title>
<script>
...
</script>
</head>
Другие вопросы по тегам