感謝各位的幫助。雖然還是沒有找到好的辦法來請求管理員許可權,但是已經找到了測試當前批處理是否具有管理員許可權的辦法。
辦法1 寫入檔案法
向system32資料夾寫入臨時檔案,若能寫入成功,則說明批處理具有管理員許可權,否則說明不具有。
**如下:
c/c++ code
@echo offrem 建立檔案路徑
settempfile_name
=%systemroot
%\system32\battestuacin_sysrt
%random
%.batemp
echo
%tempfile_name
%rem 寫入檔案
( echo
"bat test uac in temp
">%
tempfile_name%)
1>
nul
2>
nulrem 判斷寫入是否成功
ifexist
%tempfile_name%(
echo 正在以管理員身份執行當前批處理
) else
(echo 沒有以管理員身份執行當前批處理
)pause
rem 刪除臨時檔案
del
%tempfile_name%1
>
nul
2>
nulecho 按空格鍵退出……
pause
>
nul
方法2 視窗標題判斷法
以管理員身份執行的批處理,設定標題後,標題前方會提示 "管理員: " ,可判斷特定視窗標題所對應的程序名是否為cmd.exe 來確認批處理是否以管理員身份執行。**如下:
c/c++ code
@echo offtitle bat
setlocal enabledelayedexpansion
rem 設定標誌變數
setuac=0
rem 獲取tasklist命令輸出
for /f
"usebackq delims=="%%
i in (`tasklist
/fi
"windowtitle eq 管理員: bat
"`) do (
set"cmdline=%%i
"set
"cmdline=!cmdline:~0,7!"if
"!cmdline!"==
"cmd.exe"(
setuac=1)
)if"%uac%"==
"1"(
echo 正在以管理員身份執行當前批處理
) else
(echo 沒有以管理員身份執行當前批處理
):end
pause
exit
WIN7設定始終已管理員身份執行
方法一 1.在桌面的計算機上滑鼠右鍵管理 2.左側的控制台樹依次展開到 計算機管理 本地 系統工具 本地使用者和組 使用者 3.雙擊右邊視窗中的名稱為administration的賬戶 4.開啟了administration屬性的介面,在常規選項下將賬戶已禁用的勾去掉,這樣就開啟了administr...
Win7下要求以管理員許可權執行程式
win7終於發布了 在開啟uac的時候,在win7中執行程式預設是以一種許可權較低的方式執行的,但是在這種方式下,我們有些操作會失敗 比如修改登錄檔,監聽埠,往系統目錄寫入檔案等 要實現這些操作,就需要我們以管理員許可權執行程式了。當然,只有在程式上右鍵,選擇 以管理員執行 就可以,不過如何讓程式自...
如何讓程式在win7下獲得管理員許可權
vs2010編寫的程式可以執行時獲取管理員許可權 但是如果是vs2010以前的程式呢?方法1 移植到vs2010上了 方法2 1 按照 vs2010與win7共舞 uac與資料重定向 上述方法,隨便寫乙個vs2010工程,編譯,在這個工程的debug目錄下會有兩個檔案 exe.embed.manif...