通过手机来实现远程关机的思想

来源:互联网 发布:商标查询软件 编辑:程序博客网 时间:2024/04/29 15:25

我说一下我的思想:先写一个关机程序,这个程序一直访问网络上的一个文件,这个文件是我们事先准备好的,里面有命令字符串,程序读取这个文件的内容,如果发现是关机命令,就执行关机命令,这样就可以通过一个网络文件来向远程计算机发命令了。想要通过手机来往网络文件里写命令,最好不过的是采用网页的形式了,只要在网站服务器上事先写好一个网页,该网页可以往配置文件里写命令,这样就好了。网页可以采用JSP、PHP、asp.net等书写,当然要取决于你的网站服务器了。这样通过手机访问相关网页,相关网页往配置文件里写入关机命令,再由运行在远程主机上的程序读取,最后实现关机。废话不说了,上代码。

[cpp] view plaincopy
  1. //这是关机函数  
  2.   
  3. void CShutdownApp::ShutDown()  
  4. {  
  5.  OSVERSIONINFO OsVersionInfo; //包含操作系统版本信息的数据结构   
  6.  OsVersionInfo.dwOSVersionInfoSize= sizeof(OSVERSIONINFO);   
  7.  GetVersionEx(&OsVersionInfo); //获取操作系统版本信息   
  8.  if(OsVersionInfo.dwPlatformId!= VER_PLATFORM_WIN32_WINDOWS) // 对于Windows NT系统  
  9.  {  
  10.   HANDLE hToken; // 指向 access token的指针。  
  11.   TOKEN_PRIVILEGES tkp; //保存用户权限列表的数据结构。  
  12.   // Get a token for this process. 得到一个进程的access token,并将它放入到hToken中。  
  13.   if (!OpenProcessToken(GetCurrentProcess(),   
  14.    TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))   
  15.    AfxMessageBox("OpenProcessToken");   
  16.   // Get the LUID for the shutdown privilege. 得到关机权限的LUID,并且放入到TOKEN_PRIVILEGES结构体的第一个列表项中。   
  17.   LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,   
  18.    &tkp.Privileges[0].Luid);   
  19.   tkp.PrivilegeCount = 1; // one privilege to set 将关机权限对应的LUID的对应属性改为可用 SE_PRIVILEGE_ENABLED;   
  20.   tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;   
  21.   // Get the shutdown privilege for this process. 调整进程的access token,使它具有shutdown权限的可用属性。  
  22.   AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,   
  23.    (PTOKEN_PRIVILEGES)NULL, 0);   
  24.   // Cannot test the return value of AdjustTokenPrivileges.   
  25.   if (GetLastError() != ERROR_SUCCESS)   
  26.    AfxMessageBox("AdjustTokenPrivileges");   
  27.   // Shut down the system and force all applications to close.   
  28.   if (!ExitWindowsEx(EWX_SHUTDOWN |EWX_POWEROFF, 0))   
  29.    //EWX_REBOOT,EWX_LOGOFF (uFlags)   
  30.    //EWX_FORCE,EWX_FORCEIFHUNG (Value)   
  31.    AfxMessageBox("ExitWindowsEx");  
  32.  }  
  33.  else  
  34.  {  
  35.   //Windows98,调用ExitWindowsEx()函数重新启动计算机   
  36.   ExitWindowsEx(EWX_SHUTDOWN |EWX_POWEROFF,0); //可以改变第一个参数,实现注销用户、   
  37.   //关机、关闭电源等操作   
  38.  }  
  39. }  
  40.   
  41. //这是读取网络文件的函数  
  42.   
  43. void CShutdownDlg::ShutDownByRemote()  
  44. {  
  45.  char url[256] = "http://www.renyugang.cn/s/shutdown.ini";  
  46.     HINTERNET hNet = ::InternetOpen("1986"//当HTTP协议使用时,这个参数随意赋值  
  47.   PRE_CONFIG_INTERNET_ACCESS, //访问类型指示Win32网络函数使用登记信息去发现一个服务器。  
  48.   NULL,  
  49.   INTERNET_INVALID_PORT_NUMBER, //使用INTERNET_INVALID_PORT_NUMBER相当于提供却省的端口数。  
  50.   0 //标志去指示使用返回句句柄的将来的Internet函数将"不"为回调函数发送状态信息  
  51.   ) ;  
  52.     HINTERNET hUrlFile = ::InternetOpenUrl(hNet, //从InternetOpen返回的句柄  
  53.   (char *)url, //需要打开的URL  
  54.   NULL, //用来向服务器传送额外的信息,一般为NULL  
  55.   0, //用来向服务器传送额外的信息,一般为 0  
  56.   INTERNET_FLAG_RELOAD, //InternetOpenUrl行为的标志  
  57.   0) ; //信息将不会被送到状态回调函数  
  58.     char buffer[1024] ;  
  59.  memset(buffer,0,1024);  
  60.     DWORD dwBytesRead = 0;  
  61.     BOOL bRead = ::InternetReadFile(hUrlFile, //InternetOpenUrl返回的句柄  
  62.   buffer, //保留数据的缓冲区  
  63.   sizeof(buffer),  
  64.   &dwBytesRead); //指向包含读入缓冲区字节数的变量的指针;  
  65.    
  66.  //如果返回值是TRUE,而且这里指向0,则文件已经读到了文件的末尾。  
  67.     ::InternetCloseHandle(hUrlFile);  
  68.     ::InternetCloseHandle(hNet) ;  
  69.  if (strcmp(buffer,"<?command shutdown ?>")==0)  
  70.  {  
  71.   this->SetWindowText("接收到远程指令,系统即将关机!");  
  72.   SetDlgItemText(IDC_STATIC_NOWTIME,"接收到远程指令,系统即将关机!");  
  73.   KillTimer(1);  
  74.   shutdown();  
  75.  }  
  76. }  


//网页代码也上了吧 PHP的

[php] view plaincopy
  1. //notify.php  
  2.   
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">  
  4. <html xmlns="http://www.w3.org/1999/xhtml">  
  5. <head>  
  6. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
  7. <title>远程控制端</title>  
  8. </head>  
  9. <body>  
  10. <center>  
  11. <a href="notify.php">通知远程主机关机</a><br/>  
  12. <a href="deleteini.php">删除shutdown.ini</a>  
  13. <?php  
  14. if(copy("../shutdown.ini","shutdown.ini")==true)  
  15. {  
  16.  echo "<br/>notify target host successfully";  
  17. }  
  18. ?>  
  19. </center>  
  20. </body>  
  21. </html>  


为了全面起见,你还要提供删除配置文件的代码。不然那个程序一运行就会关机啊。

http://xuanzai86042.blog.com
http://u7yvdd.blog.com
http://jiapufu986381.blog.com
http://dsd7y6f.blog.com
http://denghejiao847.blog.com
http://s8uusi.blog.com
http://shanla646.blog.com
http://si8is.blog.com
http://yuzhai71385.blog.com
http://y7shid.blog.com
http://chuiheixio654.blog.com
http://ku8duv.blog.com
http://piaodu985.blog.com
http://x8sdf9d.blog.com
http://shiyanping2265.blog.com
http://u8dsuv.blog.com
http://cigaogan132.blog.com
http://fdgf63.blog.com
http://yongba563.blog.com
http://sad7yds.blog.com
http://zhandunshai4584.blog.com
http://sdia8dv.blog.com
http://yutuila676.blog.com
http://asd6gff.blog.com
http://panglu5481.blog.com
http://maisdu8s.blog.com
http://zhishe427.blog.com
http://sad8u8a.blog.com
http://rongtankan202.blog.com
http://tuku768s.blog.com
http://buyandang3750.blog.com
http://sdy7b.blog.com
http://qiuzhou7451.blog.com
http://kus7uf.blog.com
http://jingyu73683.blog.com
http://sy7s8.blog.com
http://guanxi044.blog.com
http://s8uf6ds.blog.com
http://tianye72875.blog.com
http://liuhetu8s.blog.com
http://buboyi826.blog.com
http://yus8sf.blog.com
http://mijian587.blog.com
http://s78sdtu.blog.com
http://jixiu82363.blog.com
http://afeitus7.blog.com
http://dingying88261.blog.com
http://afeis67.blog.com
http://luncon752.blog.com
http://su8sdv.blog.com
http://dutangfa732080.blog.com
http://s7sjudg.blog.com
http://yeyunh327.blog.com
http://s7sd7sfs.blog.com
http://zuota320.blog.com
http://s7sud7.blog.com
http://jiluo5235.blog.com
http://s8uds7.blog.com
http://duidij133.blog.com
http://sd898cc.blog.com
http://tanran482.blog.com
http://s8ddvvx.blog.com
http://shoucong908166.blog.com
http://baimai67s.blog.com
http://xuanyin85030.blog.com
http://lo9sjcc.blog.com
http://nuozixi469484.blog.com
http://hongjie789.blog.com
http://yunong404.blog.com
http://usd8vc.blog.com
http://gongzh781.blog.com
http://s8ud7f.blog.com
http://shihankui733264.blog.com
http://hu8sjdx.blog.com
http://chenba625.blog.com
http://wanhaw78s.blog.com
http://renren587.blog.com
http://vipbaiwana.blog.com
http://shizha81405.blog.com
http://s8ud8sv.blog.com
http://meinai385.blog.com
http://s7ds7dc.blog.com
http://nayong239.blog.com
http://tukus8d.blog.com
http://lingxu73681.blog.com
http://baiwe7sd.blog.com
http://shupu5070.blog.com
http://sd8s7dw.blog.com
http://muma487.blog.com
http://hongjie899.blog.com
http://yucuoy987.blog.com
http://s8dus8d.blog.com
http://ganxu85734.blog.com
http://ji8ussa.blog.com
http://didang154.blog.com
http://lonjiu88.blog.com
http://baoyu81034.blog.com
http://humingtuku.blog.com
http://luozhang7881.blog.com
http://xianagg789.blog.com
http://lianhaot936.blog.com
http://yu897e.blog.com
http://chenme145.blog.com
http://huming896.blog.com
http://huanglaogang908.blog.com
http://kaijian789.blog.com
http://xuanzhen81825.blog.com
http://tk66778.blog.com
http://lanzan6842.blog.com
http://yy7781.blog.com
http://yeguda043.blog.com
http://hi9898.blog.com
http://zuoyuan81767.blog.com
http://shngtu765.blog.com
http://kengna068.blog.com
http://baimao898.blog.com
http://jilulu795.blog.com
http://xghm118.blog.com
http://diaozhang6880.blog.com
http://jltu321.blog.com
http://dengyong85701.blog.com
http://jltkzs567.blog.com
http://wanxu77831.blog.com
http://ju88336.blog.com
http://benche338.blog.com
http://jl118tk.blog.com
http://muhaoyua163260.blog.com
http://jjijhu889.blog.com
http://niuzhi80084.blog.com
http://jaods667.blog.com
http://xunzhu816.blog.com
http://ju8sdss.blog.com
http://chengleng581.blog.com
http://xiangg782.blog.com
http://fanyou76661.blog.com
http://sjdsiu78.blog.com
http://jxrscrpcrq548.blog.com
http://jiu8d88.blog.com
http://tongxiu6342.blog.com
http://i88899.blog.com
http://haojiaos437763.blog.com
http://jisd78s.blog.com
http://zhuyan87250.blog.com
http://jiu898s.blog.com
http://zuoyan81776.blog.com
http://su88889.blog.com
http://jiannaoxie766.blog.com
http://cu56789.blog.com
http://zuozhou81184.blog.com
http://huimimei.blog.com
http://qiaosui385.blog.com
http://xianf678.blog.com
http://duzhu6666.blog.com
http://lxf1112.blog.com
http://paipuw459.blog.com
http://u8uuus.blog.com
http://xingliao386927.blog.com
http://aaa8ssv.blog.com
http://zuoxun72033.blog.com
http://nishi789.blog.com
http://zhongzha209117.blog.com
http://jiulong6a.blog.com
http://luxiu70834.blog.com
http://ju88789.blog.com
http://xzzjbhhmpy7289.blog.com
http://liuhetk118.blog.com
http://baoyun83348.blog.com
http://masha787.blog.com
http://shengzha6340.blog.com
http://zhens886.blog.com
http://jiaomi053.blog.com
http://kiu72a.blog.com
http://ranxi464.blog.com
http://shi8781.blog.com
http://bixitui017.blog.com
http://shsd6543.blog.com
http://piuti1.blog.com
http://aniy787.blog.com
http://guizhongzh646.blog.com
http://y6y6yys.blog.com
http://mituo500.blog.com
http://juju776s.blog.com
http://huanxi767.blog.com
http://juu8uu8.blog.com
http://shancuopa888.blog.com
http://mjj871.blog.com
http://diaoyuan6572.blog.com
http://sh7787s.blog.com
http://duqin456.blog.com
http://ghu7871.blog.com
http://yuelei981.blog.com
http://lolo009.blog.com
http://zizhiwen380499.blog.com
http://lok9909.blog.com
http://zuoxiang578.blog.com
http://iiu88989.blog.com
http://shenxi444.blog.com
http://hu88778.blog.com
http://yaoling477.blog.com
http://hu88890.blog.com
http://heshao458.blog.com
http://huu8887.blog.com
http://jingxun74026.blog.com
http://huuu778.blog.com
http://zhishibi03400.blog.com
http://juu7879.blog.com
http://fangwodui74193.blog.com
http://lo99889.blog.com
http://yuyun80146.blog.com
http://hu77889.blog.com
http://xianyipa393360.blog.com
http://ju77886.blog.com
http://shanlezh774.blog.com
http://gq77886.blog.com
http://yuanha220.blog.com
http://wei8897.blog.com
http://shijiu672.blog.com
http://hu67812.blog.com
http://xianta561.blog.com
http://ty78u1.blog.com
http://pingqi403.blog.com
http://siy6786.blog.com
http://renqiaoxing326440.blog.com
http://huy3456.blog.com
http://ganya87860.blog.com
http://ju34123.blog.com
http://zhicituo1957.blog.com
http://tjtk869.blog.com
http://jixun88217.blog.com
http://tjian666.blog.com
http://tianzhan72803.blog.com
http://ft6786.blog.com
http://qulong5184.blog.com
http://hy4531.blog.com
http://louying6361.blog.com
http://tjanjian168.blog.com
http://dangxin267.blog.com
http://wi7891.blog.com
http://lundun397.blog.com
http://yif678q.blog.com
http://zuozhang82012.blog.com
http://yinshu789.blog.com
http://jiexio105431.blog.com
http://dazhof678.blog.com
http://liaosu509.blog.com
http://sus7d81.blog.com
http://xiande376.blog.com
http://zheshijie1.blog.com
http://yuanli716.blog.com
http://shehui6761.blog.com
http://huzai73714.blog.com
http://zheshi678.blog.com
http://luzhi6112.blog.com
http://zhani7891.blog.com
http://wenjiz705.blog.com
http://nagwe312.blog.com
http://zuoyu81284.blog.com
http://zheshiwei.blog.com
http://gongyan82421.blog.com
http://jiush789.blog.com
http://zongying87454.blog.com
http://kyischi.blog.com
http://zhumu5803.blog.com
http://wobumu8.blog.com
dahongying.blog.com
bgtxckj.blog.com
bxjxjw.blog.com
xglhbjxyx.blog.com
bxjssct.blog.com
yjztsbj.blog.com
hjdxbmly.blog.com
bgtbml.blog.com
dftwwe.blog.com
xgbxjsj.blog.com
2014xjs.blog.com
bxjnbpt.blog.com
wwzbmls.blog.com
bxjxsb.blog.com
bengts.blog.com
lylxcbm.blog.com
liaoqian95754.blog.com
bjxflcz.blog.com
bjxtr.blog.com
bjyyxjs.blog.com
baixjxz.blog.com
ewqslts.blog.com
dahonglts.blog.com
bjxlhtk.blog.com
bxjtytk.blog.com
bjjct.blog.com
bxjnbdj.blog.com
bxjymmf.blog.com
dahygs.blog.com
taiywbm.blog.com
xbxjxjj.blog.com
bxjxslt.blog.com
bxjzldq.blog.com
bjjmt.blog.com
xjlhydt.blog.com
xglhcbmlt.blog.com
zyhzkbm.blog.com
bxjmbb.blog.com
bxjdq.blog.com
bxjcb.blog.com
bxjtmb.blog.com
kbbjx.blog.com
vbmlys.blog.com
xczbbml.blog.com
bxjrss.blog.com
lhcbxj.blog.com
xgbxjlh.blog.com
xcbjx.blog.com
bxjzlwz.blog.com
ffystdw.blog.com
lhcbxjxj.blog.com
xgsesxt.blog.com
106bxjs.blog.com
jiaoe360154.blog.com
bxj138q.blog.com
bxjztzl.blog.com
xgbjxq.blog.com
bxjtbss.blog.com
bxjktjm.blog.com
lylbxj.blog.com
xgbjxs.blog.com
bxjgkzl.blog.com
jiaosang13319.blog.com
bxjztzx.blog.com
bxjnbtms.blog.com
bjxwz.blog.com
bxjqnkjj.blog.com
chengdui29829.blog.com
bxjptlt.blog.com
bxjxckj.blog.com
xjbzt.blog.com
xglhcwz.blog.com
lhcbmlts.blog.com
bxjxjsk.blog.com
bxjtms.blog.com
bxjjwjh.blog.com
stxjbjx.blog.com
pailun21265.blog.com
bxjxjsgg.blog.com
bxjmysx.blog.com
zbbxj.blog.com
xcbmlts.blog.com
jiushou77787.blog.com
elysbxj.blog.com
bxjxfb.blog.com
dhybmlt.blog.com
bgtbmlts.blog.com
gongdan6360.blog.com
elysbxjlh.blog.com
bxjyjxj.blog.com
baomalts.blog.com
ysqylts.blog.com
pinfan594990.blog.com
hjbmlts.blog.com
qpgbmlts.blog.com
guaxia465319.blog.com
lhckjbm.blog.com
xglylbm.blog.com
dieyang775612.blog.com
lhcbml.blog.com
yancang5170.blog.com
dahydabml.blog.com
xgzkbmlt.blog.com
qingju5940.blog.com
gjbmlt.blog.com
jlltbm.blog.com
yudeng55573.blog.com
wdzgbml.blog.com
bgtaizb.blog.com
queshan3080.blog.com
bgtzcbm.blog.com
xgbgtxckj.blog.com
yigu1195.blog.com
bgtkjzb.blog.com
xgyzdsbg.blog.com
bjsyx.blog.com
liyue10899.blog.com
bgtjiem.blog.com
jianzhu2054.blog.com
xgbgtzb.blog.com
xgbzbbm.blog.com
liubian35722.blog.com
xgzbsp.blog.com
bgtzxzb.blog.com
yizhang09800.blog.com
yzbgtzc.blog.com
bgttpzbs.blog.com
ranyi23675.blog.com
tzbgtzb.blog.com
bgtyjzb.blog.com
bgtzbrjxz.blog.com
yzbgtjm.blog.com
bgtxczbkm.blog.com
ttfgse.blog.com
kjjgxgbgt.blog.com





0 0
原创粉丝点击