我的定時關機程式 MFC實現

2021-08-27 01:30:32 字數 1786 閱讀 5037

原理: 利用定時器去檢查,如輸入的是多少分鐘後關機,就根據輸入的分鐘數產生乙個count計數器,計數器一直遞減,直到1,然後執行關機。如輸入的是幾時幾分關機,那麼定時器會每次都檢查系統的時間和你輸入的時間是否一直,如果是就執行關機。

mfc做介面還真的是(可能是水平不行吧),怎麼弄都是這個樣,不好看

為了防止多個程式同時執行,就限制系統只執行乙個程式執行,如下(放到initinstance中即可):

handle hsem=createsemaphore(null,1,1,m_pszexename);//建立乙個新的訊號量

if(getlasterror()==error_already_exists)//因為已經存在乙個,所以建立失敗

主要實現如下:

void cshutdowndlg::onok() 

else if(atoi(str3)>0&&atoi(str4)>0)

else

messagebox("我隱藏在程序裡了哦:-)!",null,mb_ok);

showwindow(sw_hide);//懶得做工作列小圖示了,直接隱藏主程式吧,嘿嘿

}

定時器

void cshutdowndlg::ontimer(uint nidevent) 

exit(0);}

} else if (1==flag1)

}} }

cdialog::ontimer(nidevent);

}

關機實現函式systemshutdown

bool systemshutdown()

// lookupprivilegevalue檢視系統的特權值

lookupprivilegevalue(null,se_shutdown_name,&tkp.privileges[0].luid);

tkp.privilegecount = 1; // 指定特權陣列個數1

tkp.privileges[0].attributes = se_privilege_enabled;//啟用特權

// adjusttokenprivileges的作用是通知windows nt修改本程序的權利

adjusttokenprivileges(htoken, false, &tkp, 0,(ptoken_privileges)null, 0);//啟用當前訪問令牌的特權

if (getlasterror() != error_success) //失敗

if (!exitwindow***(ewx_shutdown, 0)) //引數在這裡設定。ewx_shutdown 為正常關機,強行退出為windowsewx_force。

return false;

return true;

}

判斷選擇的是哪種模式的定時關機,加在ontimer裡

//如編輯框3或編輯框4獲得焦點,那麼採用幾時幾分關機模式,禁用多少分鐘後關機模式

//如別的控制項獲得焦點,那麼兩個都可以使用

if(::getfocus()==m_edit2.getsafehwnd())

else if(::getfocus()==m_edit3.getsafehwnd()||::getfocus()==m_edit4.getsafehwnd())

else

hta實現的定時關機小程式

定時關機小程程式設計客棧序 介面 實現 複製 如下 定時關機小程式 applicationname hta test borde thin borderstyle raised icon c windows system32 control.exe scroll no singleinstance ...

bat的定時關機程式

bat的定時關機程式 echo off title greaterthanme 實現定時關機 登出 重啟 鎖定等功能。start cls color 1f rem 使用color命令對控制台輸出顏色進行更改 mode con cols 41 lines 18 rem mode語句為設定窗體的寬和高 ...

Python 程式實現電腦自動定時關機

python 程式實現電腦自動定時關機前言 因為有時候想讓電腦在幾個小時後關機,然而用cmd命令又有些麻煩,所以自己設計了乙個簡單的視覺化操作介面,令電腦可以選擇在幾小時後關機 如下 coding gbk import tkinter as t import os var 1 讀取輸入資料,預設為1...