用手机对电脑进行远程关机.doc

用手机对电脑进行远程关机.doc

ID:50843119

大小:222.50 KB

页数:4页

时间:2020-03-15

用手机对电脑进行远程关机.doc_第1页
用手机对电脑进行远程关机.doc_第2页
用手机对电脑进行远程关机.doc_第3页
用手机对电脑进行远程关机.doc_第4页
资源描述:

《用手机对电脑进行远程关机.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、用手机对电脑进行远程关机     第一个问题就是手机和计算机通信问题,这个确实比较棘手。首先计算机在内网,手机的ip也是随机分配,两者要实现无缝对接,必须有一个外网IP的服务器,手机和计算机的客户端都主动登录到这个服务器上,然后才能对接。这个,搭个服务器太麻烦(希望IPV6能赶快普及啊~~)。其实,仔细想想我们可以利用现有的手机和计算机的点对点通信工具,比如飞信,QQ之类的,还有就是使用邮件。     使用邮件的解决方案就是,通过手机给自己发送一封邮件,然后再计算机上跑一个守护进程,定期扫描邮箱,并去读邮件,根据主题(例

2、如:关机?)再实施关机动作。可以使用Python实现,工作量应该不是很大(MAX:3hours).这个缺点就是实时性不太好,还是使用现有的即时通信工具实时性好点。     我选择的方案就是使用QQ,你需要注册两个QQ,一个是你的计算机端上运行的QQ,表示为QQC吧。另一个就是你的手机上运行的QQ,表示QQT吧。在QQC上给QQT好友命名,命名尽量复杂点,这样可以避免一些事故,具体原因后面看了就会知道。这里选择命名为“RemotingShutDownWorker”,然后把QQC设置为弹窗模式(就是有一条新的消息后,弹出发送

3、消息者的窗口)。这样QQT向QQC发送一个消息之后就会弹出一个窗体,窗体的标题就是“RemotingShutDownWorker”。     基于这一点,应该首先这样一个程序,它定期扫描当前屏幕最顶层的所有窗体的标题,如果发现有标题为“RemotingShutDownWorker”时执行关机操作。选择编程语言为C语言,编程环境是VS2010,使用的模板为WIN32CONSOLEAPPLICATION。    另外还需要注意的几个地方就是:l 程序运行过程中不需要显示窗体l 程序应该能够开机自启l 程序应该每间隔一段时间扫

4、描一次,否则CPU亚历山大      第一点,比较容易实现,在程序中添加一句“#pragmacomment(linker,"/subsystem:"windows"/entry:"mainCRTStartup"")”就可以了。第二点,自启的话也很简单,把这个可执行程序的快捷方式拷贝到Windows启动文件夹中就哦了。第三点,调用Sleep函数,设置一个间隔时间(例如:5秒?)。        把代码贴在下面,仅供参考~1./* 2. 3.*Author:lichao 4. 5.*Date:01-14-2012 6

5、. 7.*Description:Shutdown the computer remotely by mobile phone 8. 9.*/ 10. 11.#include 12. 13.#include 14. 15.#define TITLE_LENGTH 256 16. 17.#define EXIT_SUCCESS 0 18. 19.#pragma comment(linker,"/subsystem:"windows" /entry:"mainCRTStartup

6、"") 20. 21.BOOL CALLBACK lpMyEnumFunc(HWND hwnd, LPARAM lParam) 22. 23.{ 24. 25.    TCHAR szTitle[TITLE_LENGTH]; 26. 27.    GetWindowTextW(hwnd,szTitle,TITLE_LENGTH); 28. 29.    if( 0==wcscmp(szTitle,TEXT("RemotingShutDownWorker"))) 30. 31.    { 32. 33.        B

7、OOL *pDetected=(BOOL *)lParam; 34. 35.        *pDetected=true; 36. 37.        return 0; 38. 39.    } 40. 41.    return 1; 1. 2.} 3. 4.int main() 5. 6.{ 7. 8.    BOOL bDetected=false; 9. 10.    BOOL *pDetected=&bDetected; 11. 12.    while(!bDetected) 13. 14.    { 

8、15. 16.        EnumWindows(lpMyEnumFunc,(LPARAM)pDetected); 17. 18.        Sleep(5000); 19. 20.    } 21. 22.    //::MessageBoxW(NULL,TEXT("将要关机"),TEXT("远程关机"),

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。