版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。

PS:本人一月份写的文章,贴在这里。

昨天真是奔波的一天,中午烤肉逛街下午寿司看电影(陪老婆)。今天中午又是麻辣诱惑。额,不争气的肠胃果然导致我拉肚子了。不过,话说昨天下午在石景山万达吃完寿司后,看了《金陵十三钗》倒是颇有感触,这部电影(又名《处女保卫战》)旗帜鲜明的打出了这样口号:让处女先走。老谋子的电影越来越不行了,首先是不知道这部电影的主题是什么?然后是不知道这部电影的主角是什么?最后但也是最重要的一点就是不知道这部电影到底是哪个国家拍的?片头不少人名后面都缀着不同的国家,如日本,美国,中国等等,一片混乱。看点就是开头不多的战争场面,枪声炮声做的很逼真了,完全超越了以前战争场面的那种稚气,还有就是石景山万达国际影城的音响效果确实不错,好几次枪声都nearly shock the shit out of me(哈哈,开个低俗的玩笑)。影片中佟大为的华丽的怎么看都像是根据《这个杀手不太冷》这部电影结尾时杀手阵亡的剧情模仿的以衬托个人主义重复滴斑驳了日本人死亡人数:中国人死亡人数:1:10的不争气历史事实啊。恩,电影不错,让我有收获~

晚上回来的时候,没赶上最后一班地铁,导致我和老婆租个黑的回来,被狠狠的blackmail了几刀,哎,伤不起。回来的时候,直接回的大运村,实验室都没来得及回去,所以电脑也没关。想起导师平时让我们注意关机,颇感愧疚,昨晚回去后想了会,决定实现用手机远程关掉电脑的一个程序(总算扯到主题了~~)。

第一个问题就是手机和计算机通信问题,这个确实比较棘手。首先计算机在内网,手机的ip也是随机分配,两者要实现无缝对接,必须有一个外网IP的服务器,手机和计算机的客户端都主动登录到这个服务器上,然后才能对接。这个,搭个服务器太麻烦(希望IPV6能赶快普及啊~~)。其实,仔细想想我们可以利用现有的手机和计算机的点对点通信工具,比如飞信,QQ之类的,还有就是使用邮件。

使用邮件的解决方案就是,通过手机给自己发送一封邮件,然后再计算机上跑一个守护进程,定期扫描邮箱,并去读邮件,根据主题(例如:关机?)再实施关机动作。可以使用Python实现,工作量应该不是很大(MAX:3 hours).这个缺点就是实时性不太好,还是使用现有的即时通信工具实时性好点。

我选择的方案就是使用QQ,你需要注册两个QQ,一个是你的计算机端上运行的QQ,表示为QQC吧。另一个就是你的手机上运行的QQ,表示QQT吧。在QQC上给QQT好友命名,命名尽量复杂点,这样可以避免一些事故,具体原因后面看了就会知道。这里选择命名为“RemotingShutDownWorker”,然后把QQC设置为弹窗模式(就是有一条新的消息后,弹出发送消息者的窗口)。这样QQT向QQC发送一个消息之后就会弹出一个窗体,窗体的标题就是“RemotingShutDownWorker”。

基于这一点,应该首先这样一个程序,它定期扫描当前屏幕最顶层的所有窗体的标题,如果发现有标题为“RemotingShutDownWorker”时执行关机操作。选择编程语言为C语言,编程环境是VS2010,使用的模板为WIN32 CONSOLE APPLICATION。

另外还需要注意的几个地方就是:

l  程序运行过程中不需要显示窗体

l  程序应该能够开机自启

l  程序应该每间隔一段时间扫描一次,否则CPU亚历山大

第一点,比较容易实现,在程序中添加一句“#pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"")”就可以了。第二点,自启的话也很简单,把这个可执行程序的快捷方式拷贝到Windows启动文件夹中就哦了。第三点,调用Sleep函数,设置一个间隔时间(例如:5秒?)。

把代码贴在下面,仅供参考~

  1. /*
  2. *Author:lichao
  3. *Date:01-14-2012
  4. *Description:Shutdown the computer remotely by mobile phone
  5. */
  6. #include<windows.h>
  7. #include<stdio.h>
  8. #define TITLE_LENGTH 256
  9. #define EXIT_SUCCESS 0
  10. #pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"")
  11. BOOL CALLBACK lpMyEnumFunc(HWND hwnd, LPARAM lParam)
  12. {
  13. TCHAR szTitle[TITLE_LENGTH];
  14. GetWindowTextW(hwnd,szTitle,TITLE_LENGTH);
  15. if( 0==wcscmp(szTitle,TEXT("RemotingShutDownWorker")))
  16. {
  17. BOOL *pDetected=(BOOL *)lParam;
  18. *pDetected=true;
  19. return 0;
  20. }
  21. return 1;
  22. }
  23. int main()
  24. {
  25. BOOL bDetected=false;
  26. BOOL *pDetected=&bDetected;
  27. while(!bDetected)
  28. {
  29. EnumWindows(lpMyEnumFunc,(LPARAM)pDetected);
  30. Sleep(5000);
  31. }
  32. //::MessageBoxW(NULL,TEXT("将要关机"),TEXT("远程关机"),MB_OK);
  33. system("shutdown -s -t 20");
  34. return EXIT_SUCCESS;
  35. }

图1是运行效果截图,远程关机测试很顺利。最后一个问题就是怎么通过程序把显示器关掉,这个貌似必须通过机械开关关掉,虽然远程关机以后,由于屏幕不在收到主机箱发来的信号会自动进入节电模式,电流估计小的和充电器没有工作情况下差不多,所以应该不会浪费多少瓦特。但是,确实是个应该解决的问题,这个有时间再搞搞~~,先不玩了,赶快赶一个导师布置的并行算法。。。。。。

图1:远程关机效果图

本文出自 “相信并热爱着” 博客,转载请与作者联系!

用手机对电脑进行远程关机相关推荐

  1. php cmd 远程关机 权限,如何对电脑进行远程关机,远程关机命令操作方法介绍

    如何对电脑进行远程关机,远程关机命令操作方法介绍 发布时间:2017-04-12 13:22 来源:互联网 当前栏目:电脑技巧 远程关机是什么?顾名思义,远程关机就是一种能够通过远距离的操作,而实现控 ...

  2. 手机遥控电脑 chrome远程桌面

    电脑端:用chrome浏览器安装chrome remote desktop应用(https://chrome.google.com/webstore/search/chrome%20remote%20 ...

  3. 域计算机远程无法关机,好不好能控制局域网里面的其他电脑,可以远程关机和重启,不要别人的同意的那种...

    这不是木马当然杀不掉,也根本不用什么重装,有三种方法解决: 1.你的电脑被远程控制了 ,你要先切断电源,再重新以安全模式(启动同时按F8键)启动,进行重新设置,就可以解除远程控制 2.关闭" ...

  4. 域计算机远程无法关机,我想通过网络关掉局域网里的电脑, 在远程关机的对话框里浏览不了, 说我的目录服务当前不可用如何办?, 555, 好心人帮忙啊...

    满意答案 edjfmdtlvbn 2013.01.14 采纳率:58%    等级:2 已帮助:17494人 "差不多是你木有设置ActiveDirectory 目录服务,设置一次好了 假如 ...

  5. 黑科技之手机与电脑之间的远程管理

    现如今手机与电脑的功能越来越强大,只要各设备同处同一局域网下,手机与电脑,电脑与电脑,手机与手机之间的远程操作都是分分钟三下五除二就能搞定的事.网上方法很多,这里我就举上常用的几个方法. 一.电脑对手 ...

  6. 计算机远程用户关机指令,远程关机命令如何操作【详细步骤】

    远程关机是什么?顾名思义,远程关机就是一种能够通过远距离的操作,而实现控制电脑从而进行关机的一种功能,由于现在电脑的普遍存在,我们也会在电脑运用中存在一些私人的信息和资料,那么,为了避免我们在工作和学 ...

  7. 计算机手机远程控制,手机怎么远程控制电脑?手机远程控制电脑步骤详解

    随着互联网技术的发达,手机和电脑一样成为人们生活中很重要的东西,也许是关乎人们的工作也许是生活中的事情,其实都很重要.但是电脑的体积还是比较大的,相对于手机来说,携带总是不方便的,就连 笔记本电脑 也 ...

  8. html5手机远程控制电脑,手机怎么远程控制电脑?手机远程控制电脑步骤详解

    随着互联网技术的发达,手机和电脑一样成为人们生活中很重要的东西,也许是关乎人们的工作也许是生活中的事情,其实都很重要.但是电脑的体积还是比较大的,相对于手机来说,携带总是不方便的,就连 笔记本电脑 也 ...

  9. 如何使用计算机远程关闭手机软件,如何使用手机远程遥控电脑关机?手机遥控电脑关机方法图文介绍...

    电脑定时关机很正常,但是你试过手机遥控电脑关机吗?或许你有时候很懒,相关电脑如何通过手机遥控关机.现在已经可以实现,简单就可以遥控电脑关机.一个屌丝般的软件,高富帅般的技术,下边详细介绍一下如何使用手 ...

最新文章

  1. python要不要装pycharm-python安装教程 Pycharm安装详细教程
  2. 从人的角度分析进销存管理的需求
  3. 根据网络状态获取Ip地址
  4. 条件语句练习-比分预测
  5. Unit23 Can I help you?
  6. [20151126]IMPDP TRANSFORM参数.TXT
  7. 深度学习中常用的学习率衰减策略及tensorflow实现
  8. Linux—磁盘和文件系统管理(二)
  9. SQL:postgresql中拼接字符串
  10. hp进系统卡在w ndows界面,win10系统HP开机卡在LOGO界面的解决方法
  11. php 省市区县 四级联动,GitHub - yupoxiong/region: ThinkPHP5/6省市区(县)街道四级联动扩展...
  12. 谷歌搜索、谷歌学术、Github的镜像网站
  13. plsql不读操作系统环境变量_64位Oracle客户端上PLSQL无法识别ORACLE_HOME解决方案
  14. 什么人能成为Leader,大Leader该做什么
  15. 矩阵等价、相似、合同的定义及性质
  16. 阿里云ECS服务器安装宝塔BT面板图文教程
  17. ubuntu中安装比较工具meld及其使用
  18. GPIO的寄存器BSRR和BRR使用摘抄汇总
  19. NPP/VIIRS DNB/SDR影像下载与预处理
  20. Zxing3.4.0 --最新版本集成 --demo 安卓--

热门文章

  1. windows 7修改网络名称
  2. excel工具栏隐藏了怎么办_你会用 Excel照相机吗?
  3. 华人捕鱼可不可以把死鱼的几率调试的简单一点
  4. 【Python】多个文件夹合并到一个文件夹中
  5. Android调用聚 合 API
  6. 数字逻辑课程设计#Quartus II
  7. 软件开发综合实践实习小结
  8. 养肾=养命!这7个最伤肾的行为你犯了吗?程序员收藏
  9. 运营︱快速提高app日活的方法
  10. 干货 | 95后运维小哥20天+通过Elastic认证考试经验分享