1. 手動新增 app.manifest 文件
右鍵點選 專案名稱(在「解決方案資源管理器」中)。
選擇 “Add” -> “New Item…”。
在「新增項目」對話方塊中,選擇 “XML 檔案”(XML File)。
將新檔案命名為 app.manifest,然後點擊「新增」。
2. 編輯 app.manifest 文件
在剛剛建立的 app.manifest 檔案中,加入以下內容:
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" />
</dependentAssembly>
</dependency>
</assembly>
3. 手動編輯 .csproj 文件
右鍵點選 專案名稱,然後選擇 “Unload Project”。
右鍵點選專案名稱(現在變成不可用狀態),選擇 “Edit [YourProjectName].csproj”。
在 .csproj 檔案中,找到 <PropertyGroup> 節點。在這個節點內,加入以下元素:
<ApplicationManifest>app.manifest</ApplicationManifest>
例如:
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
儲存 .csproj 文件,然後右鍵點擊項目,選擇 “Reload Project” 來重新載入項目。
4. 編譯和運行
完成以上步驟後,編譯您的專案。當使用者啟動您的應用程式時,系統將彈出 UAC 提示,要求以管理員權限執行應用程式。
總結
透過手動新增 app.manifest 檔案並在 .csproj 檔案中引用它,您的 WinForms 應用程式將在啟動時請求管理員權限。這是確保程式可以執行需要高級權限的操作(如修改註冊表)的有效方法。