WM_SETTEXT不适用于Internet Explorer

时间:2015-11-05 11:12:35

标签: c# internet-explorer automation postmessage

我需要向Internet Explorer窗口发送消息,我想登录到我的Gmail帐户。问题是ie在WM_SETTEXT事件中没有反应。

这是一个片段

IntPtr hWndIe = NativeMethods.FindWindow("IEFrame", null);
IntPtr hWndtab = NativeMethods.FindWindowEx(hWndIe, IntPtr.Zero, "Frame Tab", null);
IntPtr hWndtabw = NativeMethods.FindWindowEx(hWndtab, IntPtr.Zero, "TabWindowClass", null);
IntPtr hWndshell = NativeMethods.FindWindowEx(hWndtabw, IntPtr.Zero, "Shell DocObject View", null);
IntPtr hWndEdit = NativeMethods.FindWindowEx(hWndshell, IntPtr.Zero, "Internet Explorer_Server", null);

NativeMethods.PostMessage(hWndEdit, WM_KEYDOWN, Keys.Tab, IntPtr.Zero);
NativeMethods.SendMessage(hWndEdit, WM_SETTEXT, 0, "xxx@gmail.com");

同时

NativeMethods.PostMessage(hWndEdit, WM_KEYDOWN, Keys.B, IntPtr.Zero);

工作正常。

任何帮助都将不胜感激。

UPD:这是SendMessage user32dll on an internet explorer page一个类似的问题。解决方案是找到另一种方法。

0 个答案:

没有答案