Thanks again Tim G, Tim R and Mark M. Apparently the problem is a lot more involved than I had hoped/anticipated. Other than WHASUP and pywinauto, I'm also looking into AutoIt (http://www.autoitscript.com), seems I can put something together that's close to what I want without much difficulty. Hopefully i can find a little more time over the weekend to explore more.
Mark, thanks for the info. about AutoCAD class names. AutoIt comes with a tool which helps user to examine various info. about the active window, among which is the class name. I have been playing a bit with PyHook and I'm trying to write a small tool for AutoCAD with it. Not sure if I can pull through or not. Tim R, What do you mean by "installing" a Windows hook? Any example available? Regarding usability, now that you asked, i'm thinking i can't check the CapsLock for every 0.1 second, it should only be checked when the current application is changed. Once the user is using AutoCAD or Word and the CapsLock is pressed by the user, the program should not change the CapsLock status. For AutoCAD, what really matters is when user starts to edit TEXT/MTEXT or Block Attribute. So what the program really needs to wait is the windows related to such editings popping up. -- Kelie _______________________________________________ Python-win32 mailing list Python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32