Hey all,
I'm trying to get system modal functionality like the UAC dialog.
According to http://developex.com/blog/system-modal-back/ the thing to
do is to create and switch to a new desktop.
Therefore, I'm doing:
hDeskOld=win32service.GetThreadDesktop(win32api.GetCurrentThreadId())
hDesk=win32service.CreateDesktop("SysModalDesktop",0,win32con.GENERIC_ALL,None)
hDesk.SwitchDesktop() # switch to the new desktop
try:
root=Tk()
app=SysmodalDialog(root,title,message,img)
app.mainloop()
except Exception,e:
print e
hDeskOld.SwitchDesktop() # switch back
hDesk.CloseDesktop() # done
The tk stuff inside the try works fine on its own.
If I replace the Tk stuff with time.sleep(5.0), then desktops switch
fine as well.
The problem is I can't get the tk app to show on the new desktop (and
therefore mainloop() blocks and I can't get back out of it!)
I tried changing Tk() to Tk(screenName="SysModalDesktop") but that
didn't make a difference.
How do I make my window go to the right desktop??
-Kurt
_______________________________________________
python-win32 mailing list
python-win32@python.org
https://mail.python.org/mailman/listinfo/python-win32