aboutsummaryrefslogtreecommitdiff
path: root/src/zencore
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2025-01-08 13:49:56 +0100
committerDan Engelbrecht <[email protected]>2025-01-08 13:49:56 +0100
commit995aec217bbb26c9c2a701cc77edb067ffbf8d36 (patch)
tree2da2d3fd806547bd9f38bc190514abbf9fdb6361 /src/zencore
parentcheck if service is already installed before attempting install (diff)
downloadzen-995aec217bbb26c9c2a701cc77edb067ffbf8d36.tar.xz
zen-995aec217bbb26c9c2a701cc77edb067ffbf8d36.zip
add ServiceLevel for service processes: User, AllUsers and Service
Diffstat (limited to 'src/zencore')
-rw-r--r--src/zencore/include/zencore/process.h1
-rw-r--r--src/zencore/process.cpp8
2 files changed, 9 insertions, 0 deletions
diff --git a/src/zencore/include/zencore/process.h b/src/zencore/include/zencore/process.h
index d1394cd9a..42b997c39 100644
--- a/src/zencore/include/zencore/process.h
+++ b/src/zencore/include/zencore/process.h
@@ -51,6 +51,7 @@ struct CreateProcOptions
Flag_NewConsole = 1 << 0,
Flag_Elevated = 1 << 1,
Flag_Unelevated = 1 << 2,
+ Flag_NoConsole = 1 << 3,
};
const std::filesystem::path* WorkingDirectory = nullptr;
diff --git a/src/zencore/process.cpp b/src/zencore/process.cpp
index b1da034d2..11273a2b9 100644
--- a/src/zencore/process.cpp
+++ b/src/zencore/process.cpp
@@ -443,6 +443,10 @@ CreateProcNormal(const std::filesystem::path& Executable, std::string_view Comma
{
CreationFlags |= CREATE_NEW_CONSOLE;
}
+ if (Options.Flags & CreateProcOptions::Flag_NoConsole)
+ {
+ CreationFlags |= CREATE_NO_WINDOW;
+ }
const wchar_t* WorkingDir = nullptr;
if (Options.WorkingDirectory != nullptr)
@@ -588,6 +592,10 @@ CreateProcUnelevated(const std::filesystem::path& Executable, std::string_view C
{
CreateProcFlags |= CREATE_NEW_CONSOLE;
}
+ if (Options.Flags & CreateProcOptions::Flag_NoConsole)
+ {
+ CreateProcFlags |= CREATE_NO_WINDOW;
+ }
ExtendableWideStringBuilder<256> CommandLineZ;
CommandLineZ << CommandLine;