目前代码通过但无数据发出,请教两个问题:
1. UserWrap.Register "user32.dll","PostMessage","i=llls","f=s", "r=l"中最后一个输入参数是s还是l?
2. call UserWrap.PostMessage(MyTurtle, &H4A, 100, MyData )应该如何调用才正确?
搞了3个小时未搞定这个VBS代码,还请多指导,谢谢!
添加copydata类模块
Public dwData
Public cbData
Public lpData
Private Sub Class_Initialize()
end sub
------------------------------------------
主函数:
Dim window1
Dim MyData
Dim UserWrap
Dim str
str = "123456789"
set MyData = new copydata
MyData.dwData = 0
MyData.cbData = 10
MyData.lpData = str
Set UserWrap = CreateObject("DynamicWrapper")
UserWrap.Register "user32.dll","FindWindow","i=ss","f=s", "r=l"
UserWrap.Register "user32.dll","PostMessage","i=llls","f=s", "r=l"
window1 = UserWrap.FindWindow(vbNullString, "Form")
call UserWrap.PostMessage(window1, &H4A, 100, MyData )
'&H4A,即0x4A,是WM_COPYDATA消息
[此贴子已经被作者于2015/6/16 16:00:15编辑过]
抱歉这个已经超出了我们的服务范围,我们无法准确为您提供该服务。
按照编程常理,给窗口发送文本消息,你应该使用SetWindowText函数的,WM_COPYDATA的模式我们没有用过的,您可以在GOOGLE搜索一下VBS的相关资料吧