Hi, Guys.
I wrote the following program. It could not pass on Win8, but it can pass on
Win7.
It will try to simulate the action to click the Next button on an existing
dialog (I use JDK installation dialog).
I believe the issue comes from the statement
'win32gui.SendMessage(win32gui.GetParent(hButton), win32con.WM_COMMAND,
win32con.BN_CLICKED, hButton)'.
import win32gui
import win32con
import win32api
print "abc"
hWindow = win32gui.FindWindow('MsiDialogCloseClass', None)
if hWindow <> 0:
print hWindow
hButton = win32gui.FindWindowEx(hWindow, 0, 'Button', '&Next >')
if hButton <> 0:
print hButton
win32gui.SendMessage(win32gui.GetParent(hButton), win32con.WM_COMMAND,
win32con.BN_CLICKED, hButton)
else:
print "ghi"
else:
print "def"
However, I wrote another program to validate the SendMessage function.
It will try to add some texts into an existing Notepad program.
But it can get passed on both Win7 and Win8.
print "abc"
hWindow2 = win32gui.FindWindow('Notepad', None)
if hWindow2 <> 0:
print hWindow2
hEdit = win32gui.FindWindowEx(hWindow2, 0, 'Edit', None)
if hEdit <> 0:
print hEdit
win32gui.SendMessage(hEdit, win32con.WM_SETTEXT, None, 'hello, czk')
else:
print "ghi"
else:
print "def"
So I wonder whether it is caused by the reason that win32gui.SendMessage only
partially supports Win8?
As in my examples, you can see win32gui.SendMessage with parameter
win32con.WM_SETTEXT is OK while with parameters win32con.WM_COMMAND and
win32con.BN_CLICKED are not supporting win8.
It's only my guessing.
If anyone found I had typed some code wrong, please help to point out.
Thanks and Best Regards
_______________________________________________
python-win32 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-win32