c# 으로 만든 프로그램을 관리자 권한으로 실행 시키기 위해서는 app.manifest 파일을 생성하여 관리자 권한을 요청하도록 설정해야한다.
프로그램이 실행되며 요청하는 방법과 app.manifest를 통한 방법 중 app.manifest를 사용하는 방법을 이용하겠다.

최초 프로젝트 생성후 솔루션 탐색기를 보면 해당 설정을 위한 app.manifest 파일이 없다.

app.manifest 를 추가할 프로젝트에서 오른쪽 클릭 후 [추가]-[클래스]를 선택한다.

하단 이름 부분에 app 을 입력한 후 목록을 내리면 [어플리케이션 매니페스트 파일(Windows만 해당)] 항목을 선택한 후 [추가] 버튼을 누른다.

솔루션 탐색이에 app.manifest 파일이 추가되며 편집화면에 파일이 열린다.

해당 화면에서 붉은 박스에 있는 requestedExecutionLevel 태그의 level 값을 asInvoker 에서 requireAdministrator 로 변경할 경우 실행시 관리자 권한을 요청하게 된다 소스 코드로 보면 다음과 같이 변경하면 된다.

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
변경 후 저장을 하고 프로그램을 실행 시키면 관리자 권한을 요청한 후 수락 시 프로그램이 실행된다.
프로젝트를 더블클릭 해서 나오는 프로젝트 설정값을 확인하면 등록한 app.manifest 가 PropertyGroup 태그안의 ApplicationManifest 태그로 추가된 것을 확인할 수 있다.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UseWPF>true</UseWPF>
<ApplicationHighDpiMode>PerMonitorV2</ApplicationHighDpiMode>
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" />
</ItemGroup>
</Project>'c# > helper' 카테고리의 다른 글
| c# 프로젝트 Nullable 컨텍스트 경고 수준 설정 (0) | 2024.04.23 |
|---|---|
| c# app.manifest를 이용한 DPI 설정 (0) | 2024.04.22 |
| c# ApplicationHighDpiMode 고해상도에서 선명하게 (0) | 2024.04.22 |
| c# WPF 태블릿 스타일러스 입력 비활성 (0) | 2024.04.05 |
| c# 공인 ip 가져오기 / c# public ip 가져오기 (0) | 2024.04.02 |