diff --git a/PowerToys.sln b/PowerToys.sln
index 85674fdf18..6b4e70c89a 100644
--- a/PowerToys.sln
+++ b/PowerToys.sln
@@ -152,6 +152,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wox.Plugin.Shell", "src\mod
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wox.Plugin.Folder", "src\modules\launcher\Plugins\Wox.Plugin.Folder\Wox.Plugin.Folder.csproj", "{787B8AA6-CA93-4C84-96FE-DF31110AD1C4}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Wox.Launcher", "src\modules\launcher\Wox.Launcher\Wox.Launcher.vcxproj", "{E364F67B-BB12-4E91-B639-355866EBCD8B}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -370,6 +372,12 @@ Global
{787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Release|Any CPU.Build.0 = Release|Any CPU
{787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Release|x64.ActiveCfg = Release|Any CPU
{787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Release|x64.Build.0 = Release|Any CPU
+ {E364F67B-BB12-4E91-B639-355866EBCD8B}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {E364F67B-BB12-4E91-B639-355866EBCD8B}.Debug|x64.ActiveCfg = Debug|x64
+ {E364F67B-BB12-4E91-B639-355866EBCD8B}.Debug|x64.Build.0 = Debug|x64
+ {E364F67B-BB12-4E91-B639-355866EBCD8B}.Release|Any CPU.ActiveCfg = Release|x64
+ {E364F67B-BB12-4E91-B639-355866EBCD8B}.Release|x64.ActiveCfg = Release|x64
+ {E364F67B-BB12-4E91-B639-355866EBCD8B}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -410,6 +418,7 @@ Global
{FDB3555B-58EF-4AE6-B5F1-904719637AB4} = {4AFC9975-2456-4C70-94A4-84073C1CED93}
{C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0} = {4AFC9975-2456-4C70-94A4-84073C1CED93}
{787B8AA6-CA93-4C84-96FE-DF31110AD1C4} = {4AFC9975-2456-4C70-94A4-84073C1CED93}
+ {E364F67B-BB12-4E91-B639-355866EBCD8B} = {C140A3EF-6DBF-4084-9D4C-4EB5A99FEE68}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C3A2F9D1-7930-4EF4-A6FC-7EE0A99821D0}
diff --git a/src/modules/launcher/Wox.Launcher/Wox.Launcher.vcxproj b/src/modules/launcher/Wox.Launcher/Wox.Launcher.vcxproj
index b1761cf44c..73c8f2cbe4 100644
--- a/src/modules/launcher/Wox.Launcher/Wox.Launcher.vcxproj
+++ b/src/modules/launcher/Wox.Launcher/Wox.Launcher.vcxproj
@@ -16,7 +16,7 @@
Win32Proj
Wox_Launcher
10.0
- ModuleTemplate
+ Wox.Launcher
@@ -61,7 +61,7 @@
_DEBUG;EXAMPLEPOWERTOY_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
true
pch.h
- ..\..\common\inc;..\..\common\Telemetry;..\;..\..\;..\..\..\deps\cpprestsdk\include;%(AdditionalIncludeDirectories)
+ ..\..\..\common\inc;..\..\..\common\Telemetry;..\..\;..\..\..\;..\..\..\..\deps\cpprestsdk\include;%(AdditionalIncludeDirectories)
MultiThreadedDebug
stdcpplatest
diff --git a/src/modules/launcher/Wox.Launcher/dllmain.cpp b/src/modules/launcher/Wox.Launcher/dllmain.cpp
index c586475789..a210bb85b1 100644
--- a/src/modules/launcher/Wox.Launcher/dllmain.cpp
+++ b/src/modules/launcher/Wox.Launcher/dllmain.cpp
@@ -51,6 +51,9 @@ private:
// Load initial settings from the persisted values.
void init_settings();
+ // Handle to launch and terminate the launcher
+ HANDLE m_hProcess;
+
public:
// Constructor
Wox_Launcher() {
diff --git a/src/runner/main.cpp b/src/runner/main.cpp
index 8b0ac14f8f..1c27fa645a 100644
--- a/src/runner/main.cpp
+++ b/src/runner/main.cpp
@@ -175,7 +175,8 @@ int runner(bool isProcessElevated)
std::unordered_set known_dlls = {
L"shortcut_guide.dll",
L"fancyzones.dll",
- L"PowerRenameExt.dll"
+ L"PowerRenameExt.dll",
+ L"Wox_Launcher"
};
for (auto& file : std::filesystem::directory_iterator(L"modules/"))
{