
向指定的窗口发送按键
文本程序最小化在任务栏,我想先让它最大化,然后发送剪切板的内容,再按快捷键保存,再把关了。我自己写的移动鼠标叉掉(关闭),不怎么准。而且最大化有时机器卡了很慢,发送就早了...
文本程序最小化在任务栏,我想先让它最大化,然后发送剪切板的内容,再按快捷键保存,再把关了 。
我自己写的移动鼠标叉掉(关闭) ,不怎么准。
而且最大化有时机器卡了 很慢,发送就早了,后面就更不对了。
要最大化不然 没办法保存啊
有时间的写下代码 展开
我自己写的移动鼠标叉掉(关闭) ,不怎么准。
而且最大化有时机器卡了 很慢,发送就早了,后面就更不对了。
要最大化不然 没办法保存啊
有时间的写下代码 展开
4个回答
展开全部
如果只是发送数据的话,就没必要进行最大化及最小化操作。
发送数据的步骤如下:
1、用findwindow查找目标程序的主窗口的hwnd;
2、然后用findwindowex查找其中你要发送的某个控件的hwnd;
3、再用postmessage发送剪切板中的内容到目标控件;
4、再用用postmessage发送保存命令。
5、最后用postmessage发送关闭命令。
6、OK!祝你成功。
发送数据的步骤如下:
1、用findwindow查找目标程序的主窗口的hwnd;
2、然后用findwindowex查找其中你要发送的某个控件的hwnd;
3、再用postmessage发送剪切板中的内容到目标控件;
4、再用用postmessage发送保存命令。
5、最后用postmessage发送关闭命令。
6、OK!祝你成功。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用sendmessage想记事本发送信息
即使最小化也没有问题的
不需要最大化
只不过发送时需要指定窗口的哦.
不管你窗口是最前还是后台运行
即使最小化也没有问题的
不需要最大化
只不过发送时需要指定窗口的哦.
不管你窗口是最前还是后台运行
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//我自己写的移动鼠标叉掉(关闭) ,不怎么准
可以发送alt+f4关闭
可以发送alt+f4关闭
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询