| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1077 人关注过本帖
标题:想要做个定时关机的小程序,但不知是那里出错。这是OnButton1()的代码,虽然 ...
只看楼主 加入收藏
guer168
Rank: 2
等 级:论坛游民
帖 子:46
专家分:37
注 册:2010-3-19
结帖率:75%
收藏
已结贴  问题点数:10 回复次数:8 
想要做个定时关机的小程序,但不知是那里出错。这是OnButton1()的代码,虽然能关机但是不是定时的,这是哪里出的问题呢?
void CMy9_8_2Dlg::OnButton1()
{
    // TODO: Add your control notification handler code here
CString strTime;
CString STATIC;
GetDlgItem(IDC_EDIT1)->GetWindowText(m_editTime);
CString str;
str="现在时间是:";
strTime=str+m_editTime;
//MessageBox(strTime,NULL,MB_OK);
if(GetDlgItem(IDC_STATIC1)->GetWindowText(STATIC),STATIC=strTime)
{
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
 
// Get a token for this process.
 
if (!OpenProcessToken(GetCurrentProcess(),
        TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
    MessageBox("OpenProcessToken");
 
// Get the LUID for the shutdown privilege.
 
LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,
        &tkp.Privileges[0].Luid);
 
tkp.PrivilegeCount = 1;  // one privilege to set   
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
 
// Get the shutdown privilege for this process.
 
AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
        (PTOKEN_PRIVILEGES)NULL, 0);
 
// Cannot test the return value of AdjustTokenPrivileges.
 
if (GetLastError() != ERROR_SUCCESS)
    MessageBox("AdjustTokenPrivileges");
 
// Shut down the system and force all applications to close.
 
if (!ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, 0))
   MessageBox("ExitWindowsEx");

}
搜索更多相关主题的帖子: 代码 
2010-09-08 21:29
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
没有见你用任何延时、定时处理。怎莫能有定时效果????

你只是将当前进程提权后作了关机动作而已。

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-09-08 22:02
guer168
Rank: 2
等 级:论坛游民
帖 子:46
专家分:37
注 册:2010-3-19
收藏
得分:0 
有的。我用静态文本把系统的时间动态的输出了出来,在动态文本框中输入设定的时间,然后用静态文本和动态文本的数据做对比。我想用这种方法达到定时关机的效果》

淘宝:http://guer168.  百度有啊http://youa.baidu.com/shop/75fb2a3584ed3e7d5e1e752d?from=hi
2010-09-08 22:12
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
我没有看到你的比对。
if(GetDlgItem(IDC_STATIC1)->GetWindowText(STATIC),STATIC=strTime) 这就是你的比对吗???
如果是的话,姑且不论你的点击速度能否跟时间合拍。单是STATIC=strTime这个也不是比对语句吧。俺记得老师说过,这个好像是赋值语句啊。

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-09-09 08:59
红色警戒
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:19
帖 子:444
专家分:2967
注 册:2005-11-20
收藏
得分:10 
这个可做在定时器里,每秒判断一次当期时间是否为设定的时间,如果是则执行关闭计算机

2010-09-09 11:47
guer168
Rank: 2
等 级:论坛游民
帖 子:46
专家分:37
注 册:2010-3-19
收藏
得分:0 
这是我的附件
9_8_2.rar (1.79 MB)
看一下是哪里出的问题!

淘宝:http://guer168.  百度有啊http://youa.baidu.com/shop/75fb2a3584ed3e7d5e1e752d?from=hi
2010-09-09 14:15
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
GetDlgItem(IDC_EDIT1)->GetWindowText(m_editTime);
CString str;
str="现在时间是:";
strTime=str+m_editTime;
//MessageBox(strTime,NULL,MB_OK);
if(GetDlgItem(IDC_STATIC1)->GetWindowText(STATIC),STATIC == strTime)
{

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-09-09 17:06
bydzyj
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:38
专家分:123
注 册:2010-8-8
收藏
得分:0 
可以通过SetTimer(第几个计时器,计时时间,NULL)这个我很喜欢用,不过注意要kill
2010-09-09 20:15
windyfzz
Rank: 2
等 级:禁止访问
帖 子:90
专家分:12
注 册:2010-7-25
收藏
得分:0 
这是我做的,分享下

Shuntdown Timer.rar (1.85 MB)
2010-09-12 21:48
快速回复:想要做个定时关机的小程序,但不知是那里出错。这是OnButton1()的代码 ...
数据加载中...
 
   



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

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