| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 579 人关注过本帖
标题:各位好,小弟想学习编一个点击器!!
只看楼主 加入收藏
like0222
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-1-15
收藏
 问题点数:0 回复次数:6 
各位好,小弟想学习编一个点击器!!

开始我想的挺简单,以为用一个timer控件,设定一个时间点击就好了!试了一下不知怎么弄
我想在WINXP系统任何程序下,实现按键盘方向键,每隔几秒中按一下

我用VB6标准窗体试了一下
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Private Sub Timer1_Timer()

从这我以为给Keycode附值(方向左键为37,)就行呢!

End Sub



请给指出错误,谢谢!!

搜索更多相关主题的帖子: 学习 
2006-01-15 20:56
leon2
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:731
专家分:0
注 册:2005-3-18
收藏
得分:0 
KeyCode 本身就存储了按的键的键码。而且 Form_KeyDown 过程没有 End Sub。你不用给 KeyCode 赋值,只要检测它存储的是否为某个键的键值就可以了。
在 Form_KeyCode 里面写:

If KeyCode = 37 Then
Timer1.Enabled = True
Else
Timer1.Enabled = False
End If

然后再在 Timer1 里写移动控件的代码。
2006-01-15 21:01
like0222
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-1-15
收藏
得分:0 
我还是不明白,我想写一个只要打开程序什么情况下等同于一直按键盘(方向左键KEYCODE值为37)!


2楼说
在 Form_KeyCode 里面写:

If KeyCode = 37 Then
Timer1.Enabled = True
Else
Timer1.Enabled = False
End If

然后再在 Timer1 里写移动控件的代码。

我觉得这只是在按下键盘左键TIME1控件工作!
我想要的是打开程序,在运行别的程序时(如写字版等),等同与一直按着键盘(左键)!!

谢谢2楼!







2006-01-15 21:44
leon2
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:731
专家分:0
注 册:2005-3-18
收藏
得分:0 

哦,原来你是想要这样的效果。那么你就在 Timer 中写触发 Form_KeyDown 事件的代码吧。


Private Sub Timer1_Timer()
Form_KeyDown 37, 0
End Sub

[此贴子已经被作者于2006-1-15 22:00:55编辑过]

2006-01-15 22:01
like0222
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-1-15
收藏
得分:0 
不好意思再次打扰你,我试过了,这样运行会报错(函数没定义),而且在FORM最小化(失去焦点后)在别的程序上也不能用!我决的,我是个菜鸟,谢谢帮助!!


Private Sub Timer1_Timer()
Form_KeyDown 37, 0
End Sub
2006-01-15 22:44
leon2
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:731
专家分:0
注 册:2005-3-18
收藏
得分:0 

这个就不能依靠 Form_KeyDown 了,得用 API 函数。

Option Explicit

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) '一个可以实现模仿敲键的 API 函数,第一个参数指明按键的虚拟码,第三个参数指明的是按键的方式,其他的参数都不太重要
Private Const VK_LEFT = &H25 '表示"左箭头键",VK 是虚拟(Virtual)码的意思
Private Const KF_UP = &H8000 '表示"放开按键"

Private Sub Form_Load()
Timer1.Interval = 500 '每半秒触发一次 Timer 事件,即每半秒按一次键
End Sub

Private Sub Timer1_Timer()

keybd_event VK_LEFT, 0, 0, 0 '按下箭头键,第二个"0"表示"按下"
keybd_event VK_LEFT, 0, KF_UP, 0 '放开下箭头键

End Sub

2006-01-15 23:12
like0222
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-1-15
收藏
得分:0 
多谢多谢!!
明天我去买本WIN32 API的书好好学学!
2006-01-16 20:50
快速回复:各位好,小弟想学习编一个点击器!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022042 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved