/[cvs]/nfo/projects/mess/src/client/windows/reload_explorer.py
ViewVC logotype

Contents of /nfo/projects/mess/src/client/windows/reload_explorer.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (show annotations)
Sat Jun 3 23:11:13 2006 UTC (18 years, 1 month ago) by joko
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +1 -1 lines
File MIME type: text/x-python
updated

1 # ported from http://permalink.gmane.org/gmane.comp.python.windows/3801
2
3 import win32gui
4 import win32api
5 import time
6 import os
7
8 # send WM_QUIT to explorer - 18 == WM_QUIT
9 print "Shutting down Explorer"
10 try:
11 hwnd = win32gui.FindWindow('Progman', None)
12 win32api.PostMessage(hwnd, 18, 0, 0)
13 except:
14 None
15
16 # wait a while for it to exit - 10 seconds, checking twice/sec
17 print "Waiting for Explorer to exit"
18 for retryAttempt in range(1, 10): # 5 seconds
19 time.sleep(0.5)
20 try:
21 if win32gui.FindWindow('Progman', None) == 0: break
22 except:
23 None
24 time.sleep(2)
25
26 # explorer is dead - restart it (SW_SHOW=5)
27 print "Restarting Explorer"
28 #InstExec('explorer.exe', '', '', False, False, 5, errCode)
29 #os.system('explorer.exe')
30 os.system('start explorer.exe')
31 #os.spawnl(os.P_DETACH, 'c:\\windows\\explorer.exe', 'c:\\windows\\explorer.exe')
32 #os.execl('c:\\windows\\explorer.exe', 'c:\\windows\\explorer.exe')
33
34 # Now a few seconds to actually start - if we don't wait for this,
35 # then we may write the RunOnce keys before it has, causing
36 # explorer to process them as we are still installing (or just finished).
37 # Explorer processes the 'RunOnce' etc entries before creating its main window
38 print "Waiting for Explorer to start"
39 for retryAttempt in range(1, 20):
40 time.sleep(0.5)
41 if win32gui.FindWindow('Progman', None) != 0: break
42 # OK, explorer is back up

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed