java实现--自动调用QQ聊天窗口

package test;
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.event.KeyEvent;
import java.io.IOException;

public class QQBoom {
	public static void main(String[] args) throws AWTException, IOException {
        //定义要发送的话
		String sentence = "内容";
        // 创建Robot对象
		Robot robot = new Robot();
		String QQ="QQ号";//这里设置你要发送的QQ号,需要已经添加好友
        //设置调用聊天框url
		String url="http://wpa.qq.com/msgrd?v=3&uin="+QQ+"&site=qq&menu=yes";
        //通过cmd命令使用默认浏览器访问url
		String cmd = "explorer \"" +url+"\"";
		try {   
			 Process proc = Runtime.getRuntime().exec(cmd);   
			 proc.waitFor();   
			}
			catch (Exception e)   
			{   
			 e.printStackTrace();  
			}   
		robot.delay(5000);// 延迟五秒,主要是为了预留出打开窗口的时间,括号内的单位为毫秒
		Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
		String[] authors = sentence.split("[,]");// 字符串根据,分割
		for (int j = 0; j < 20; j++) {//循环次数
			for (int i = 0; i < authors.length; i++) {
				String sentencet = authors[i];
				Transferable tText = new StringSelection(sentencet);
				clip.setContents(tText, null);
				// for (int j = 1; j <= 1; j++) {
				// 以下两行按下了ctrl+v,完成粘贴功能
				robot.keyPress(KeyEvent.VK_CONTROL);
				robot.keyPress(KeyEvent.VK_V);
// 释放ctrl按键,像ctrl,退格键,删除键这样的功能性按键,在按下后一定要释放,不然会出问题。crtl如果按住没有释放,在按其他字母按键是,敲出来的回事ctrl的快捷键。
				robot.keyRelease(KeyEvent.VK_CONTROL);
				robot.delay(500);// 延迟一秒再发送,不然会一次性全发布出去,因为电脑的处理速度很快,每次粘贴发送的速度几乎是一瞬间,所以给人的感觉就是一次性发送了全部。这个时间可以自己改,想几秒发送一条都可以
				robot.keyPress(KeyEvent.VK_ENTER);// 回车 
				// }
			}
		}
	}
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值