lihonggen0你好:
我做一个程序是用于自动复制阿里旺旺聊天窗体的内容(是指实时显示聊天文字的那个窗体,不是文字输入框),我已经获得该聊天显示控件RichEdit20A的句柄,可是接下去写sendmessage()函数发消息EM_GETTEXTEX消息到那个RichEdit20A时,不明白sendmessage()函数在发送EM_GETTEXTEX消息时,wParam和lParam两个参数是代表什么意思?虽然看了很多资料还有愚钝不是很明白,查了google,baidu都查不到详细的说明和实例,那是相当郁闷,所以想求教下您,谢谢了!
还有网上找了很多资料,不过都是c或者c++的资料,里面有GETTEXTEX对象。在vb中怎么样才能用这个对象,要重新用一个结构体定义这个对象,还是引用哪个dll就OK,就可以正常使用GETTEXTEX这个对象呢?还有GETTEXTEX里面成员(cb、flags、codepage、lpDefaultChar、lpUsedDefChar)的值在sendmessage()函数发送EM_GETTEXTEX消息时各是什么意思?以下是网上找到的C++的代码:
TCHAR buf[200];
GETTEXTEX gt;
gt.cb=200;
gt.flags=GT_DEFAULT;
gt.codepage=CP_ACP;
gt.lpDefaultChar=NULL;
gt.lpUsedDefChar=NULL;
SendMessage(hEdit,EM_GETTEXTEX,(WPARAM)>,(LPARAM)buf);
红色标记的地方我就是看不懂什么意思?假设已知RichEdit20A句柄,程序复制RichEdit20A中的内容在vb中语句应该是怎么样的写法,最好能有实例,写出语句给我看下,谢谢了,希望你知道话能帮下忙!
我做一个程序是用于自动复制阿里旺旺聊天窗体的内容(是指实时显示聊天文字的那个窗体,不是文字输入框),我已经获得该聊天显示控件RichEdit20A的句柄,可是接下去写sendmessage()函数发消息EM_GETTEXTEX消息到那个RichEdit20A时,不明白sendmessage()函数在发送EM_GETTEXTEX消息时,wParam和lParam两个参数是代表什么意思?虽然看了很多资料还有愚钝不是很明白,查了google,baidu都查不到详细的说明和实例,那是相当郁闷,所以想求教下您,谢谢了!
还有网上找了很多资料,不过都是c或者c++的资料,里面有GETTEXTEX对象。在vb中怎么样才能用这个对象,要重新用一个结构体定义这个对象,还是引用哪个dll就OK,就可以正常使用GETTEXTEX这个对象呢?还有GETTEXTEX里面成员(cb、flags、codepage、lpDefaultChar、lpUsedDefChar)的值在sendmessage()函数发送EM_GETTEXTEX消息时各是什么意思?以下是网上找到的C++的代码:
TCHAR buf[200];
GETTEXTEX gt;
gt.cb=200;
gt.flags=GT_DEFAULT;
gt.codepage=CP_ACP;
gt.lpDefaultChar=NULL;
gt.lpUsedDefChar=NULL;
SendMessage(hEdit,EM_GETTEXTEX,(WPARAM)>,(LPARAM)buf);
红色标记的地方我就是看不懂什么意思?假设已知RichEdit20A句柄,程序复制RichEdit20A中的内容在vb中语句应该是怎么样的写法,最好能有实例,写出语句给我看下,谢谢了,希望你知道话能帮下忙!
解决方案 »
- 在线等,急~~~
- 怎样才能把"表情"(一个gif文件),放到TextBox控键中去啊!!!急急急!
- 集合对象里不能添加type类型变量????
- 关于VB中的CreateObject("Scripting.FileSystemObject") 方面
- 请帮我看一下图上的功能怎样才能实现,谢谢指点,解决就放分了
- 请问:我使用Datareport时为什么每页只能显示一条记录呀?
- :菜鸟求救--麻烦大虾帮我调试一个小程序。
- 这么去掉activebar控件中toolbar对象的标题栏目
- 取字符串s
- 求救!如何直接写BMP文件?
- MSFlexGrid 指定单元格背景颜色更改
- 分析从GPS接收的数据,航向角及方位角
cb As Long
flags As Long
codepage As Long
lpDefaultChar As Long
lpUsedDefChar As Long
End TypePrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As LongPrivate Declare Function GetLastError Lib "kernel32" () As Long
Private Sub Command1_Click()
Dim buf As String
Dim gt As GETEXTEX
buf = Space(240)
RichTextBox1.Text = "测试数据总共二十四个字节"
gt.cb = 24
gt.flags = 0
gt.codepage = 1200
gt.lpDefaultChar = 0
gt.lpUsedDefChar = 0 Call SendMessage(ByVal RichTextBox1.hwnd, ByVal 1118&, ByVal VarPtr(gt), ByVal StrPtr(buf))
MsgBox GetLastError
MsgBox buf
End Sub
很感谢你帮助,能说明下上面一句中红色标记的地方是什么意思吗,1118&,我运行了上面代码,剪切板没有复制的内容,感觉这样的效果和buf=RichTextBox1.Text,然后msgbox buf是一样的。因为我复制内容后,还要粘贴到另一个程序的RichEdit20A的输入框中,所以剪切板要有复制的内容,或者不采用这种方法,也可以直接将buf中的内容直接通过sengmessage()发送到另一个程序的RichEdit20A的输入框中,也OK的,这点我自己先试试。主要还是不明白上面标记红色地方是什么意思“1118&”
你也可以先定义
const EM_GETTEXTEX = 1118&
然后使用EM_GETTEXTEX.使用API,建议去查MSDN。