C 檢查是否以管理員身份執行

2021-07-03 14:03:23 字數 1024 閱讀 6036

有些時候我們需要利用管理員許可權做某些事情 如操作登錄檔、讀寫檔案、提權 或

利用匿名管道執行net修改使用者密碼 提取資訊 配置系統/軟體等等 好了下面我會列

出幾種檢查是否以管理員身份執行的**。

1. declare

bool isntadmin(__int32 dwreserved, __int32 lpdwreserved);

[dllimport("advpack.dll", setlasterror = false)]

[return: marshalas(unmanagedtype.bool)]

public static extern bool isntadmin(int dwreserved, int lpdwreserved);

sample

console.writeline("以管理員方式執行:" + isntadmin(0, 0));

2. declare

bool isuseranadmin(void);

[dllimport("shell32.dll", setlasterror = false)]

[return: marshalas(unmanagedtype.bool)]

public static extern bool isuseranadmin();

sample

console.writeline("以管理員方式執行:" + isuseranadmin());

3. declare

using system.security.principal;

sample

using (windowsidentity wi = windowsidentity.getcurrent()) // 使用者 

上面列出三種方法 在其中最好用的還是用方法一與方法二 方法三會消耗多點記憶體且不談

重點在於它的速度的確與前兩種有一定差距 雖然差距不大 但是會用高精度計時器的人想

必應該可以測試的出來。



c 程式以管理員身份執行

1.在專案中新增清單檔案,如圖 清單檔案預設內容應該是這樣的 如果要更改 windows 使用者帳戶控制級別,請用以下節點之一替換 requestedexecutionlevel 節點。指定 requestedexecutionlevel 節點將會禁用檔案和登錄檔虛擬化。如果要利用檔案和登錄檔虛擬化...

WINFORM 以管理員身份執行

1.方法一 是在exe程式或快捷方式上點右鍵在彈出的選單上選擇 以管理員身份執行 但是在自動執行的程式裡無法使用這種方法。2.方法二 是在exe程式或快捷方式上點右鍵在彈出的選單上選擇 以管理員身份執行 屬性 出現的介面如下圖 選擇 相容性 選項卡,並將 特權等級 下的 以管理員身份執行此程式 選中...

C 如何使程式以管理員身份執行

在部分win7和win10上,現在加入了賬戶控制,有些程式如果要寫登錄檔,如要開機自啟動,需要程式以管理員身份執行。那如何在編譯的時候就讓程式以管理員身份執行呢?1.右擊專案 屬性 安全性 勾選啟用clickonce安全設定 這是完全可信的應用程式。如圖所示 3.取消勾選 啟用clickonce安全...