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

远程关机  时间:2021-04-14  阅读:()

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

第一个问题就是手机和计算机通信问题这个确实比较棘手。首先计算机在内网手机的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远程关机效果图

ParkinHost:俄罗斯离岸主机,抗投诉VPS,200Mbps带宽/莫斯科CN2线路/不限流量/无视DMCA/55折促销26.4欧元 /年起

外贸主机哪家好?抗投诉VPS哪家好?无视DMCA。ParkinHost今年还没有搞过促销,这次parkinhost俄罗斯机房上新服务器,母机采用2个E5-2680v3处理器、128G内存、RAID10硬盘、2Gbps上行线路。具体到VPS全部200Mbps带宽,除了最便宜的套餐限制流量之外,其他的全部是无限流量VPS。ParkinHost,成立于 2013 年,印度主机商,隶属于 DiggDigi...

华为云年中聚惠618活动,新用户专区,云服务器低至88元/年,3年仅580.98元,热销抢购中,最后2天!

华为云怎么样?华为云用在线的方式将华为30多年在ICT基础设施领域的技术积累和产品解决方案开放给客户,致力于提供稳定可靠、安全可信、可持续创新的云服务,做智能世界的“黑土地”,推进实现“用得起、用得好、用得放心”的普惠AI。华为云作为底座,为华为全栈全场景AI战略提供强大的算力平台和更易用的开发平台。本次年终聚惠618活动相当给力,1核2G内存1m云耀云服务器仅88元/年起,送主机安全基础版套餐,...

vdsina:俄罗斯VPS(datapro),6卢布/天,1G内存/1核(AMD EPYC 7742)/5gNVMe/10T流量

今天获得消息,vdsina上了AMD EPYC系列的VDS,性价比比较高,站长弄了一个,盲猜CPU是AMD EPYC 7B12(经过咨询,详细CPU型号是“EPYC 7742”)。vdsina,俄罗斯公司,2014年开始运作至今,在售卖多类型VPS和独立服务器,可供选择的有俄罗斯莫斯科datapro和荷兰Serverius数据中心。付款比较麻烦:信用卡、webmoney、比特币,不支持PayPal...

远程关机为你推荐
access数据库修复Access数据库恢复,有些表被损坏或有些表的部分记录被损坏,求解啊googlepr谷歌 PR值是什么意思internetexplorer无法打开Internet Explorer 无法打开?flashftp下载rmdown怎么下载csamy网络u盘你们谁知道网络硬盘怎么用网站制作套餐制作一个公司网站究竟需要多少费用呢??地址栏图标电脑地址栏上的所有图标怎么找?联系我们代码卸载失败!请联系我们帮助您解决!(错误代码13)--是什么情况discuz论坛discuz论坛怎么做
域名注册使用godaddy 长沙域名注册 韩国服务器租用 高防服务器租用选锐一 如何查询ip地址 godaddy域名解析 香港机房 轻博 私有云存储 qq数据库 怎么测试下载速度 超级服务器 google台湾 512mb 东莞主机托管 永久免费空间 买空间网 rewritecond 亿库 美国asp空间 更多