提權啊。。。。1要開啟當前程序的許可權令牌。。。。。。。2要獲取許可權標識。。。。。。。3要提公升令牌許可權。。。。。。。。。。。。3個api函式搞定
分別是:
openprocesstoken();
lookupprivilegevalue();
adjusttokenprivileges();
bool openprocesstoken(
__in handle processhandle, //要修改訪問許可權的程序控制代碼
__in dword desiredaccess, //指定你要進行的操作型別
__out phandle tokenhandle //返回的訪問令牌指標
);
bool lookupprivilegevalue(
lpctstr lpsystemname, // 表示所要檢視的系統,本地系統直接用null
lpctstr lpname, // 表示所要檢視的特權資訊的名稱
pluid lpluid //接收所返回的制定特權名稱的資訊
);
bool adjusttokenprivileges(
handle tokenhandle, //包含特權的控制代碼
bool disableallprivileges,//禁用所有許可權標誌
ptoken_privilegesnewstate,//新特權資訊的指標(結構體)
dword bufferlength, //緩衝資料大小,以位元組為單位的previousstate的快取區(sizeof)
ptoken_privileges previousstate,//接收被改變特權當前狀態的buffer
pdword returnlength //接收previousstate快取區要求的大小
);
下面來看一下**:
handle tokenhandle;
if(!openprocesstoken(getcurrentprocess(), token_adjust_privileges | token_query, &tokenhandle))
token_privileges t_privileges = ;
if(!lookupprivilegevalue(null, se_shutdown_name, &t_privileges.privileges[0].luid))
t_privileges.privilegecount = 1;
t_privileges.privileges[0].attributes = se_privilege_enabled;
if(!adjusttokenprivileges(tokenhandle, false, &t_privileges, sizeof(token_privileges), null, null))
呃。。。。忘了說了。。。。windows nt 以上的核心需要提權。。。。進行對系統的操作(關機 重啟 登出)98啥的就不用了 直接呼叫 exitwindow***就行了。。。。。。。這裡只說提權了 要了解的話 去看一下msdn這個api 函式的用法
2012/8/5jofranks 於南昌
VB程式設計之二
1,visual的含義是視覺化 視窗的設計形式稱為窗體,我們把窗體 控制項等這些組成 使用者介面的部件稱為物件,與乙個物件的乙個事件相關聯的是乙個程式過程。2,vb在輸入程式 的同時將立即檢查並顯示錯誤,提示設計者進行修改 開發過程 中得到的部分成果也可以執行,以便於檢查修改 它是一種視覺化的 物件...
《JS高階程式設計》之二
1 js的基本資料型別有 number string number null undefined boolean 還有一種複雜資料型別object,function 和 array 是object的一種派生型別。2 typeof 用來判斷給定變數的資料型別,undefined 這個值未定義 bool...
04 Shell程式設計之二
環境變數 shell 和指令碼使用變數儲存資料,某些特殊變數可以與其變數的內容一起傳遞到子程序,那麼這類特殊變數稱為是環境變數。檢視當前 shell 中定義的環境變數用 env命令 env 將變數宣告成環境變數 export abc some value 或 abc some value expor...