公司的电脑有时因为运行着重要程序,整夜不关机,想挂QQ。但是,下班回到家,一旦登录QQ,公司电脑挂的QQ就自动退出了。晚上睡觉,关掉电脑,公司电脑却不能再挂机了。
为此,我用C#写了一个控制台程序,凌晨0点(我通常晚上11点睡觉)检测一下QQ,看它是否收到了下线通知。一旦收到了,就先退出QQ程序,然后再次启动QQ------注意:公司电脑QQ要设成“记住密码”、“启动QQ时自动登录”。
检测QQ
---------
刚开始,我用类Process提供的方法,有两个问题无法解决:
1.它无法判断QQ是否正常运行,或是收到了下线通知;
2.使用它提供的CloseMainWindow方法,无法退出QQ。正如MSDN对该方法的评价------“调用 CloseMainWindow 会向主窗口发送关闭请求,在一个格式良好的应用程序中,该请求会关闭子窗口并撤消此应用程序所有正在运行的消息循环。通过调用 CloseMainWindow 发出的退出进程的请求不强制应用程序退出。应用程序可以在退出前请求用户验证,也可以拒绝退出。”
按照MSDN的说明,万不得已可以使用kill方法,只是QQ进程被关掉了,任务栏的企鹅图标还存在。在QQ再次登录时,任务栏就会多出一个。也就是说,每执行一次kill,就会产生一个。
windows API
----------------
在网上查到《Kill any application with system menu using C# 》,用c#调用windows API,借助visual studio自带的 Microsoft Spy++ 来获取QQ程序窗口的类名和窗口名 作为 API的两个参数,就可以了。
特性DllImport需要引入 using System.Runtime.InteropServices;
代码
-----
static void Main(string[] args)
{
Process[] myProcess = Process.GetProcesses();
if (isOffLine())
{
closeQQ();
Thread.Sleep(2000);
startQQ();
}
}
static void closeQQ()
{
int iHandle = Win32.FindWindow("TXGuiFoundation", "QQ2010");//改成你电脑上的实际检测结果
int j = Win32.SendMessage(iHandle, Win32.WM_SYSCOMMAND,
Win32.SC_CLOSE, 0);
}
static void startQQ()
{
Process qq = new Process();
qq.StartInfo.FileName = @"D:\Program Files\Tencent\QQ\Bin\QQ.exe";//改成你电脑上QQ的实际地址
qq.Start();
}
static bool isOffLine()
{
bool flag = false;
int iHandle = Win32.FindWindow("TXGuiFoundation", "下线通知");
if (iHandle > 0)
{
flag = true;
}
return flag;
}
补充
---------
我用的QQ版本是昨天从官网刚下载的,其他版本的窗口名可能需要用 Microsoft Spy++ 检测一下。
分享到:
相关推荐
易语言恶搞QQ下线源码,恶搞QQ下线
迅雷被挤下线可以自动重新登录的程序
在线聊天室。实现了同一个帐号同一时间在不同地点只能一个人登录,如果一个人使用则另一个人被迫下线
Linux环境下Web_Portal计费网关自动登录_下线的研究.pdf
用vb脚本语言写的,代码只有6行。程序可改动,把后缀改成.txt就可看代码。这个程序运行后可让你想要的任何程序关闭。qq聊天时,可逗你朋友,源码作用是关闭qq
QQ被盗后密码未被修改前可以用这个工具在被对方登录踢下线的时候自动登录。需要.net framework 2.0,一般windows都可以运行。注意,这个工具不能帮你找回密码,只能是你QQ被盗,密码对方修改不了的情况下用于踢对方...
软件简介: 宽带QQ批量自动登录器是一款比较人性化、自动化、实用化全能的控制... 优化QQ批量挂机功能,修复自动被提下线问题; 修复无法下拉列表问题,完善个别细节; 更新几个油箱登陆项目;
这个源代码很简单,可以直接结束我们任务管理器中的qq或者其他进程,只需更改一下程序名称!别做坏事哦!
q恶搞下线通知无聊的来试试哈 好玩的!!!
易语言源码易语言恶搞QQ下线源码.rar 易语言源码易语言恶搞QQ下线源码.rar 易语言源码易语言恶搞QQ下线源码.rar 易语言源码易语言恶搞QQ下线源码.rar 易语言源码易语言恶搞QQ下线源码.rar 易语言源码易语言恶搞...
QQ安全中心是腾讯公司推出的QQ帐号保护软件...2.QQ登录查询:最近7天登录足迹,一查便知。 3.帐号锁:开关自如,全面掌控QQ登录。每次锁定最长15天,到期后自动解锁。 4. 游戏锁:下线锁号,装备无忧。每次锁定最长7天
qq下线后自动关机,放心下载不会是流氓软件。开启软件,设置好就可以了。
Android精美布局实现QQ登入界面同时实现强制QQ下线功能源码
Android中使用广播接收者组件实现简单强迫用户下线功能!
秘书QQ机器人是一款可以自动回复和管理的QQ机器人软件。特色:采用最新2013beta2版协议,很少出验证码,很少被...实现了QQ登录、注销、收发QQ消息、收发QQ群消息等功能、微信互动 支持web接口、插件扩展、提供DLL调用
分享一个简单常用的功能,单点登录,也就是我们常说的额互踢下线。简单的说就是账号在其他设备登录时,弹出提示对话框提醒用户重新登录或退出!
使用广播机制仿制QQ强制下线功能使用广播机制仿制QQ强制下线功能有弹出框的提示
全球首款L4级量产自动驾驶巴士“阿波龙”量产下线--自动驾驶产品化元年开启.pdf
采用系统级广播的方式,当点击强制退出的时候会广播下线的通知并生成弹窗,点击确定会重新返回到登录界面
Java 实现QQ聊天功能,模拟QQ软件 能聊天 !