我的程序currrent有該行DllRegisterServer具有提升的權利
狀態:= DllRegisterServer;
在WIN7的計算機上失敗並且該用戶不是管理員。
是否有可能以提升的權限以編程方式調用DllRegisterServer?
或者有什麼方法可以提示提升權限,然後使用該信息來執行DllRegisterServer。
我的程序currrent有該行DllRegisterServer具有提升的權利
狀態:= DllRegisterServer;
在WIN7的計算機上失敗並且該用戶不是管理員。
是否有可能以提升的權限以編程方式調用DllRegisterServer?
或者有什麼方法可以提示提升權限,然後使用該信息來執行DllRegisterServer。
只能在創建過程時執行高程。所以你需要一個新的過程來執行這個代碼。您的主要選項:
在這些選項中,數字1可能會更簡單。對於選項1,不需要單獨的可執行文件。您可以傳遞將導致調用註冊函數的命令行參數。
沒有辦法以編程方式提升程序的權限,只有用戶纔打算這樣做。你可以通知程序需要提升權限的OS,例如,通過包括清單
How to add manifest <requestedPrivileges> info into delphi project
您也可以決定讓你的程序沒有提升的權限運行(不納入清單),但後來禁用所有需要提升權限的操作或重新啓動程序,以在非升級過程中調用該選項時請求提升的權限(非常類似於任務管理器使用「所有用戶的顯示過程」按鈕:
Delphi: How to start application with elevated status and wait for it to terminate?