vbs脚本实现qq定时发消息(初级)
vbs脚本实现QQ消息定时发送
目标
批处理又称为批处理脚本,强大的强大功能可以高效得实现很多功能,例如批量更改文件格式,批量进行文件读写,今天我们的目标是用vbs脚本编写可以发送qq消息的脚本,并利用c++程序,实现qq消息的定时自动发送
准备
记事本
vbs脚本不需要什么花里花哨的东西,记事本足矣
c++编译器
随便选一个就行
开工
编写vbs脚本
VBS是基于Visual Basic的脚本语言,功能还是很强的,当然我也只会一点点皮毛,因为工作需要,去学习了如何写发送QQ消息的脚本~
新建一个空的记事本
键入如下代码
On Error Resume Next
str="这里是你想说的话str1"
Set Wshshell=WScript.CreateObject("WScript.Shell")
WshShell.run"mshta vbscript:clipboardData.SetData("+""""+"text"+""""+","+""""&str&""""+")(close)",0,true
WshShell.run"这里是你要发送到对方QQ的快捷方式str2"
WScript.Sleep 1000
WshShell.SendKeys"^v"
WScript.Sleep 1000
WshShell.SendKeys "%s"
WScript.Sleep 1000
WshShell.SendKeys"%{F4}"
代码略讲
第一行的On E...是vbs脚本在处理运行时错误时继续运行,而不是退出
第二行str1为你想发送的消息,可以自己随便定义
3行建立一个操作对象,4行讲str1的内容复制到剪贴板
重点是第5行,获得快捷方式str2。打开QQ好友列表
找到你想要发消息的人,打开和Ta的聊天窗口
右键那3个点
生成聊天快捷方式到桌面
右键桌面的快捷方式
选择属性
复制
目标处的一行字符串
好了,str2已经获得,把str1和str2都填上,就是这种样子
Sleep是暂停时间,1000为一秒,
Sendkeys为模拟键盘输入,所以,这个脚本的执行逻辑就是把指定字符串复制到剪贴板,然后打开对方的qq界面,进行Ctrl+V复制,ALT+S发送,以及Alt+F4退出操作,行云流水
c++程序定时vbs脚本
首先要知道一点,windows系统自带了定时任务,也就是你可以通过设置,让电脑定时执行一些程序或者脚本,当然我们这里使用system执行cmd命令来实现
先粘贴一个定时命令schtasks的具体使用博客传送门,看完以后你大概昏头了,我也是看了很久把里面基础的东西提取出来。。
关键代码一行
schtasks /create /tn 任务名str1 /tr vbs脚本路径str2 /sc once /st 启动时间str3 sd/ 启动日期str2
值得注意的是,最好任务名,路径,脚本名都不要用中文,否则容易出bug,我给出一行示例
schtasks /create /tn supertask_Downa /tr C://Users/ddk24/Desktop/tutor/inform_Down.vbs /sc once /st 20:32:00 /sd 2018/12/16
程序作用在18年12月16日的20点32分00秒执行一次在那个路径下的ifform_Down.vbs脚本,任务名为supertask_Downa(注意!!只执行一次)
完整程序
#include<iostream>
#include<string>
using namespace std;
string a = "schtasks /create /tn supertask_";//任务名,注意多个任务不能由任务名相同的
string b = "tr C://Users/ddk24/Desktop/tutor/inform_";//vbs路径名
string c = ".vbs";
string d = " /sc once /st ";
string e = ":00 /sd ";
string f = " /";
int main() {
char ch = 'a';
string cmd;
string name = "Name_VBS";
string time_ = "20:30";
string date = "2018/12/15";
cmd = a + ch + f + b + name + c + d + time_ + e + date;
cout << cmd << endl;
char Cmd[300];
int i = 0;
for (i; i < cmd.size(); i++) {
Cmd[i] = cmd[i];
}
Cmd[i] = '\0';
system(Cmd);
system("pause");
return 0;
}
后记
vbs的功能很强,我只会一点点,这个程序只能生成一次性的,虽然我这里也有可以删除任务的代码和每天启动的代码,但是不熟的话设置成功以后关不掉就会很麻烦,所有先玩这个吧,通过程序,你可以设置一个string数组,弄个一个月的时间(括弧笑),然后给自己设置脚本:小号发给自己提醒英语背单词的消息,哈哈。不过定时运行需要电脑时刻保持运行,有这个需求的可以再网上找相关东西
2018/12/16 22:59:59
vbs脚本实现qq定时发消息(初级)的更多相关文章
- QQ互发消息
private NewsData data; private void button3_Click(object sender, EventArgs e) //发送 { string x = text ...
- 使用C#开发windows服务定时发消息到钉钉群_群组简单消息
前言:本提醒服务,是由C#语言开发的,主要由windows服务项目和winform项目组成,运行服务可实现功能:向钉钉自定义机器人群组里,定时,定次,推送多个自定义消息内容,并实现主要功能的日志记录. ...
- 关于QQ可以发消息但是网页刷不出来问题
相信很多人都遇到过这个问题,明明可以登陆QQ,但是网页就是打不开,而且这种情况经常伴有网卡图标显示叹号的情况.笔者这里就教你一个方法,保证好用. 首先,在开始菜单输入cmd,在命令符模式下点击右键选择 ...
- 用VBS脚本发邮件
需求是这样的:针对账号的管理,如果发现该账号的管理员给账号加了批注,(比如要过期,修改密码,完善资料等),就需要找到这样的账号及其管理的邮件,然后发邮件给他们的管理员同时抄送给账号以达到提醒的目的.那 ...
- XP、Windows7下自动关机vbs脚本,使用windows计划任务+vbs脚本在XP、Windows7下实现定时自动关机
VBScript(Microsoft Visual Basic Script Edition).,微软公司可视化BASIC脚本版). 正如其字面所透露的信息, VBS(VBScript的进一步简写)是 ...
- Vbs 脚本编程简明教程之一
—为什么要使用 Vbs ? 在 Windows 中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动 计算机第一件 ...
- Vbs脚本经典教材(转)
Vbs脚本经典教材(最全的资料还是MSDN) —为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改 ...
- Vbs脚本经典教材
转载:http://www.cnblogs.com/BeyondTechnology/archive/2011/01/10/1932440.html Vbs脚本经典教材(最全的资料还是MSDN) —为 ...
- VBS脚本随笔
1.定时运行程序与关闭程序的VBS处理方法: do set ws=createobject("wscript.shell") ws.run"你要运行的程序的路径(比如说d ...
随机推荐
- 中文 Tex
\documentclass{article} \usepackage{ctex} \begin{document} 中文English \[E = m c^2\] \end{document} \d ...
- Python利用pandas处理Excel数据的应用
Python利用pandas处理Excel数据的应用 最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在做 ...
- js一些格式化
/* 格式化金额 */function formatAmount(s, n) { n = n > 0 && n <= 20 ? n : 2; s = p ...
- 2018-2019 20165237网络对抗 Exp4 恶意代码分析
2018-2019 20165237网络对抗 Exp4 恶意代码分析 实验目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后 ...
- P5301 [GXOI/GZOI2019]宝牌一大堆
题目地址:P5301 [GXOI/GZOI2019]宝牌一大堆 这里是官方题解(by lydrainbowcat) 部分分 直接搜索可以得到暴力分,因为所有和牌方案一共只有一千万左右,稍微优化一下数据 ...
- hihocoder 1175
拓扑排序 hihocoder 1175 拓扑只适用于 有向无环图中,这个指的是 1.有向的,不是那种双向可走的 2.无环,并不是不存在环,而是一定要有一个没有其他点指向这个点的点, 题目大意:一个有向 ...
- Java小程序练习
1.选择排序法所谓的选择排序,就是把当前数据与它后面所有的数据做个比较,假如满足比较条件,则进行交换操作,直到最后二个数比较完毕,这样重新输出的数据就已经由大到小或者由小到大排好序了.for(int ...
- linux下c通过虚拟地址映射读写文件的代码
在代码过程中中,把开发过程中比较好的一些代码片段记录起来,如下的代码内容是关于 linux下c通过虚拟地址映射读写文件的代码,应该对小伙伴有些好处.#include<stdio.h>#in ...
- Django组件-中间件
1.中间件的概念 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出.因为改变的是全局,所以需要谨慎实用,用不好会影 ...
- ArrayList源码学习
1.ArrayList:基于数据实现,允许出现空值和重复元素,当ArrayList中添加的元素数量大于底层数组容量是,会通过扩容机制重新生成一个更大的数组.(非线程安全) 2.源码分析 构造函数 /* ...