正文
vb.net发送qq消息 vbs发送请求
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
如何用vb给qq发送消息
可参考以下:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Const WM_GETTEXT = HD
Private Const EM_REPLACESEL = HC2
Private Const BM_CLICK = HF5
Private Function GetWinText(ByVal WinHwnd As Long) As String
Dim lLen As Long
GetWinText = String(255, Chr(0))
lLen = SendMessage(WinHwnd, WM_GETTEXT, Len(GetWinText), ByVal GetWinText)
GetWinText = Left(GetWinText, lLen)
End Function
Private Sub Command1_Click()
On Error GoTo ErrorHandler
Dim HFindWnd As Long
Dim QQHwnd As Long, AHwnd As Long, THwnd As Long, RHwnd As Long
List1.Clear
Me.Caption = "正在获取发送列表,请稍候..."
HFindWnd = FindWindowEx(0, 0, "#32770", vbNullString)
Do While HFindWnd 0
If InStr(GetWinText(HFindWnd), "聊天中") 0 Or InStr(GetWinText(HFindWnd), " - ") 0 Or InStr(GetWinText(HFindWnd), "群") 0 Or InStr(GetWinText(HFindWnd), "交谈中") 0 Or InStr(GetWinText(HFindWnd), "正在输入") 0 Or InStr(GetWinText(HFindWnd), " - ") 0 Then
List1.AddItem GetWinText(HFindWnd)
End If
HFindWnd = FindWindowEx(0, HFindWnd, "#32770", vbNullString)
DoEvents
Loop
If List1.ListCount = 0 Then
Me.Caption = "无法获取QQ消息窗口列表"
Exit Sub
End If
Me.Caption = "获取发送列表完成"
Sleep (500)
Me.Caption = "正在发送QQ消息,请稍候..."
For i = 0 To List1.ListCount - 1
List1.Selected(i) = True
QQHwnd = FindWindow("#32770", List1.Text)
Do
If QQHwnd = 0 Then
QQHwnd = FindWindow("#32770", List1.Text)
End If
AHwnd = FindWindowEx(QQHwnd, AHwnd, "AfxWnd42", vbNullString)
If AHwnd = 0 Then
QQHwnd = FindWindowEx(QQHwnd, 0, "#32770", vbNullString)
End If
THwnd = FindWindowEx(AHwnd, 0, "RichEdit20A", vbNullString)
DoEvents
Loop While THwnd = 0
Me.Caption = "正在发送第" i + 1 "个QQ消息窗口"
SendMessage THwnd, EM_REPLACESEL, 0, ByVal Text1.Text
RHwnd = FindWindowEx(QQHwnd, 0, "Button", "发送(S)")
SendMessage RHwnd, BM_CLICK, 0, 0
DoEvents
Sleep (500)
Next i
Me.Caption = "一共发送了" i "个QQ消息窗口"
List1.Clear
List1.AddItem ("已完成所有消息发送")
ErrorHandler:
End Sub
vb把文本框内的文字复制到 QQ聊天发送框里。怎么办?
看看vb.net发送qq消息我的理解有错误木有:
你想将1个自定义的文本框中的内容通过qq聊天对话框发送发送出去,是这个意思吧?
假如你想通过程序自动完成这个操作的话,你要将qq聊天对话框的句柄传给你的程序,之后将文本拷贝到这个句柄的窗口中,你还要发送1个“回车”消息给聊天对话框,让聊天对话框将消息发送出去,总体来说,这样很麻烦。
给你1个建议,你可以控制鼠标,让鼠标模拟你的操作是最容易的vb.net发送qq消息了。
鼠标模拟过程:
1.选取文本框中的内容;
2.鼠标右键单击;
3.移动到拷贝菜单项,单击鼠标左键;
4.鼠标移动到聊天对话框粘贴文本;
5.鼠标点击发送。
VB 当达到某一条件后,对QQ好友自动发送消息,怎么写?
如果你已经开启QQ就可以
这样写
Shell Environ("PROGRAMFILES") "\Internet Explorer\iexplore.exe " "Tencent://Message/?Menu=YESExe=Uin=" Text1.Text, vbNormalFocus
Text1.Text就是你输入想要聊天的对象的QQ号
不需要加对方为好友就可以聊天
如果没有就回谈出无效网页
有谁搞过vb.net或c#给QQ好友发信息的?怎样实现的,能不能说说
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Security.Cryptography;
using System.Diagnostics;
namespace QQLogin
{
public partial class QQLoginForm : Form
{
public QQLoginForm()
{
InitializeComponent();
}
UserInfo ui;
private void button1_Click(object sender, EventArgs e)
{
//单用户登陆
if (ui == null)
{
ui = new UserInfo();//如果没有提取出来对象,就创建一个
}
if (ui != null)
{
ui.Username = this.txtUser.Text.Trim();
ui.Password = this.txtPwd.Text;
ui.Type = this.cboType.Text == "正常" ? "41" : "40";
if (this.ValidateInput())
{//验证是否输入完全
if (string.IsNullOrEmpty(ui.Path))
{//判断是否有QQ路径,如果没有就打开对话框来选择一下
DialogResult dr = this.opfQQ.ShowDialog();
if (dr == DialogResult.OK)
{
ui.Path = opfQQ.FileName;//将选择的路径赋值给对象
this.LoginQQ(ui.Username, ui.Password, ui.Type, ui.Path);//登陆QQ
}
}
else
{
this.LoginQQ(ui.Username, ui.Password, ui.Type, ui.Path);
}
}
SerializeHelper.SerializeUserInfo(ui);//每次登陆都序列化保存一次
}
}
private bool ValidateInput()
{//验证是否输入完整
if (this.txtUser.Text == "")
{
this.txtUser.Focus();
return false;
}
else if(this.txtPwd.Text=="")
{
this.txtPwd.Focus();
return false;
}
return true;
}
private void LoginQQ(string user,string pwd,string type,string path)
{//登陆QQ的命令,通过CMD命令来执行
Process MyProcess = new Process();
//设定程序名
MyProcess.StartInfo.FileName = "cmd.exe";
//关闭Shell的使用
MyProcess.StartInfo.UseShellExecute = false;
//重定向标准输入
MyProcess.StartInfo.RedirectStandardInput = true;
//重定向标准输出
MyProcess.StartInfo.RedirectStandardOutput = true;
//重定向错误输出
MyProcess.StartInfo.RedirectStandardError = true;
//设置不显示窗口
MyProcess.StartInfo.CreateNoWindow = true;
//执行强制结束命令
MyProcess.Start();
MyProcess.StandardInput.WriteLine(path+" /start QQUIN:"+user+" PWDHASH:" + EncodeHash.pwdHash(pwd) + " /stat:"+type);//直接结束进程ID
MyProcess.StandardInput.WriteLine("Exit");
}
private void btnExit_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void txtUser_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar '0' || e.KeyChar '9')e.KeyChar!=8)
{//只能输入数字和退格键
e.Handled = true;
}
}
private void QQLoginForm_Load(object sender, EventArgs e)
{
LoadInfo();//单用户获取
}
private void LoadInfo()
{//单用户获取
ui = SerializeHelper.DeserializeUserInfo();//返回获取后对象
if (ui != null)
{
this.txtUser.Text = ui.Username;//填充文本框
this.txtPwd.Text = ui.Password;//填充密码框
this.cboType.SelectedIndex = ui.Type == "41" ? 0 : 1;//选择登陆方式
}
else
{
this.cboType.SelectedIndex = 0;
}
}
private void btnConfig_Click(object sender, EventArgs e)
{
ConfigForm cf = new ConfigForm();
cf.ShowDialog();
LoadInfo();
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace QQLogin
{
public partial class ConfigForm : Form
{
UserInfo ui;
public ConfigForm()
{
InitializeComponent();
}
private void txtPath_Click(object sender, EventArgs e)
{//点击一次文本框,弹出一次对话框来选择QQ路径
DialogResult dr = this.opfQQ.ShowDialog();
if (dr == DialogResult.OK)
{
this.txtPath.Text = opfQQ.FileName;
}
}
private bool ValidateInput()
{//验证是否输入完整
if (this.txtUser.Text == "")
{
this.txtUser.Focus();
return false;
}
else if (this.txtPwd.Text == "")
{
this.txtPwd.Focus();
return false;
}
else if (this.txtPath.Text == "")
{
return false;
}
return true;
}
private void btnCancel_Click(object sender, EventArgs e)
{
this.Close();
}
private void ConfigForm_Load(object sender, EventArgs e)
{
LoadInfo();
}
private void btnSave_Click(object sender, EventArgs e)
{
ui = new UserInfo();
ui.Username = this.txtUser.Text.Trim();
ui.Password = this.txtPwd.Text;
ui.Type = this.cboType.Text == "正常" ? "41" : "40";
ui.Path = this.txtPath.Text;
if (this.ValidateInput())
{
SerializeHelper.SerializeUserInfo(ui);
this.Close();
}
}
private void LoadInfo()
{
ui = SerializeHelper.DeserializeUserInfo();
if (ui != null)
{
this.txtUser.Text = ui.Username;
this.txtPwd.Text = ui.Password;
this.cboType.SelectedIndex = ui.Type == "41" ? 0 : 1;
this.txtPath.Text = ui.Path;
}
else
{
this.cboType.SelectedIndex = 0;
}
}
}
}
关于vb.net发送qq消息和vbs发送请求的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。