***************************************
'QQ消息轰炸机源代码(VB.NET)
'wgscd2005-1-1
'***************************************
PublicClassForm1
InheritsSystem.Windows.Forms.Form
PrivateDeclareFunctionFindWindowExLib"user32.dll"Alias"FindWindowExA"(ByValhWnd1AsInt32,ByValhWnd2AsInt32,ByVallpsz1AsString,ByVallpsz2AsString)AsInt32
PrivateDeclareFunctionGetWindowTextLib"user32.dll"Alias"GetWindowTextA"(ByValhwndAsInt32,ByVallpStringAsString,ByValcchAsInt32)AsInt32
PrivateDeclareFunctionFindWindowLib"user32.dll"Alias"FindWindowA"(ByVallpClassNameAsString,ByVallpWindowNameAsString)AsInt32
PrivateDeclareFunctionSendMessageLib"user32.dll"Alias"SendMessageA"(ByValhwndAsInt32,ByValwMsgAsInt32,ByValwParamAsInt32,ByVallParamAsInt32)AsInt32
PrivateDeclareFunctionSendMessageLib"user32.dll"Alias"SendMessageA"(ByValhwndAsInt32,ByValwMsgAsInt32,ByValwParamAsInt32,ByVallParamAsString)AsInt32
'PrivateConstWM_PASTEAsInt32=&H302
PrivateConstWM_SETTEXTAsInt32=&HC
PrivateConstWM_KEYDOWNAsInt32=&H100
PrivateConstWM_KEYUPAsInt32=&H101
PrivateConstWM_LBUTTONDOWNAsInt32=&H201
PrivateConstWM_LBUTTONUPAsInt32=&H202
'PrivateConstWM_SHOWWINDOWAsInt32=&H18
PrivateConstSW_NORMALAsInt32=1
PrivateDeclareFunctionShowWindowLib"user32.dll"(ByValhwndAsInt32,ByValnCmdShowAsInt32)AsInt32
'PrivateDeclareFunctionGetLastErrorLib"kernel32.dll"()AsInt32
PrivateConstSW_SHOWNOACTIVATEAsInt32=4
PrivateDeclareFunctionSetWindowTextLib"user32.dll"Alias"SetWindowTextA"(ByValhwndAsInt32,ByVallpStringAsString)AsInt32
PrivateConstSW_HIDEAsInt32=0
PrivateConstSW_SHOWAsInt32=5
DimsMessAsString
Dimhwnd,hwnd2,hwnd3,i,iDelayAsInt32
DimhWndTalk(20),hWndEdit(20),hWndSend(20)AsInt32
DimMyThreadAsThreading.Thread
#Region"Windows窗体设计器生成的代码"
PublicSubNew()
MyBase.New()
'该调用是Windows窗体设计器所必需的。
InitializeComponent()
'在InitializeComponent()调用之后添加任何初始化
EndSub
'窗体重写dispose以清理组件列表。qq消息轰炸机qq消息轰炸机
ProtectedOverloadsOverridesSubDispose(ByValdisposingAsBoolean)
IfdisposingThen
IfNot(componentsIsNothing)Then
components.Dispose()
EndIf
EndIf
MyBase.Dispose(disposing)
EndSub
'Windows窗体设计器所必需的
PrivatecomponentsAsSystem.ComponentModel.IContainer
'注意:以下过程是Windows窗体设计器所必需的
'可以使用Windows窗体设计器修改此过程。
FriendWithEventsTextBox1AsSystem.Windows.Forms.TextBox
FriendWithEventsLabel1AsSystem.Windows.Forms.Label
FriendWithEventsGroupBox1AsSystem.Windows.Forms.GroupBox
FriendWithEventsLabel3AsSystem.Windows.Forms.Label
FriendWithEventsButtonRefreshAsSystem.Windows.Forms.Button
FriendWithEventsButtonStartAsSystem.Windows.Forms.Button
FriendWithEventsButtonStopAsSystem.Windows.Forms.Button
FriendWithEventsRadioButton1AsSystem.Windows.Forms.RadioButton
FriendWithEventsRadioButton2AsSystem.Windows.Forms.RadioButton
FriendWithEventsListView1AsSystem.Windows.Forms.ListView
<System.Diagnostics.DebuggerStepThrough()>PrivateSubInitializeComponent()
Me.ButtonRefresh=NewSystem.Windows.Forms.Button
Me.ButtonStart=NewSystem.Windows.Forms.Button
Me.TextBox1=NewSystem.Windows.Forms.TextBox
Me.Label1=NewSystem.Windows.Forms.Label
Me.GroupBox1=NewSystem.Windows.Forms.GroupBox
Me.ListView1=NewSystem.Windows.Forms.ListView
Me.RadioButton2=NewSystem.Windows.Forms.RadioButton
Me.RadioButton1=NewSystem.Windows.Forms.RadioButton
Me.ButtonStop=NewSystem.Windows.Forms.Button
Me.Label3=NewSystem.Windows.Forms.Label
Me.GroupBox1.SuspendLayout()
Me.SuspendLayout()
'
'ButtonRefresh
'
Me.ButtonRefresh.Location=NewSystem.Drawing.Point(16,80)
Me.ButtonRefresh.Name="ButtonRefresh"
Me.ButtonRefresh.Size=NewSystem.Drawing.Size(56,24)
Me.ButtonRefresh.TabIndex=0
Me.ButtonRefresh.Text="刷新"
'
'ButtonStart
'
Me.ButtonStart.Location=NewSystem.Drawing.Point(16,116)
Me.ButtonStart.Name="ButtonStart"
Me.ButtonStart.Size=NewSystem.Drawing.Size(56,24)
Me.ButtonStart.TabIndex=1
Me.ButtonStart.Text="开始"
'
'TextBox1
'

Me.TextBox1.AutoSize=False
Me.TextBox1.Location=NewSystem.Drawing.Point(16,216)
Me.TextBox1.Multiline=True
Me.TextBox1.Name="TextBox1"
Me.TextBox1.Size=NewSystem.Drawing.Size(256,88)
Me.TextBox1.TabIndex=3
Me.TextBox1.Text="/cy轰炸美国,从你开始."
'
'Label1
'
Me.Label1.AutoSize=True
Me.Label1.Location=NewSystem.Drawing.Point(24,200)
Me.Label1.Name="Label1"
Me.Label1.Size=NewSystem.Drawing.Size(91,17)
Me.Label1.TabIndex=4
Me.Label1.Text="请输入发送内容"
'
'GroupBox1
'
Me.GroupBox1.Controls.Add(Me.ListView1)
Me.GroupBox1.Controls.Add(Me.RadioButton2)
Me.GroupBox1.Controls.Add(Me.RadioButton1)
Me.GroupBox1.Controls.Add(Me.ButtonStop)
Me.GroupBox1.Controls.Add(Me.ButtonStart)
Me.GroupBox1.Controls.Add(Me.ButtonRefresh)
Me.GroupBox1.Location=NewSystem.Drawing.Point(16,8)
Me.GroupBox1.Name="GroupBox1"
Me.GroupBox1.Size=NewSystem.Drawing.Size(248,184)
Me.GroupBox1.TabIndex=9
Me.GroupBox1.TabStop=False
'
'ListView1
'
Me.ListView1.CheckBoxes=True
Me.ListView1.Location=NewSystem.Drawing.Point(96,24)
Me.ListView1.Name="ListView1"
Me.ListView1.Size=NewSystem.Drawing.Size(144,152)
Me.ListView1.TabIndex=12
Me.ListView1.View=System.Windows.Forms.View.List
'
'RadioButton2
'
Me.RadioButton2.Location=NewSystem.Drawing.Point(12,40)
Me.RadioButton2.Name="RadioButton2"
Me.RadioButton2.Size=NewSystem.Drawing.Size(88,24)
Me.RadioButton2.TabIndex=1
Me.RadioButton2.Text="直到我叫停"
'
'RadioButton1
'
Me.RadioButton1.Checked=True
Me.RadioButton1.Location=NewSystem.Drawing.Point(12,17)
Me.RadioButton1.Name="RadioButton1"
Me.RadioButton1.Size=NewSystem.Drawing.Size(88,24)
Me.RadioButton1.TabIndex=0
Me.RadioButton1.TabStop=True
Me.RadioButton1.Text="只发一次"
'
'ButtonStop
'
Me.ButtonStop.Location=NewSystem.Drawing.Point(16,152)
Me.ButtonStop.Name="ButtonStop"
Me.ButtonStop.Size=NewSystem.Drawing.Size(56,24)
Me.ButtonStop.TabIndex=11
Me.ButtonStop.Text="停止"
'
'Label3
'
Me.Label3.Location=NewSystem.Drawing.Point(96,312)
Me.Label3.Name="Label3"
Me.Label3.Size=NewSystem.Drawing.Size(184,24)
Me.Label3.TabIndex=10
Me.Label3.Text="---自由奔腾wgscd----"
'
'Form1
'
Me.AutoScaleBaseSize=NewSystem.Drawing.Size(6,14)
Me.BackColor=System.Drawing.Color.SkyBlue
Me.ClientSize=NewSystem.Drawing.Size(280,325)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.TextBox1)
Me.Controls.Add(Me.GroupBox1)
Me.MaximizeBox=False
Me.MinimizeBox=False
Me.Name="Form1"
Me.Text="QQ消息群炸机"
Me.GroupBox1.ResumeLayout(False)
Me.ResumeLayout(False)
EndSub
#EndRegion

PrivateSubButtonRefresh_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButtonRefresh.Click
ListView1.Items.Clear()'清除元素
''''''''''''''''''''''''''''''''''''''''''''''''
hwnd=0
i=0
DimstrAsString
While1
hwnd=FindWindowEx(0,hwnd,"#32770",vbNullString)
Ifhwnd=0Then
ExitWhile
Else
Str=NewString(Chr(0),50)
GetWindowText(hwnd,Str,50)
Str=Str.TrimEnd(Chr(0))
IfStr.StartsWith("与")AndStr.EndsWith("聊天中")Then
hWndTalk(i)=hwnd'聊天主窗口句柄
'''''''''''''''''''''''''''''''''''''''''''
hWndSend(i)=FindWindowEx(hwnd2,0,vbNullString,"发送(&s)")'发送BUTTON句柄
'''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''
i+=1
Str=Str.Substring(2)
Str=Str.Replace("聊天中","")
DimitemAsWindows.Forms.ListViewItem
item=ListView1.Items.Add(Str)
item.Checked=True
'''''''''''''''''''''''''''''''''''
EndIf
EndIf
EndWhile
EndSub
PrivateSubButtonStop_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButtonStop.Click
If(NotMyThreadIsNothing)Then
MyThread.Abort()
EndIf
ButtonStart.Enabled=True
EndSub
PrivateSubButtonStart_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButtonStart.Click
sMess=Me.TextBox1.Text.ToString
IfsMess=""Then
MsgBox("请输入发送内容!")
ExitSub
EndIf
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'以下求延迟毫秒数
iDelay=0
Fori=0ToListView1.Items.Count-1
IfListView1.Items(i).Checked=TrueThen
iDelay+=1'共有多少个窗口,要发送信息
EndIf
Next
IfiDelay=0Then
MsgBox("请选择至少一个聊天对象,必须打开聊天窗口,再按刷新即可。")
ExitSub
EndIf
iDelay=3100-iDelay*1000'延迟多少秒,发送的窗口越少,延迟秒数越大
IfiDelay<0Then
iDelay=0
EndIf
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
IfRadioButton1.CheckedThen'只发一次
SendMess()
Else'不停地发,直到用户中止
MyThread=NewThreading.Thread(AddressOfSendMessUntil)
MyThread.Start()
ButtonStart.Enabled=False
EndIf
EndSub
PrivateSubSendMess()
Fori=0ToListView1.Items.Count-1
IfListView1.Items(i).Checked=TrueThen
SendMessage(hWndEdit(i),WM_SETTEXT,0,sMess&"hhhhhhhh")
System.Threading.Thread.Sleep(iDelay)
SendMessage(hWndSend(i),WM_LBUTTONDOWN,0,0)
SendMessage(hWndSend(i),WM_LBUTTONUP,0,0)
EndIf
Next
EndSub
PrivateSubSendMessUntil()
While1
SendMess()
EndWhile
EndSub
PrivateSubForm1_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.Load
ButtonRefresh_Click(Nothing,Nothing)
EndSub
PrivateSubForm1_Closing(ByValsenderAsObject,ByValeAsSystem.ComponentModel.CancelEventArgs)HandlesMyBase.Closing
If(NotMyThreadIsNothing)Then
MyThread.Abort()
EndIf
EndSub
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-41365-1.html
想骚扰一下
必须驱赶