0
我爲CreateWindowEx
API函數創建了一個包裝函數,並在VBScript中使用它。這是VBScript:當關閉創建的窗口時,Windows腳本主機終止
Dim Result, wcx(10) 'VARIANT ARRAY(10) - WNDCLASSEX
wcx(5) = WINAPI.WinAPI_LoadIcon(NULL, 32516) 'hIcon (IDI_INFORMATION)
wcx(6) = WINAPI.WinAPI_LoadCursor(NULL, 32649) 'hCursor (IDC_HAND)
wcx(7) = 3 'hbrBackground (COLOR_ACTIVECAPTION + 1)
wcx(9) = "DUMMY_CLASS" 'lpszClassName
wcx(10) = WINAPI.WinAPI_LoadIcon(NULL, 32516) 'hIconSm (SAME as hIcon)
'PASS THE VARIANT ARRAY TO THE WRAPPER FUNCTION
Result = WINAPI.WinAPI_RegisterClassEx(wcx)
Dim Style: Style = CLng(&H00CF0000) 'WS_OVERLAPPEDWINDOW
Dim ExStyle: ExStyle = CLng(&H00000100) 'WS_EX_WINDOWEDGE
If CLng(Result) > 0 Then
'CREATE THE WINDOW
Result = WINAPI.WinAPI_CreateWindowEx(ExStyle, "DUMMY_CLASS", "Hello World!", Style, 875, 6, 400, 300, NULL, NULL, NULL, NULL)
WINAPI.WinAPI_ShowWindow Result, 5
WScript.Echo "CreateWindowEx returned 0x" + CStr(UCase(Hex(Result)))
End If
窗口按預期創建並顯示正常。但我想知道爲什麼Windows腳本主機終止,當我點擊創建窗口的關閉按鈕。
我使用AutoIt測試CreateWindowEx
,當我關閉創建的窗口時,AutoIt3.exe沒有終止,並且它繼續運行腳本,與Windows Script Host不同。
即使我關閉了創建的窗口,我仍然希望保持Windows腳本宿主運行。
無論如何都無法實現我想要的,我想知道Windows Script Host發生這種情況的原因是什麼。