注册 登录
编程论坛 VB6论坛

求助一个VB粘贴的问题!

lzb3158 发布于 2015-05-31 20:18, 475 次点击
想用VB做一个可以再任何程序文件窗口粘贴固定内容的软件,就是不知道怎么写,求助代码!  我的意思是在程序文件的界面上有一个text1  内容为“你好!”当我启动软件后 通过计时器 每隔1分钟向目标窗口发送一次,比如 向QQ聊天窗口里粘贴好text1的内容 并且自动按回车键  如此循环。求助代码,谢谢各位老师。
Private Sub Timer1_Timer()
Clipboard.Clear
Clipboard.SetText ("2009")
Text1.SelText = Clipboard.GetText(vbCFText)

End Sub


以上就可以在控件上显示,但是自动粘贴到记事本,或者QQ聊天窗口怎么写。

[ 本帖最后由 lzb3158 于 2015-6-1 00:11 编辑 ]
3 回复
#2
lianyicq2015-06-01 09:14
如果向任意已知句柄的控件发送信息,可以了解sendmessage这个API.
很早以前用老版本QQ时我试过,粘和抓文本都没问题,因为那时的聊天对话框的句柄能被搜索到.但涉及到安全问题,现在的QQ绝不是如此简单的放一个控件来输入和显示文本和图形信息.
你可以用微软的spy++来试试看.
#3
lzb31582015-06-01 11:36
回复 2楼 lianyicq
请问版主?  粘贴在 记事本 上可以吗?怎么实现?
#4
lianyicq2015-06-01 14:06
回复 3楼 lzb3158
网上关于sendmessage发送文本信息的内容太多了。
实现也很容易,如果是操作记事本,用3个API和1个常数申明。自己花点时间在网上查查资料。
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 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 Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Const WM_SETTEXT = &HC

1