首页
社区
课程
招聘
[求助][讨论]请教大家一下远程关机的问题?谢谢指点和讨论
发表于: 2006-8-31 14:29 4626

[求助][讨论]请教大家一下远程关机的问题?谢谢指点和讨论

2006-8-31 14:29
4626
大家好,无意中看到了InitiateSystemShutdown这个函数,看它的意思是可以实现远程关机,于是我在我机房的局域网中想关掉旁边的一个电脑
代码如下:
void CTestDlg::OnButton1()
{
   // TODO: Add your control notification handler code here
    HANDLE   hToken;     
    TOKEN_PRIVILEGES   tkp;   
    //得到进程权标   
    if (!OpenProcessToken(GetCurrentProcess(),              TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
        {
                MessageBox("Wrong1");
                    return;  
        }
    //得到关机的特权的LUID   
    LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid);   
   
    tkp.PrivilegeCount   =   1;//设置一个特权   
    tkp.Privileges[0].Attributes   =   SE_PRIVILEGE_ENABLED;        
    //得到进程关机的特权   
    BOOL bOK = AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0);   
      
    //不应该只是测试AdjustTokenPrivileges的返回值   
    if (!bOK)   
          {
                MessageBox("Wrong2");
                    return;  
        }  
       
        bOK = InitiateSystemShutdown("\\\\211.71.74.133",//不知道\\\\这样写对不对?
                                         TEXT("Hello"),                                                   5,                                                           TRUE,                                                           TRUE
                                );
        if (!bOK)
        {
                MessageBox("Wrong3");
                return ;
        }
}
我机房的机子都是XP,为什么我的程序老不成功啊
我自己试着调试了一下,老在InitiateSystemShutdown这个函数执行的时候说“找不到网络路径”为什么啊?请各位看雪高人探讨解答
                                             红火蚁拜谢

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
好像你只是提升了程序本身的权限,正常情况下,要关闭远程序机器估计要得到域控制器的权限才行,如果使用黑手段,最起码也要得到远程序机器的系统管理权限才成。我也只是说说而已,完全是个人看法,呵呵
2006-9-5 03:25
0
游客
登录 | 注册 方可回帖
返回
//