懂VB的帮我写一段代码。很简单的。先谢谢了。

运行VB程序后要达到以下目的: 程序有一个文本框,文本框中的文字为A。按下Esc键,系统自动完成以下动作,模拟手工键入回车,输入你好A,回车。 谢谢各位了!
看要求:

生成一个exe程序。上面有一个text文本框

我,在这个text中文本框中任意输入文字(现在举例,假如是“小李”)
然后,不管这个exe程序了。懂?

我进入一个论坛回复帖子,按下Esc键。系统就帮我打字。帮我打字!打字的内容是什么呢?是什么呢?就是“你好 小李”
我在玩游戏,在游戏里和网友聊天,按下Esc键也可以达到一样的效果。明白了么?就是不管我在哪按下Esc键,系统都帮我打出这几个字来。

我纠结

我来理解一下你的意思,看对不对。
首先,程序要有这么一个功能:可以在一个文本框里输入一段文字,比如你和小李聊天,你就输入他的名字,当然别的字也可。
其次,这个程序还具有键盘捕捉功能,也就是说,无论你在什么应用程序里面操作时按下Esc键你写的这个程序都有能响应,对不对?比如说在QQ里面和我聊天,它也能响应ESC键?
第三,它还能产生一段预先设定好的文字,和你在程序里面输入的文字组合,形成一段新的文字是不是?
第四,它还能将这段文字自动填入你当前正在操纵的其它程序里面的文字输入界面中是不是?
用一个完整的例子来说明一下:
假定我们俩个在网上下棋,
开局前你在这个程序里写入我的名字“乐游原上的歌者”。
然后我们进入棋局开始下棋。(此时你写的这个程序并没有关闭,但我们已离开这个界面而处在下棋的界面了)
下了一会你不高兴了,于是你立马按下Esc键(就在下棋的界面里,而不必进入你写的这个程序),于是,下棋的界面上的对话框里出现了“臭棋蒌子,乐游原上的歌者”(你好和臭棋蒌子都是字符,其实没区别)
然后,你把这句话发给了我(就在下棋的界面里)。
是不是这么一个程序。
如果是,前三步都好实现,完全就是一个简版的间谍程序,躲在后端,偷偷摸摸地侦测别人的键盘输入。
第四步不会,你怎么知道每一个游戏软件的接口?
在WORD中可以实现,记事本中也可以,微软的很多软件都可以,因为他的接口是公开了的.
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-04
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) '这是延时的api不想要可以不用
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 27 Then '如果按下ESC
Text1 = ""
SendKeys "{ENTER}"
SendKeys "你"
Sleep 300 '延时300毫秒
DoEvents
SendKeys "好"
Sleep 300 '延时300毫秒
DoEvents
SendKeys "A"
Sleep 300 '延时300毫秒
DoEvents
SendKeys "{ENTER}"
End If
End Sub

记得采纳~追问

看要求:

生成一个exe程序。上面有一个text文本框

我,在这个text中文本框中任意输入文字(现在举例,假如是“小李”)
然后,不管这个exe程序了。懂?

我进入一个论坛回复帖子,按下Esc键。系统就帮我打字。帮我打字!打字的内容是什么呢?是什么呢?就是“你好 小李”
我在玩游戏,在游戏里和网友聊天,按下Esc键也可以达到一样的效果。明白了么?就是不管我在哪按下Esc键,系统都帮我打出这几个字来。

我纠结

追答

……你也不说清楚
你去查一下API函数RegisterHotkey和UnRegisterHotkey和keybd_event
就用这三个就可以了

本回答被提问者采纳
第2个回答  2011-09-04
添加一个文本框,把MultiLine属性设置为True
Private Sub Form_Load()
Text1.Text = "A"
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 27 Then
SendKeys "{enter}你好A{enter}"
End If
End Sub追问

你好。这样子的话“你好A”这句话是输出在程序的text中的。我需要的事输入在其他地方。比如我打开程序后,选择一个word文档,按Esc键,在wod文档上输出这句话。另外,A并不一定是A,是我使用程序时在text中输入的内容 谢谢了!

追答

这我也做不到,只能做到在窗体上按下“Esc”键5秒后输出
Private Declare Sub Sleep Lib "Kernel32.DLL" (ByVal a As Long)
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 27 Then
a = 1000
Sleep a * 5 '这是延时5秒,可以把“5”调节成任何秒数
SendKeys "{enter}你好A{enter}"
End If
End Sub

第3个回答  2011-09-04
你这个为什么不用ctrl+c和ctrl+v,一样的效果啊。。。
第4个回答  2011-09-08
我有写过的

会VB的快进来帮我写下代码,十分感谢!
5.Private Sub Command4_Click()text1.passwordchar="*"end sub

VB的一个程序,帮忙编一下,谢谢
Private Sub Command1_Click() '倒三角形 Dim S As String, i As Integer, n As Integer S = "*"n = InputBox("输入要打印的行数:")For i = n To 1 Step -1 Print Space(n - i) + String(2 * i - 1, S)Next i End Sub Private Sub Command2_Click()Dim S As String,...

VB如何编写简单弹出对话框的代码?
代码如下:Private Sub Command1_Click()x = MsgBox("确定要退出吗?", vbYesNo, "提示")If x = vbYes ThenEndEnd IfEnd Sub 希望能帮助到你 不懂请追问。 本回答被网友采纳 热心网友| 推荐于2017-12-15 12:14:20 举报| 评论 6 12 Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode A...

VB编写程序。。。求求大家帮忙
dim a(96) as string,i as integer,k as integer k=101 for i=0 to 45 a(i)="0843" + cstr(k)k=k+1 if k=102 then k=k+1 if k=103 then k=k+1 if k=104 then k=k+1 if k=106 then k=k+1 if k=135 then k=k+1 if k=147 then k=k+1 next i k=201 for...

简单的VB代码
根据程序代码执行的流程,对变量x,y,z跟踪如下;首先:y = 0,x = CDbl(sr.ReadLine)这里读取文件的第一行,保存到变量x,所以:x = 3 执行循环 Do While x < 5 If x = 4 Then sr.Close()sr = IO.File.OpenText("data1.txt")End If z = x + y x = CDbl(sr.ReadLine)y = ...

VB编程代码怎么写
Next j End If Print Next iEnd SubPrivate Sub Command2_Click() CurrentY = 0 Dim a(8) As String, b(8) As String For i = LBound(a) To UBound(a) If i <= 4 Then a(i) = String(2 * i + 1, "*") b(i) = Space(25 - i) Else a(...

VB简易程序设计代码
Private Sub Command1_Click()Text1.Text = "程序设计第一步:设计界面"End Sub Private Sub Command2_Click()Text1.Text = "程序设计第二步:属性设置"End Sub Private Sub Command3_Click()Text1.Text = "程序设计第三步:编写代码"End Sub 题目三:Private Sub Command1_Click()Text1....

用VB写一个小程序.
vb6代码如下,添加模块,工程--属性--启动对象选择sub main Sub main()Open "c:\\temp\\25.txt" For Input As #1 Clipboard.Clear Clipboard.SetText StrConv(InputB(LOF(1), 1), vbUnicode)End Sub

请老师帮我写段VBA代码,谢谢。
re = .UsedRange.Rows.Count + .UsedRange.Row - 1 If re < Rng.Row Then MsgBox "条件列内无数据", vbCritical: Exit Sub col = Rng.Column For Each c In .Range(Rng, .Cells(re, col))If c.Value <> "" Then tmp = IIf(c.Row Mod 2, vbGreen, vbYellow)iRng.Rows(c.Row)...

跪求VB大师进 很简单的 在线等!!
x=mid(a,2,2)=bb y=left(a,2)=ab z=right(a,2)=ba 最后一句Z=ucase(x&y&z)连接上面几个再转大写,所以是BBABBA 2。主要是这段:x=1 For i=1 To 3 If i<=1 then a=x*x If i<=2 then a=x*x+1 If i>=3 then a=x*x=2 ???会不会打错了是a=x*x+2 print ...

相似回答