VB 使用SendMessage获取外部程序的listView内容

VB 使用SendMessage获取外部程序的listView内容,第1张

'获取控件的内容Option ExplicitPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPrivate Const WM_GETTEXT = HDPrivate Const WM_GETTEXTLENGTH = HEPublic Function GetTextString(ByVal lyHwnd As Long) As StringDim GetSAs StringDim SLenAs LongSLen = SendMessage(lyHwnd, WM_GETTEXTLENGTH, 0, 0)If SLen = 0 Then Exit FunctionSLen = SLen + 1GetS = Space(SLen)SLen = SendMessage(lyHwnd, WM_GETTEXT, SLen, ByVal GetS)GetTextString = Left(GetS, SLen)End Function 控件的句柄你应该能获取到,所以不说了

postmessage和sendmessage

两个是程序间互相通知的消息,不能建立/打开新程序的....

你用shell,shellexecute有时候打开不了应该是因为路径的问题,你应该选的不是完全路径,

"a.exe"

如果你执行的程序没有这个就打开失败的.

方法一,你用完全路径打开a.exe

如把路径改成如此

"d:\program

filse\a.exe"

方法二,你的程序和a.exe放同一个目录,这样你用a.exe

可以访问到

方法三(不建议),在计算机里环境变量里面设置PATH目标路径

声明API

private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long

Const BM_CLICK = &HF5

'应用

private sub command1_click()

dim chwnd as long

chwnd=按钮句柄

SendMessage chwnd, BM_CLICK, 0&, 0&'点击 *** 作

end sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12050150.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存