vb 检测鼠标是否按下,如果按下则停止程序

VB检测鼠标是否按下,如果按下则停止程序这个程序是从文件读数据,文件中有1900000个数据,然后读125个发数据并画图。Foriu=0To1900000Step3X=X... VB检测鼠标是否按下,如果按下则停止程序
这个程序是从文件读数据,文件中有1900000 个数据,然后读125个发数据并画图。
For iu = 0 To 1900000 Step 3
X = X + 1
C1 = X / 125
If C1 = Int(C1) Then '取所要取得的字节的倍数。
For xx = 0 To 24
DispData = b2(xx)
Call AdVance
Next xx
Call Senddata
For xx = 25 To 124
DispData = b2(xx)
Call AdVance
Next xx
《 'Call 检测鼠标是否按下,如果按下则停止程序。》
End If
Next iu
现在是程序一直跑直到文件读完,中间想操作让她停下来,无法操作。
就是鼠标在程序上操作不了,查了下资料说用Hook.DLL可以解决,但是不会用。不知道怎么样把《 'Call 检测鼠标是否按下,如果按下则停止程序。》写出来.
高手们指点.
展开
 我来答
flowerandsun
2011-06-12 · TA获得超过899个赞
知道答主
回答量:130
采纳率:0%
帮助的人:83.9万
展开全部
想让我给你写的话,是要银子的,应为按键精灵的精华都在这个小小的函数中,你看过后就会明白怎么写按键挂,不过可以给你提示一下, Call AdVance这个函数时,可以在这个函数中做文章,
比如在函数中用API查看鼠标是否按下,VB也有这样的函数,不过没有API好而已,若按下则去处理想应的过程,没有则反回继续
更多追问追答
追问
多少银子?QQ:519811010.郁闷真不知道怎么整了.
追答
可怜的人,我给你说个API函数,想你会用这些吧,
GetAsyncKeyState
用它可以取得键盘和鼠标的按键情况,好好用吧,超有用的,
我的QQ390539311
不过你要说明你是什么人,为什么加我,不然会被踢的,而且我不一定有时间帮你噢,哈哈
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
maxislin
2011-06-13
知道答主
回答量:46
采纳率:0%
帮助的人:29.2万
展开全部
可以在你需要的地方加入 doevent,以将控制权交还用户,此时可以响应mousedown,或点击“停止按钮”
更多追问追答
追问
能给点代码提示不?不会用那个doevent,在网上找的doevent,用在程序里边不起作用。
追答
复制粘贴vb的帮助给你吧,代码我验证过了!

使用 DoEvents

尽管 Timer 事件是后台处理的最好工具,对耗时极多的任务,情况更是如此,但是,DoEvents 函数还是提供了一种取消任务的简便方法。例如,下列代码将显示一个 "Process" 按钮,单击这个按钮时,它将变成 "Cancel" 按钮。再次单击按钮又将中断正在执行的任务。

'此按钮最初的标题是 "Process"。
Private Sub Command1_Click()
'过程的所有实例都
'共享静态变量。
Static blnProcessing As Boolean
Dim lngCt As Long
Dim intYieldCt As Integer
Dim dblDummy As Double
'按下按钮时,检测是否
'已经在处理。
If blnProcessing Then
'如果正在处理,则取消处理。
blnProcessing = False
Else
Command1.Caption = "Cancel"
blnProcessing = True
lngCt = 0
'执行一百万次浮点
'乘法计算。每一千次后,
'检测是否要取消。
Do While blnProcessing And (lngCt < 100000000)
For intYieldCt = 1 To 1000
lngCt = lngCt + 1
dblDummy = lngCt * 3.14159
Next intYieldCt
'DoEvents 语句允许其它事件
'发生,包括第二次
'按此按钮。
DoEvents
Loop
blnProcessing = False
Command1.Caption = "Process"
MsgBox lngCt & " multiplications were performed"
End If
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sqldelphi
2011-06-14 · 超过13用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:21.4万
展开全部
用多线程
单线程不容易停
追问
没研究出来,能给点例子不,十分感谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
干吗寻找周杰伦
2011-06-13 · TA获得超过1805个赞
知道小有建树答主
回答量:1949
采纳率:0%
帮助的人:688万
展开全部
为什么不用 控件的mousedown事件呢?
追问
程序一直在运行,控件的mousedown事件根本不起作用。
追答
在循环当中,加上对系统消息的判断即可。实际上一个Doevent就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式