国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

利用高級(jí)語言實(shí)現(xiàn)系統(tǒng)相關(guān)處理

2013-01-04 03:52:04隋麗娜
關(guān)鍵詞:句柄令牌窗體

隋麗娜,孟 偉

(河北民族師范學(xué)院 數(shù)學(xué)與計(jì)算機(jī)系,河北 承德 067000)

Microsoft公司的Windows操作系統(tǒng)是目前世界上應(yīng)用最廣泛的操作系統(tǒng),Visual Basic作為Microsoft旗下的一款編程語言在控制Windows系統(tǒng)工作時(shí)具有得天獨(dú)厚的優(yōu)勢(shì),可以通過Visual Basic實(shí)現(xiàn)對(duì)操作系統(tǒng)一些基本功能的處理及相關(guān)操作,如系統(tǒng)的啟動(dòng)、任務(wù)欄、桌面、控制面板等,為以后的相關(guān)開發(fā)積累經(jīng)驗(yàn)。本文主要利用VB語言的高級(jí)功能來實(shí)現(xiàn)關(guān)機(jī)、啟動(dòng)等控制,例如利用API函數(shù)實(shí)現(xiàn)計(jì)算機(jī)的關(guān)閉、注銷、重新啟動(dòng)控制功能,程序運(yùn)行界面如圖1所示。

圖1 關(guān)機(jī)、啟動(dòng)等控制

1 技術(shù)要點(diǎn)

本例主要應(yīng)用API函數(shù)來實(shí)現(xiàn)計(jì)算機(jī)的關(guān)閉、啟動(dòng)等功能控制,用到的函數(shù)有:

*GetCurrentProcessID函數(shù),得到當(dāng)前進(jìn)程的ID;

*OpenProcessToken函數(shù),得到進(jìn)程的令牌句柄;

*LookupPrivilegeValue函數(shù),查詢進(jìn)程的權(quán)限;

*AdjustTokenPrivileges函數(shù),判斷令牌權(quán)限;ExitWindowsEx函數(shù),退出windows,并用特定的選項(xiàng)重新啟動(dòng)。

要對(duì)一個(gè)任意進(jìn)程(包括系統(tǒng)安全進(jìn)程和服務(wù)進(jìn)程)進(jìn)行指定了寫相關(guān)的訪問權(quán)的OpenProcess操作,需要當(dāng)前進(jìn)程具有SeDeDebug權(quán)限。如果一個(gè)用戶是Administrator或是被給予了相應(yīng)的權(quán)限,就可以具有該權(quán)限。但要注意:要修改一個(gè)進(jìn)程的訪問令牌,首先要獲得進(jìn)程訪問令牌的句柄,這可以通過OpenProcessToken得到,接著可以調(diào)用AdjustTokenPrivileges對(duì)這個(gè)訪問令牌進(jìn)行修改。

2 開發(fā)過程

(1)創(chuàng)建一個(gè)項(xiàng)目,將其命名為Exam,默認(rèn)窗體為Form1,修改其標(biāo)題屬性為“關(guān)機(jī)、啟動(dòng)等控制”。

(2)從工具箱中向Form1窗體添加三個(gè)圖像框、三個(gè)標(biāo)簽和一個(gè)命令按鈕,如圖所示修改其相應(yīng)屬性。

(3)主要程序代碼:

3 關(guān)鍵代碼分析

在窗體的通用區(qū)聲明程序中應(yīng)到的所有API函數(shù),用Const關(guān)鍵字定義常量,并自定義結(jié)構(gòu)體LUID待用;在窗體的Load事件中,進(jìn)行一些初始化操作,并用語句AdjustTokenPrivileges hTokenHandle,False,tkpNew,Len(tkpPrevious),tkpPrevious,lBuffer-Needed允許當(dāng)前應(yīng)用程序有關(guān)閉操作系統(tǒng)權(quán)限;然后在圖像或文字的單擊事件中分別調(diào)用API函數(shù)實(shí)現(xiàn)相應(yīng)功能,如用ExitWindowsEx EWX_FORCE Or EWX_SHUTDOWN,0語句關(guān)閉計(jì)算機(jī),用ExitWindowsEx EWX_LOGOFF,0語句注銷計(jì)算機(jī),用ExitWindowsEx EWX_REBOOT,0語句重新啟動(dòng)計(jì)算機(jī)等。

4 難點(diǎn)剖析

實(shí)例的難點(diǎn)是對(duì)實(shí)現(xiàn)對(duì)計(jì)算機(jī)的關(guān)機(jī)等啟動(dòng)控制的相關(guān)API函數(shù)的理解,雖然有的函數(shù)名字本身比較直觀易于理解,但函數(shù)的實(shí)際應(yīng)用中經(jīng)常用到很多的參數(shù)是不容易理解的。參數(shù)中有時(shí)直接用VB常量表示,有時(shí)是用十六進(jìn)制數(shù)值表示,這樣一來,在讀程序時(shí)就比較難于理解,當(dāng)然也就難于被記牢。如有需要可多多查閱API函數(shù)的相關(guān)資料來獲得有用的信息。

猜你喜歡
句柄令牌窗體
稱金塊
基于路由和QoS令牌桶的集中式限速網(wǎng)關(guān)
試談Access 2007數(shù)據(jù)庫在林業(yè)檔案管理中的應(yīng)用
檔案天地(2019年5期)2019-06-12 05:12:02
動(dòng)態(tài)令牌分配的TCSN多級(jí)令牌桶流量監(jiān)管算法
高校圖書館持久標(biāo)識(shí)符應(yīng)用研究
編譯程序語法分析句柄問題分析與探討
MFC應(yīng)用程序多線程混合顯示界面方法研究
基于LayeredWindow的異形窗體局部刷新
中文信息(2014年2期)2014-03-06 23:49:14
巧設(shè)WPS窗體控件讓表格填寫更規(guī)范
基于SPY++的軟件功能擴(kuò)展的研究
澳门| 玉田县| 蓝山县| 旬阳县| 桓仁| 巫山县| 敦化市| 拜泉县| 金乡县| 六盘水市| 古浪县| 界首市| 高安市| 新田县| 西平县| 安福县| 法库县| 吉木乃县| 浑源县| 灵寿县| 讷河市| 剑川县| 新安县| 山东| 定南县| 花莲市| 乳山市| 芒康县| 瑞金市| 平塘县| 曲阳县| 奉贤区| 黄石市| 郴州市| 陆川县| 丰原市| 清苑县| 临城县| 右玉县| 云龙县| 武胜县|