diff --git a/src/modules/Projects/ProjectsEditor/Data/ProjectData.cs b/src/modules/Projects/ProjectsEditor/Data/ProjectData.cs
index 41a3ab6a2c..a7c4171f49 100644
--- a/src/modules/Projects/ProjectsEditor/Data/ProjectData.cs
+++ b/src/modules/Projects/ProjectsEditor/Data/ProjectData.cs
@@ -33,7 +33,7 @@ namespace ProjectsEditor.Data
public string CommandLineArguments { get; set; }
- public bool LaunchesAsAdmin { get; set; }
+ public bool IsElevated { get; set; }
public bool Minimized { get; set; }
diff --git a/src/modules/Projects/ProjectsEditor/Models/Application.cs b/src/modules/Projects/ProjectsEditor/Models/Application.cs
index 5733c6938b..d17f4ff70f 100644
--- a/src/modules/Projects/ProjectsEditor/Models/Application.cs
+++ b/src/modules/Projects/ProjectsEditor/Models/Application.cs
@@ -49,14 +49,14 @@ namespace ProjectsEditor.Models
public string CommandLineArguments { get; set; }
- private bool _launchesAsAdmin;
+ private bool _isElevated;
- public bool LaunchesAsAdmin
+ public bool IsElevated
{
- get => _launchesAsAdmin;
+ get => _isElevated;
set
{
- _launchesAsAdmin = value;
+ _isElevated = value;
OnPropertyChanged(new PropertyChangedEventArgs(nameof(AppMainParams)));
}
}
@@ -111,7 +111,7 @@ namespace ProjectsEditor.Models
{
get
{
- _appMainParams = _launchesAsAdmin ? Properties.Resources.Admin : string.Empty;
+ _appMainParams = _isElevated ? Properties.Resources.Admin : string.Empty;
if (!string.IsNullOrWhiteSpace(CommandLineArguments))
{
_appMainParams += (_appMainParams == string.Empty ? string.Empty : " | ") + Properties.Resources.Args + ": " + CommandLineArguments;
diff --git a/src/modules/Projects/ProjectsEditor/Models/Project.cs b/src/modules/Projects/ProjectsEditor/Models/Project.cs
index 784367c03f..f8655e9128 100644
--- a/src/modules/Projects/ProjectsEditor/Models/Project.cs
+++ b/src/modules/Projects/ProjectsEditor/Models/Project.cs
@@ -216,7 +216,7 @@ namespace ProjectsEditor.Models
AppTitle = item.AppTitle,
CommandLineArguments = item.CommandLineArguments,
PackageFullName = item.PackageFullName,
- LaunchesAsAdmin = item.LaunchesAsAdmin,
+ IsElevated = item.IsElevated,
Minimized = item.Minimized,
Maximized = item.Maximized,
MonitorNumber = item.MonitorNumber,
diff --git a/src/modules/Projects/ProjectsEditor/ProjectEditorPage.xaml b/src/modules/Projects/ProjectsEditor/ProjectEditorPage.xaml
index b6eb399008..cb11244348 100644
--- a/src/modules/Projects/ProjectsEditor/ProjectEditorPage.xaml
+++ b/src/modules/Projects/ProjectsEditor/ProjectEditorPage.xaml
@@ -152,7 +152,7 @@
Margin="100 5 0 0">
GetApps(const std::function getMonitorNumberFromWindowHandle)
{
std::vector apps{};
@@ -219,6 +245,7 @@ namespace SnapshotUtils
.path = processPath,
.packageFullName = data.value().packageFullName,
.commandLineArgs = L"", // GetCommandLineArgs(pid, wbemHelper),
+ .isElevated = IsProcessElevated(pid),
.isMinimized = WindowUtils::IsMinimized(window),
.isMaximized = WindowUtils::IsMaximized(window),
.position = Project::Application::Position{
diff --git a/src/modules/Projects/projects-common/Data.h b/src/modules/Projects/projects-common/Data.h
index 04f08f4c20..108db56bab 100644
--- a/src/modules/Projects/projects-common/Data.h
+++ b/src/modules/Projects/projects-common/Data.h
@@ -29,6 +29,7 @@ struct Project
std::wstring path;
std::wstring packageFullName;
std::wstring commandLineArgs;
+ bool isElevated{};
bool isMinimized{};
bool isMaximized{};
Position position{};
@@ -137,6 +138,7 @@ namespace JsonUtils
const static wchar_t* AppPackageFullNameID = L"package-full-name";
const static wchar_t* AppTitleID = L"title";
const static wchar_t* CommandLineArgsID = L"command-line-arguments";
+ const static wchar_t* ElevatedID = L"is-elevated";
const static wchar_t* MinimizedID = L"minimized";
const static wchar_t* MaximizedID = L"maximized";
const static wchar_t* PositionID = L"position";
@@ -151,6 +153,7 @@ namespace JsonUtils
json.SetNamedValue(NonLocalizable::AppTitleID, json::value(data.title));
json.SetNamedValue(NonLocalizable::AppPackageFullNameID, json::value(data.packageFullName));
json.SetNamedValue(NonLocalizable::CommandLineArgsID, json::value(data.commandLineArgs));
+ json.SetNamedValue(NonLocalizable::ElevatedID, json::value(data.isElevated));
json.SetNamedValue(NonLocalizable::MinimizedID, json::value(data.isMinimized));
json.SetNamedValue(NonLocalizable::MaximizedID, json::value(data.isMaximized));
json.SetNamedValue(NonLocalizable::PositionID, PositionJSON::ToJson(data.position));
@@ -177,6 +180,12 @@ namespace JsonUtils
}
result.commandLineArgs = json.GetNamedString(NonLocalizable::CommandLineArgsID);
+
+ if (json.HasKey(NonLocalizable::ElevatedID))
+ {
+ result.isElevated = json.GetNamedBoolean(NonLocalizable::ElevatedID);
+ }
+
result.isMaximized = json.GetNamedBoolean(NonLocalizable::MaximizedID);
result.isMinimized = json.GetNamedBoolean(NonLocalizable::MinimizedID);
result.monitor = static_cast(json.GetNamedNumber(NonLocalizable::MonitorID));