| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 919 人关注过本帖
标题:求助高手!
只看楼主 加入收藏
beauty2008
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-3-20
收藏
 问题点数:0 回复次数:7 
求助高手!
我想写个关于用C#自动关机的程序.
[DllImport("user32.dll", ExactSpelling=true, SetLastError=true) ]

internal static extern bool ExitWindowsEx( int flg, int rea );
用BUTTON 直接 调用ExitWindowsEx( int flg, int rea );
为什么不能用?
谁能告诉还需要什么 是不是需要先关闭线程什么?
我想编个简单的 只要能完成功能就行.请告诉赐教
搜索更多相关主题的帖子: 自动关机 
2008-03-20 23:21
gtrgtr
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2007-9-4
收藏
得分:0 
调用shutdown吧
调用的代码自己写吧,我是不会!

运行里输入cmd-->shutdown
shutdown用法: shutdown [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "co
mment"] [-d up:xx:yy]

        没有参数                显示此消息(与 ? 相同)
        -i                      显示 GUI 界面,必须是第一个选项
        -l                      注销(不能与选项 -m 一起使用)
        -s                      关闭此计算机
        -r                      关闭并重启动此计算机
        -a                      放弃系统关机
        -m \\computername       远程计算机关机/重启动/放弃
        -t xx                   设置关闭的超时为 xx 秒
        -c "comment"            关闭注释(最大 127 个字符)
        -f                      强制运行的应用程序关闭而没有警告
        -d [u][p]:xx:yy         关闭原因代码
                                u 是用户代码
                                p 是一个计划的关闭代码
                                xx 是一个主要原因代码(小于 256 的正整数)
                                yy 是一个次要原因代码(小于 65536 的正整数)
2008-03-21 00:02
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
版块里我记得有一个关机的小程序是开源的,你直接下来看一下就明白了。

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2008-03-21 00:23
chenbo3551
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-3-20
收藏
得分:0 
[bo]以下是引用 [un]gtrgtr[/un] 在 2008-3-21 00:02 的发言:[/bo]

调用shutdown吧
调用的代码自己写吧,我是不会!

运行里输入cmd-->shutdown
shutdown用法: shutdown [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "co
mment"] [-d up:xx:yy]

        没有参数   ...



shutdown 是c#控制语句?
2008-03-21 09:13
dreamsfly
Rank: 2
等 级:论坛游民
帖 子:152
专家分:13
注 册:2007-6-29
收藏
得分:0 
我 都发过了,在发一个给你
以前帖子有
        int tokenHandle = 0;
        OpenProcessToken(GetCurrentProcess(), 40, ref tokenHandle);
        LookupPrivilegeValue("", "SeShutdownPrivilege", ref this.tmpLuid);
        this.tkp.PrivilegeCount = 1;
        this.tkp.Luid = this.tmpLuid;
        this.tkp.Attributes = 2;
        AdjustTokenPrivileges(tokenHandle, false, ref this.tkp, Marshal.SizeOf(this.tkp), 0, this.lBufferNeeded);
        if (GetLastError() == 0)
        {
            ExitWindowsEx(5, 0);
        }

www. 我的原创下载
2008-03-21 10:43
dreamsfly
Rank: 2
等 级:论坛游民
帖 子:152
专家分:13
注 册:2007-6-29
收藏
得分:0 

www. 我的原创下载
2008-03-21 10:44
beauty2008
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-3-20
收藏
得分:0 
求助
ExitWindowsEx(5, 0);
对吗?
是不是应该是ExitWindowsEx(1, 0)?
我不需要太多的花样.只要能完成关机就行.能不能说说步骤?
2008-03-21 12:34
dreamsfly
Rank: 2
等 级:论坛游民
帖 子:152
专家分:13
注 册:2007-6-29
收藏
得分:0 
OpenProcessToken(GetCurrentProcess(), 40, ref tokenHandle);
帅哥,那不是花样,
OpenProcessToken(GetCurrentProcess(), 40, ref tokenHandle);
  LookupPrivilegeValue("", "SeShutdownPrivilege", ref this.tmpLuid);
        this.tkp.PrivilegeCount = 1;
        this.tkp.Luid = this.tmpLuid;
        this.tkp.Attributes = 2;
        AdjustTokenPrivileges(tokenHandle, false, ref this.tkp, Marshal.SizeOf(this.tkp), 0, this.lBufferNeeded);

这都是为了得到权限,才能关机
不是一个ExitWindowsEx(1, 0)就能完成的东西,明白?晕死

www. 我的原创下载
2008-03-22 09:38
快速回复:求助高手!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017678 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved