!!!!!!!!!!转让控制权的问题(加分中……)!!!!!!!!!!

NIRVANAIII 2002-07-21 01:29:40
怎样比较可靠的转让控制权。
Doevents有点跟不上要求。

举个例子:用VB控制让QQ连续发100个条信息,在网速较快的情况下Doevents还凑合,但只要稍有一些慢,绝对保证不了能发出100条,是吧?
还以这个为例提出设想,当发出一条信息后Hook住QQ,等发送一条记录成功后,在返回。这里又要用AddressOf了,实现器来太麻烦了,而且系统下降。

还有更简单的办法吗?

还有,当让一个模块去执行了,半截想令其停止怎么做?


解决问题,高分相赠(你开价)
...全文
66 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
NIRVANAIII 2002-09-20
  • 打赏
  • 举报
回复
UP
fontz 2002-07-21
  • 打赏
  • 举报
回复
13
limengchen 2002-07-21
  • 打赏
  • 举报
回复
在窗体上放一个控件,Name属性设为cmdCancel,caption属性设为cancel,代码如下
private blnCancel as boolean0D
private sub SendMessageByQQ(...)
dim i as integer
for i=1 to 100
... '发送一条信息
doevents
if blnCancel then exit sub0D next i
end sub

private sub cmdCancel_Click()0D blnCancel=true
end sub
Chice_wxg 2002-07-21
  • 打赏
  • 举报
回复
自己加控制代码
NIRVANAIII 2002-07-21
  • 打赏
  • 举报
回复









当让一个模块去执行了,半截想令其停止怎么做?












Chice_wxg 2002-07-21
  • 打赏
  • 举报
回复
竟然打错了~~~~~


Do While True
If (GetWindowLong(hTextWnd, GWL_STYLE) And ES_READONLY) <> ES_READONLY Then
上一条消息发送完毕,可以发送下一条了
End If
DoEvents
Loop
Chice_wxg 2002-07-21
  • 打赏
  • 举报
回复


我只想到这种办法:

Do While True
If (GetWindowLong(hTextWnd, GWL_STYLE) And ES_READONLY) = ES_READONLY Then
上一条消息发送完毕,可以发送下一条了
End If
DoEvents
Loop



你需要先找到QQ聊天窗口输入框(其实是RichEdit)的句柄,hTextWnd



现在我再赚分也没意义了,2个星星很难再升级 ^_^
NIRVANAIII 2002-07-21
  • 打赏
  • 举报
回复





在系统中已经建立一个消息队列,真出于执行中,怎么能撤消还未执行的消息?
给点代码示例

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧