屋顶上的木帷幕

海鸥之所以追着渔船飞,是因为它们认为会有沙丁鱼抛向大海 - Eric Cantona, 1995
随笔 - 146, 评论 - 3168, 引用 - 56

导航

工具

关于


标签

每月存档

广告



访客

 

最近总有MSN Messenger上的好友问我,为什么我一登录就在他们那里弹出五六个登录窗口:

其实,我只是自己写了一个小程序让MSN Messenger以很短的间隔连续的改变online/offline的状态而以。而且,程序也没有深入用到MSN的Protocol或者SDK,也没有用SendMessage/FindWindow之类的,只是用SendKeys写了个VBScript:

LoopCount = 5 'Show 5 signed-in windows

Set WshShell= WScript.CreateObject("WScript.Shell")
WshShell.AppActivate "MSN Messenger"
'send "alt+f, m, f, alt+f, m, o"

For i = 1 to LoopCount
  WshShell.SendKeys "%f"
  WshShell.SendKeys "m"
  WshShell.SendKeys "f"
  WScript.Sleep 500
  WshShell.SendKeys "%f"
  WshShell.SendKeys "m"
  WshShell.SendKeys "o"
  WScript.Sleep 500
Next

如果用Visual Basic 6.0写也很方便的,只要改动一点点地方:

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
  LoopCount = 5 'Show 5 signed-in windows
  Set WshShell = CreateObject("WScript.Shell")
  WshShell.AppActivate "MSN Messenger"
  'send "alt+f, m, f, alt+f, m, o"
  For i = 0 To Int(Val(Me.Text1.Text))
    WshShell.SendKeys "%f"
    WshShell.SendKeys "m"
    WshShell.SendKeys "f"
    Sleep 500
    WshShell.SendKeys "%f"
    WshShell.SendKeys "m"
    WshShell.SendKeys "o"
    Sleep 500
  Next
End Sub

如果运行的不是MSN Messenger而是Windows Messenger 4.7/5.0,把AppActivate的参数改掉就可以了。我挺喜欢这个小把戏的,一次出现5个登录窗口,很醒目的。不过,希望大家不要恶意使用不断的爬,这样会变成DDoS攻击,增加对服务器的负载的,负载大了以后服务器性能变差也会影响别人使用的。如果老是在别人那里出现一堆登录窗口也是不礼貌的,是一种污染。

其实,换个角度看,这就是一个Monkey Testing程序(还够不上完全Smart Monkey的程度)。这也是Windows程序的GUI自动测试的一个最简单的实例。


随贴广告(测试期)
相关文章

打印 | 张贴于 2004-10-18 15:58:00 | Tag:Cool Stuffs

留言反馈

re: MSN爬楼梯和Monkey Testing 编辑
这个具体怎么弄啊?对这个例子不是很懂,能否发给我一个完整的程序呢?
tandy8858@163.com
2006-03-30 16:31:00 | [匿名用户:tandy]
re: MSN爬楼梯和Monkey Testing 编辑
其实更让我惊讶的是msn服务器端居然没有限制重复登陆的间隔时间??
2006-03-30 12:52:00 | [匿名用户:neoragex2002]
re: MSN爬楼梯和Monkey Testing 编辑
我是电脑菜鸟,不过觉得这个挺有意思的,请问要把这个小程序加在哪啊?
2005-03-22 09:08:00 | [匿名用户:MoMo]
re: MSN爬楼梯和Monkey Testing 编辑
以前玩格斗游戏的时候,试着做过这样的像窗口发击键消息的东西,主要目的是为了发必杀技。当时觉得最酷的玩法就是,事先设置好击键序列和间隔,然后打开游戏,只要按一个键开始,就看到画面上嘿咻嘿咻,就搞定了
2004-10-22 09:33:00 | [匿名用户:Derek]
re: MSN爬楼梯和Monkey Testing 编辑
鸣礼炮7响,哈哈哈哈哈哈哈
2004-10-21 18:06:00 | [匿名用户:Derek]
re: MSN爬楼梯和Monkey Testing 编辑
对这个例子不是很懂,能否发给我一个完整的程序呢?
Radeon_ling@163.com
2004-10-21 17:59:00 | [匿名用户:冬天里的枫叶]
re: MSN爬楼梯和Monkey Testing 编辑
win 2003好像不行啊??
2004-10-20 11:45:00 | [匿名用户:秦风吟]
re: MSN爬楼梯和Monkey Testing 编辑
对你的敬仰有如。。。
只怪自己是个电脑白白:(
2004-10-20 10:26:00 | [匿名用户:Jane]
re: MSN爬楼梯和Monkey Testing 编辑
汗啊!
2004-10-20 00:22:00 | [匿名用户:NetUser]
re: MSN爬楼梯和Monkey Testing 编辑
次数多了后会报不能改变当前状态

大概是:
1、MSN服务器切换在线状态需要一点点时间,如果还没有完成状态切换操作时提交切换状态申请就不行了
2、MSN客户端本身就有保护
2004-10-19 17:52:00 | [匿名用户:Henry]
re: MSN爬楼梯和Monkey Testing 编辑
和Windows Script的帮助里AppActivate Method里的例子程序差不多,呵呵
2004-10-19 17:45:00 | [匿名用户:xxx]
re: MSN爬楼梯和Monkey Testing 编辑
顺便问一下,我的MSN的输入法总是变成全角字符和西文符号,讨厌死了,也不知道什么地方出了问题
2004-10-19 15:11:00 | [匿名用户:怡红公子]
re: MSN爬楼梯和Monkey Testing 编辑
可以理解

cnblogs的确有不少问题。这两天cnblogs的RSS总是同样的文章出两条
2004-10-19 13:57:00 | [匿名用户:mvm]
re: MSN爬楼梯和Monkey Testing 编辑
to mvm:
我的blog被dudu给删掉了,原因是我说他的cnblogs程序没有.Text程序写得好.这么烂的东西还拿出来给别人下载,怎么说我也拿不出手啊.
2004-10-19 11:46:00 | [匿名用户:leighsword]
re: MSN爬楼梯和Monkey Testing 编辑
我说呢,昨天是哪个哥们一下子在我这儿爬楼呢,是不是就是你:)
2004-10-19 10:50:00 | [匿名用户:独孤行]
re: MSN爬楼梯和Monkey Testing 编辑
我没有看到你登录一起带五个的
2004-10-19 10:04:00 | [匿名用户:lion]
re: MSN爬楼梯和Monkey Testing 编辑
有没有用真猴子做monkey test的啊?
2004-10-19 10:03:00 | [匿名用户:rIPPER]
re: MSN爬楼梯和Monkey Testing 编辑
to mvm:
LoopCount我改成10,但是没有效果,只显示5个提示框。

为什么?
2004-10-19 02:04:00 | [匿名用户:fangyuan]
re: MSN爬楼梯和Monkey Testing 编辑
要打击刷屏现象!
2004-10-18 22:44:00 | [匿名用户:moslem]
re: MSN爬楼梯和Monkey Testing 编辑
好玩
2004-10-18 21:51:00 | [匿名用户:EnjoyJob]
re: MSN爬楼梯和Monkey Testing 编辑
Win 2003 说WScript不存在了
2004-10-18 21:37:00 | [匿名用户:Brook]
re: MSN爬楼梯和Monkey Testing 编辑
已经用这几行代码说服好几个人去杀毒了:)
2004-10-18 19:05:00 | [匿名用户:microhelper]
re: MSN爬楼梯和Monkey Testing 编辑
那可不是么,
的确是monkey test呀
2004-10-18 18:25:00 | [匿名用户:mvm]
re: MSN爬楼梯和Monkey Testing 编辑
Monkey Testing ... 还挺会上纲上线 ……
2004-10-18 17:41:00 | [匿名用户:DLU]
re: MSN爬楼梯和Monkey Testing 编辑
长不大的孩子
2004-10-18 17:38:00 | [匿名用户:leighsword]
re: MSN爬楼梯和Monkey Testing 编辑
无聊
2004-10-18 17:28:00 | [匿名用户:无聊]
re: MSN爬楼梯和Monkey Testing 编辑
还好,我这儿不显示登录提醒的:)
2004-10-18 16:31:00 | [匿名用户:开心就好]
博客主人设置本博客不允许匿名用户发表言论,请登录后再试

Powered by: Joycode MVC Blogger System