下面是VB.net的代码 和VB的区别在于数据类型 vb中long是4byte,vb.net中间Integer是4byte 用的时候写法要互相转换一下 不放心的话可以都写成Int32原文链接:https://www.f2er.com/vb/259945.html
- PublicClassForm1
- PrivateDeclareFunctionFindWindowLib"user32"Alias"FindWindowA"(ByVallpClassNameAsString,ByVallpWindowNameAsString)AsInteger
- PrivateDeclareFunctionFindWindowExLib"user32"Alias"FindWindowExA"(ByValhWnd1AsLong,ByValhWnd2AsLong,ByVallpsz1AsString,ByVallpsz2AsString)AsInteger
- PrivateDeclareFunctionSendMessageLib"user32"Alias"SendMessageA"(ByValhwndAsInt32,ByValwMsgAsInt32,ByValwParamAsInt32,ByVallParamAsInt32)AsInt32
- PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
- DimmyhwndAsInteger
- DimsubHwndAsInteger
- myhwnd=FindWindow("Notepad","test.txt-メモ�")
- subHwnd=FindWindowEx(myhwnd,"Edit",0)
- SendMessage(subHwnd,&H302,0)
- 'MsgBox(subHwnd)
- EndSub
- EndClass
- myhwnd=FindWindow("Notepad","test.txt-メモ�")
FindWindow查找窗口句柄
两个参数,第一个是类名,第二个是窗口的标题,返回值是窗口句柄
不清楚的情况下,两个参数中间的一个可以设成0FindWindowEx查找子窗口句柄 4个参数, 第一个是父窗口句柄, 第二个是子窗口次序(父窗口下第几个子窗口), 第三个是子窗口类型, 第四个是子窗口名字
- subHwnd=FindWindowEx(myhwnd,"Edit",0)
SendMessage将指定的消息发送到一个或多个窗口 此函数太过于强大,不多做解释
- SendMessage(subHwnd,0)
总之消息不是普通的字符串, 而是包括鼠标,键盘等一切消息 这里&H302消息为粘贴到指定句柄