向指定的窗口发送按键

文本程序最小化在任务栏,我想先让它最大化,然后发送剪切板的内容,再按快捷键保存,再把关了 。
我自己写的移动鼠标叉掉(关闭) ,不怎么准。
而且最大化有时机器卡了 很慢,发送就早了,后面就更不对了。
要最大化不然 没办法保存啊
有时间的写下代码

第1个回答  2008-02-12
如果只是发送数据的话,就没必要进行最大化及最小化操作。
发送数据的步骤如下:
1、用findwindow查找目标程序的主窗口的hwnd;
2、然后用findwindowex查找其中你要发送的某个控件的hwnd;
3、再用postmessage发送剪切板中的内容到目标控件;
4、再用用postmessage发送保存命令。
5、最后用postmessage发送关闭命令。
6、OK!祝你成功。
第2个回答  2008-02-12
使用sendmessage想记事本发送信息
即使最小化也没有问题的
不需要最大化
只不过发送时需要指定窗口的哦.
不管你窗口是最前还是后台运行本回答被提问者采纳
第3个回答  2008-02-14
Private Const WM_SYSCOMMAND = &H112

Private Const SC_MAXIMIZE = &HF030&

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_SETTEXT = &HC
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long

Private Sub Form_Load()
Dim clipT As String, hHd As Long, cHd As Long
clipT = Clipboard.GetText
hHd = FindWindow("Notepad", "readme22.txt - 记事本") '第二个参数是窗体的标题,自己看吧
'Debug.Print hHd
cHd = FindWindowEx(hHd, 0, "Edit", "")
Debug.Print cHd
SendMessage hHd, WM_SYSCOMMAND, SC_MAXIMIZE, 0
SendMessage cHd, WM_SETTEXT, 0, ByVal clipT
SendKeys "(^s)"
SendKeys "(%{F4})"
End Sub
第4个回答  2008-02-13
//我自己写的移动鼠标叉掉(关闭) ,不怎么准

可以发送alt+f4关闭

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网