Win7下要求以管理員許可權執行程式

2021-06-18 02:05:18 字數 2646 閱讀 8515

win7終於發布了

在開啟uac的時候,在win7中執行程式預設是以一種許可權較低的方式執行的,但是在這種方式下,我們有些操作會失敗(比如修改登錄檔,監聽埠,往系統目錄寫入檔案等),要實現這些操作,就需要我們以管理員許可權執行程式了。

當然,只有在程式上右鍵,選擇「以管理員執行」就可以,不過如何讓程式自己自動以管理員許可權來執行呢,這就需要manifest了。

按f5執行下(恩,貌似沒有啥問題[空文件,有問題才怪

然後我們新增manifest(中文版叫「應用程式清單檔案」)

下面我們看下manifest的內容

<?xml version="1.0" encoding="utf-8"?>

1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="">

urn:schemas-microsoft-com:asm.v2">

urn:schemas-microsoft-com:asm.v3">

asinvoker" uiaccess="false" />

內容裡的說明夠詳細了吧,只要把 asinvoker替換成requireadministrator,我們的程式就會預設要求管理員許可權執行了,該下執行試試效果。
恩,視窗彈出來了。

看下程式圖示:
大功告成...

下面再說下怎麼給程式的按鈕上也加上小盾牌圖示吧

這我們就需要呼叫win32 api了

要呼叫api麼,要先引用命名空間

using system.runtime.interopservices;
然後呼叫api

[dllimport("user32.dll")]

private

static

extern intptr sendmessage(handleref hwnd, uint msg, intptr wparam, intptr lparam);

//////

/// enables the elevated shield icon on the given button control

///

///

/// button control to enable the elevated shield icon on.

///

///private

void enableelevateicon_bcm_setshield(button thisbutton)

// define bcm_setshield locally, declared originally in commctrl.h

uint bcm_setshield = 0x0000160c;

// set button style to the system style

thisbutton.flatstyle = flatstyle.system;

// send the bcm_setshield message to the button control

sendmessage(new handleref(thisbutton, thisbutton.handle), bcm_setshield, new intptr(0), new intptr(1));

}

在form上拖個button,拖大一點哦,小了圖示看不清

然後在form1_load裡,用api把圖示加到button1上

private

void form1_load(object sender, eventargs e)

最後執行看下效果吧!

恩?盾牌為啥有點不一樣呢,上面那個圖示是server08上的,win7上應該是下面這樣:

有錯誤的地方歡迎指出。

Win7下要求以管理員許可權執行程式

win7終於發布了 在開啟uac的時候,在win7中執行程式預設是以一種許可權較低的方式執行的,但是在這種方式下,我們有些操作會失敗 比如修改登錄檔,監聽埠,往系統目錄寫入檔案等 要實現這些操作,就需要我們以管理員許可權執行程式了。當然,只有在程式上右鍵,選擇 以管理員執行 就可以,不過如何讓程式自...

win7 獲得管理員許可權

win7獲取資料夾的管理員許可權 乙個登錄檔匯入檔案 方法 開個記事本 然後複製如下冒號以後的東西過去,然後儲存為.reg檔案 就ok 了 在雙擊它 再匯入登錄檔 ok了 如下 windows registry editor version 5.00 hkey classes root shell ...

WIN7下快速取的管理員許可權

windows registry editor version 5.00 hkey classes root shell runas 管理員取得所有權 noworkingdirectory hkey classes root shell runas command cmd.exe c takeown...