您的位置:首页 > 其它

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

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

[cpp] view
plaincopy

//这是关机函数  

  

void CShutdownApp::ShutDown()  

{  

 OSVERSIONINFO OsVersionInfo; //包含操作系统版本信息的数据结构   

 OsVersionInfo.dwOSVersionInfoSize= sizeof(OSVERSIONINFO);   

 GetVersionEx(&OsVersionInfo); //获取操作系统版本信息   

 if(OsVersionInfo.dwPlatformId!= VER_PLATFORM_WIN32_WINDOWS) // 对于Windows NT系统  

 {  

  HANDLE hToken; // 指向 access token的指针。  

  TOKEN_PRIVILEGES tkp; //保存用户权限列表的数据结构。  

  // Get a token for this process. 得到一个进程的access token,并将它放入到hToken中。  

  if (!OpenProcessToken(GetCurrentProcess(),   

   TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))   

   AfxMessageBox("OpenProcessToken");   

  // Get the LUID for the shutdown privilege. 得到关机权限的LUID,并且放入到TOKEN_PRIVILEGES结构体的第一个列表项中。   

  LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,   

   &tkp.Privileges[0].Luid);   

  tkp.PrivilegeCount = 1; // one privilege to set 将关机权限对应的LUID的对应属性改为可用 SE_PRIVILEGE_ENABLED;   

  tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;   

  // Get the shutdown privilege for this process. 调整进程的access token,使它具有shutdown权限的可用属性。  

  AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,   

   (PTOKEN_PRIVILEGES)NULL, 0);   

  // Cannot test the return value of AdjustTokenPrivileges.   

  if (GetLastError() != ERROR_SUCCESS)   

   AfxMessageBox("AdjustTokenPrivileges");   

  // Shut down the system and force all applications to close.   

  if (!ExitWindowsEx(EWX_SHUTDOWN |EWX_POWEROFF, 0))   

   //EWX_REBOOT,EWX_LOGOFF (uFlags)   

   //EWX_FORCE,EWX_FORCEIFHUNG (Value)   

   AfxMessageBox("ExitWindowsEx");  

 }  

 else  

 {  

  //Windows98,调用ExitWindowsEx()函数重新启动计算机   

  ExitWindowsEx(EWX_SHUTDOWN |EWX_POWEROFF,0); //可以改变第一个参数,实现注销用户、   

  //关机、关闭电源等操作   

 }  

}  

  

//这是读取网络文件的函数  

  

void CShutdownDlg::ShutDownByRemote()  

{  

 char url[256] = "http://www.renyugang.cn/s/shutdown.ini";  

    HINTERNET hNet = ::InternetOpen("1986", //当HTTP协议使用时,这个参数随意赋值  

  PRE_CONFIG_INTERNET_ACCESS, //访问类型指示Win32网络函数使用登记信息去发现一个服务器。  

  NULL,  

  INTERNET_INVALID_PORT_NUMBER, //使用INTERNET_INVALID_PORT_NUMBER相当于提供却省的端口数。  

  0 //标志去指示使用返回句句柄的将来的Internet函数将"不"为回调函数发送状态信息  

  ) ;  

    HINTERNET hUrlFile = ::InternetOpenUrl(hNet, //从InternetOpen返回的句柄  

  (char *)url, //需要打开的URL  

  NULL, //用来向服务器传送额外的信息,一般为NULL  

  0, //用来向服务器传送额外的信息,一般为 0  

  INTERNET_FLAG_RELOAD, //InternetOpenUrl行为的标志  

  0) ; //信息将不会被送到状态回调函数  

    char buffer[1024] ;  

 memset(buffer,0,1024);  

    DWORD dwBytesRead = 0;  

    BOOL bRead = ::InternetReadFile(hUrlFile, //InternetOpenUrl返回的句柄  

  buffer, //保留数据的缓冲区  

  sizeof(buffer),  

  &dwBytesRead); //指向包含读入缓冲区字节数的变量的指针;  

   

 //如果返回值是TRUE,而且这里指向0,则文件已经读到了文件的末尾。  

    ::InternetCloseHandle(hUrlFile);  

    ::InternetCloseHandle(hNet) ;  

 if (strcmp(buffer,"<?command shutdown ?>")==0)  

 {  

  this->SetWindowText("接收到远程指令,系统即将关机!");  

  SetDlgItemText(IDC_STATIC_NOWTIME,"接收到远程指令,系统即将关机!");  

  KillTimer(1);  

  shutdown();  

 }  

}  

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

[php] view
plaincopy

//notify.php  

  

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">  

<html xmlns="http://www.w3.org/1999/xhtml">  

<head>  

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  

<title>远程控制端</title>  

</head>  

<body>  

<center>  

<a href="notify.php">通知远程主机关机</a><br/>  

<a href="deleteini.php">删除shutdown.ini</a>  

<?php  

if(copy("../shutdown.ini","shutdown.ini")==true)  

{  

 echo "<br/>notify target host successfully";  

}  

?>  

</center>  

</body>  

</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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: