J'ai créé une fonction wrapper pour la fonction API CreateWindowEx
et l'ai utilisée à partir d'un script VBScript. Voici le VBScript:Windows Script Host se termine à la fermeture de la fenêtre créée
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
La fenêtre crée comme prévu et s'affiche correctement. Mais je me demande pourquoi Windows Script Host se termine lorsque je clique sur le bouton de fermeture de la fenêtre créée.
Et j'ai testé CreateWindowEx
en utilisant AutoIt, quand j'ai fermé la fenêtre créée, AutoIt3.exe n'est pas terminé et il a continué à exécuter le script contrairement à Windows Script Host. J'aime maintenir Windows Script Host en cours même si je ferme la fenêtre créée.
N'y at-il pas de toute façon pour réaliser ce que je veux et je veux savoir quelle est la raison pour que cela se produise avec Windows Script Host.