• 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] = '';
    	system(Cmd);
    	system("pause");
    	return 0;
    }
    

    后记

    vbs的功能很强,我只会一点点,这个程序只能生成一次性的,虽然我这里也有可以删除任务的代码和每天启动的代码,但是不熟的话设置成功以后关不掉就会很麻烦,所有先玩这个吧,通过程序,你可以设置一个string数组,弄个一个月的时间(括弧笑),然后给自己设置脚本:小号发给自己提醒英语背单词的消息,哈哈。不过定时运行需要电脑时刻保持运行,有这个需求的可以再网上找相关东西
    2018/12/16 22:59:59

  • 相关阅读:
    春秋宋国
    MySQL查询性能优化七种武器之索引下推
    HbuliderX H5前端部署+Nginx+docker20220912
    春秋秦国
    春秋郑国
    docker安装 iotdb
    springboot集成Spring Batch 20220902
    跨境电商
    江西两大文化巨头:抚州有叫板江西的底气,吉安有叫板全国的底气
    CDH搭建教程
  • 原文地址:https://www.cnblogs.com/Titordong/p/10129060.html
Copyright © 2020-2023  润新知