\r
import globalVars\r
import _winreg\r
+import ctypes\r
+import ctypes.wintypes\r
from copy import deepcopy\r
import os\r
import sys\r
shellapi.ShellExecuteEx(sei)\r
if wait:\r
try:\r
- winKernel.waitForSingleObject(sei.hProcess, winKernel.INFINITE)\r
+ h=ctypes.wintypes.HANDLE(sei.hProcess)\r
+ msg=ctypes.wintypes.MSG()\r
+ while ctypes.windll.user32.MsgWaitForMultipleObjects(1,ctypes.byref(h),False,-1,255)==1:\r
+ while ctypes.windll.user32.PeekMessageW(ctypes.byref(msg),None,0,0,1):\r
+ ctypes.windll.user32.TranslateMessage(ctypes.byref(msg))\r
+ ctypes.windll.user32.DispatchMessageW(ctypes.byref(msg))\r
return winKernel.GetExitCodeProcess(sei.hProcess)\r
finally:\r
winKernel.closeHandle(sei.hProcess)\r