用手机对电脑进行远程关机
第一个问题就是手机和计算机通信问题这个确实比较棘手。首先计算机在内网手机的ip也是随机分配两者要实现无缝对接必须有一个外网IP的服务器手机和计算机的客户端都主动登录到这个服务器上然后才能对接。这个搭个服务器太麻烦希望IPV6能赶快普及啊~~ 。其实仔细想想我们可以利用现有的手机和计算机的点对点通信工具比如飞信 QQ之类的还有就是使
用邮件。
使用邮件的解决方案就是通过手机给自己发送一封邮件然后再计算机上跑一个守护进程定期扫描邮箱并去读邮件根据主题例如关机 再实施关机动作。可以使用Python实现工作量应该不是很大(MAX:3 hours) .这个缺点就是实时性不太好还是使用现有的即时通信工具实时性好点。
我选择的方案就是使用QQ你需要注册两个QQ一个是你的计算机端上运行的QQ表示为QQ C吧。另一个就是你的手机上运行的QQ表示QQT吧。在QQC上给QQT好友命名命名尽量复杂点这样可以避免一些事故具体原因后面看了就会知道。这里选择命名为“RemotingShutDownWorker” 然后把QQ C设置为弹窗模式就是有一条新的消息后弹出发送消息者的窗口 。这样Q QT向QQC发送一个消息之后就会弹出一个窗体窗体的标题就是“RemotingShutDownWorker” 。
基于这一点应该首先这样一个程序它定期扫描当前屏幕最顶层的所有窗体的标题如果发现有标题为“RemotingShutDownWorker”时执行关机操作。选择编程语言为C语言编程环境是VS2010使用的模板为WIN32 CONSOLEAPPLICATION。
另外还需要注意的几个地方就是
程序运行过程中不需要显示窗体
程序应该能够开机自启
程序应该每间隔一段时间扫描一次否则CPU亚历山大
第一点 比较容易实现在程序中添加一句“#pragmacomment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")”就可以了。第二点 自启的话也很简单把这个可执行程序的快捷方式拷贝到Wind ows启动文件夹中就哦了。第三点调用Sle ep函数设置一个间隔时间例如 5秒 。
把代码贴在下面仅供参考~
1. /*
2.
3. *Author:lichao
4.
5. *Date:01-14-2012
6.
7. *Description:Shutdown the computer remotely by mobile phone
8.
9. */
10.
11. #include<windows.h>
12.
13. #include<stdio.h>
14.
15. #define TITLE_LENGTH 256
16.
17. #define EXIT_SUCCESS 0
18.
19. #pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainC
RTStartup\"")
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. BOOL *pDetected=(BOOL *) lParam;
34.
35. *pDetected=true;
36.
37. return 0;
38.
39. }
40.
41. return 1 ;
42.
43. }
44.
45. int main()
46.
47. {
48.
49. BOOL bDetected=false;
50.
51. BOOL *pDetected=&bDetected;
52.
53. while( !bDetected)
54.
55. {
56.
57. EnumWindows(lpMyEnumFunc, (LPARAM)pDetected) ;
58.
59. Sleep(5000) ;
60.
61. }
62.
63. //: :MessageBoxW(NULL,TEXT("将要关机") ,TEXT("远程关机
") ,MB_OK) ;
64.
65. system("shutdown -s -t 20") ;
66.
67. return EXIT_SUCCESS;
68.
69. }
图1是运行效果截图远程关机测试很顺利。最后一个问题就是怎么通过程序把显示器关掉这个貌似必须通过机械开关关掉虽然远程关机以后 由于屏幕不在收到主机箱发来的信号会自动进入节电模式 电流估计小的和充电器没有工作情况下差不多所以应该不会浪费多少瓦特。但是确实是个应该解决的问题这个有时间再搞搞~~先不玩了赶快赶一个导师布置的并行算法。 。 。 。 。 。
图1远程关机效果图
v5net当前对香港和美国机房的走优质BGP+CN2网络的云服务器进行7折终身优惠促销,每个客户进线使用优惠码一次,额外有不限使用次数的终身9折优惠一枚!V5.NET Server提供的都是高端网络线路的机器,特别优化接驳全世界骨干网络,适合远程办公、跨境贸易、网站建设等用途。 官方网站:https://v5.net/cloud.html 7折优惠码:new,仅限新客户,每人仅限使用一次 9...
全球领先的IDC服务商华纳云“美国服务器”正式发售啦~~~~此次上线的美国服务器包含美国云服务器、美国服务器、美国高防服务器以及美国高防云服务器。针对此次美国服务器新品上线,华纳云也推出了史无前例的超低活动力度。美国云服务器低至3折,1核1G5M低至24元/月,20G DDos防御的美国服务器低至688元/月,年付再送2个月,两年送4个月,三年送6个月,且永久续费同价,更多款高性价比配置供您选择。...
RAKsmart 商家这几年还是在做事情的,虽然他们家顺带做的VPS主机并不是主营业务,毕竟当下的基础云服务器竞争过于激烈,他们家主营业务的独立服务器。包括在去年开始有新增多个数据中心独立服务器,包括有10G带宽的不限流量的独立服务器。当然,如果有需要便宜VPS主机的他们家也是有的,比如有最低月付1.99美元的美国VPS主机,而且可选安装Windows系统。这里商家有提供下面六款六月份的活动便宜V...