2010-12-07 53 views
0
uint x = 0x00000001; 
uint y = 0x00FF00FD; 
NativeMethods.PostMessage(hwnd, NativeMethods.WM_LBUTTONDOWN, x, y); 
NativeMethods.PostMessage(hwnd, NativeMethods.WM_LBUTTONUP, x, y); 

使用上述语句,我可以点击外部窗口应用程序上的选定区域。现在,我需要发送一个ctrla + ctrlc到窗口。Win32 API - Ctrl A + Ctrl C

你能告诉我如何使用Win32 API来做到这一点。

回答

1

发送一个WM_GETTEXT以获得窗口中的实际文字,你不会更好地服务吗?依靠鼠标/键盘仿真的应用程序最好是脆弱的。

+0

NativeMethods.AttachThreadInput(processId,currentThreadId,true); int focussed = NativeMethods.GetFocus(); StringBuilder builder = new StringBuilder(500); NativeMethods.SendMessage(focussed,WM_GETTEXT,builder.Capacity,builder); – Gooose 2010-12-07 04:34:53