mirror of
				https://github.com/cmderdev/cmder.git
				synced 2025-11-04 11:22:13 +08:00 
			
		
		
		
	Add launcher
Fixes bliker/cmder#39 Launcher replaces functionality of batch file to allow taskbar pinning
This commit is contained in:
		
							
								
								
									
										181
									
								
								launcher/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										181
									
								
								launcher/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,181 @@
 | 
				
			|||||||
 | 
					## Ignore Visual Studio temporary files, build results, and
 | 
				
			||||||
 | 
					## files generated by popular Visual Studio add-ons.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# User-specific files
 | 
				
			||||||
 | 
					*.suo
 | 
				
			||||||
 | 
					*.user
 | 
				
			||||||
 | 
					*.sln.docstates
 | 
				
			||||||
 | 
					*.filters
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Build results
 | 
				
			||||||
 | 
					[Dd]ebug/
 | 
				
			||||||
 | 
					[Dd]ebugPublic/
 | 
				
			||||||
 | 
					[Rr]elease/
 | 
				
			||||||
 | 
					x64/
 | 
				
			||||||
 | 
					build/
 | 
				
			||||||
 | 
					bld/
 | 
				
			||||||
 | 
					[Bb]in/
 | 
				
			||||||
 | 
					[Oo]bj/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
 | 
				
			||||||
 | 
					!packages/*/build/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# MSTest test Results
 | 
				
			||||||
 | 
					[Tt]est[Rr]esult*/
 | 
				
			||||||
 | 
					[Bb]uild[Ll]og.*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#NUNIT
 | 
				
			||||||
 | 
					*.VisualState.xml
 | 
				
			||||||
 | 
					TestResult.xml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*_i.c
 | 
				
			||||||
 | 
					*_p.c
 | 
				
			||||||
 | 
					*_i.h
 | 
				
			||||||
 | 
					*.ilk
 | 
				
			||||||
 | 
					*.meta
 | 
				
			||||||
 | 
					*.obj
 | 
				
			||||||
 | 
					*.pch
 | 
				
			||||||
 | 
					*.pdb
 | 
				
			||||||
 | 
					*.pgc
 | 
				
			||||||
 | 
					*.pgd
 | 
				
			||||||
 | 
					*.rsp
 | 
				
			||||||
 | 
					*.sbr
 | 
				
			||||||
 | 
					*.tlb
 | 
				
			||||||
 | 
					*.tli
 | 
				
			||||||
 | 
					*.tlh
 | 
				
			||||||
 | 
					*.tmp
 | 
				
			||||||
 | 
					*.tmp_proj
 | 
				
			||||||
 | 
					*.log
 | 
				
			||||||
 | 
					*.vspscc
 | 
				
			||||||
 | 
					*.vssscc
 | 
				
			||||||
 | 
					.builds
 | 
				
			||||||
 | 
					*.pidb
 | 
				
			||||||
 | 
					*.svclog
 | 
				
			||||||
 | 
					*.scc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Chutzpah Test files
 | 
				
			||||||
 | 
					_Chutzpah*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual C++ cache files
 | 
				
			||||||
 | 
					ipch/
 | 
				
			||||||
 | 
					*.aps
 | 
				
			||||||
 | 
					*.ncb
 | 
				
			||||||
 | 
					*.opensdf
 | 
				
			||||||
 | 
					*.sdf
 | 
				
			||||||
 | 
					*.cachefile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio profiler
 | 
				
			||||||
 | 
					*.psess
 | 
				
			||||||
 | 
					*.vsp
 | 
				
			||||||
 | 
					*.vspx
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# TFS 2012 Local Workspace
 | 
				
			||||||
 | 
					$tf/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Guidance Automation Toolkit
 | 
				
			||||||
 | 
					*.gpState
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# ReSharper is a .NET coding add-in
 | 
				
			||||||
 | 
					_ReSharper*/
 | 
				
			||||||
 | 
					*.[Rr]e[Ss]harper
 | 
				
			||||||
 | 
					*.DotSettings.user
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# JustCode is a .NET coding addin-in
 | 
				
			||||||
 | 
					.JustCode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# TeamCity is a build add-in
 | 
				
			||||||
 | 
					_TeamCity*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# DotCover is a Code Coverage Tool
 | 
				
			||||||
 | 
					*.dotCover
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# NCrunch
 | 
				
			||||||
 | 
					*.ncrunch*
 | 
				
			||||||
 | 
					_NCrunch_*
 | 
				
			||||||
 | 
					.*crunch*.local.xml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# MightyMoose
 | 
				
			||||||
 | 
					*.mm.*
 | 
				
			||||||
 | 
					AutoTest.Net/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Installshield output folder
 | 
				
			||||||
 | 
					[Ee]xpress/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# DocProject is a documentation generator add-in
 | 
				
			||||||
 | 
					DocProject/buildhelp/
 | 
				
			||||||
 | 
					DocProject/Help/*.HxT
 | 
				
			||||||
 | 
					DocProject/Help/*.HxC
 | 
				
			||||||
 | 
					DocProject/Help/*.hhc
 | 
				
			||||||
 | 
					DocProject/Help/*.hhk
 | 
				
			||||||
 | 
					DocProject/Help/*.hhp
 | 
				
			||||||
 | 
					DocProject/Help/Html2
 | 
				
			||||||
 | 
					DocProject/Help/html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Click-Once directory
 | 
				
			||||||
 | 
					publish/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Publish Web Output
 | 
				
			||||||
 | 
					*.Publish.xml
 | 
				
			||||||
 | 
					*.azurePubxml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# NuGet Packages Directory
 | 
				
			||||||
 | 
					## TODO: If you have NuGet Package Restore enabled, uncomment the next line
 | 
				
			||||||
 | 
					#packages/
 | 
				
			||||||
 | 
					## TODO: If the tool you use requires repositories.config, also uncomment the next line
 | 
				
			||||||
 | 
					#!packages/repositories.config
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Windows Azure Build Output
 | 
				
			||||||
 | 
					csx/
 | 
				
			||||||
 | 
					*.build.csdef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Windows Store app package directory
 | 
				
			||||||
 | 
					AppPackages/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Others
 | 
				
			||||||
 | 
					sql/
 | 
				
			||||||
 | 
					*.Cache
 | 
				
			||||||
 | 
					ClientBin/
 | 
				
			||||||
 | 
					[Ss]tyle[Cc]op.*
 | 
				
			||||||
 | 
					~$*
 | 
				
			||||||
 | 
					*~
 | 
				
			||||||
 | 
					*.dbmdl
 | 
				
			||||||
 | 
					*.dbproj.schemaview
 | 
				
			||||||
 | 
					*.[Pp]ublish.xml
 | 
				
			||||||
 | 
					*.pfx
 | 
				
			||||||
 | 
					*.publishsettings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# RIA/Silverlight projects
 | 
				
			||||||
 | 
					Generated_Code/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Backup & report files from converting an old project file to a newer
 | 
				
			||||||
 | 
					# Visual Studio version. Backup files are not needed, because we have git ;-)
 | 
				
			||||||
 | 
					_UpgradeReport_Files/
 | 
				
			||||||
 | 
					Backup*/
 | 
				
			||||||
 | 
					UpgradeLog*.XML
 | 
				
			||||||
 | 
					UpgradeLog*.htm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# SQL Server files
 | 
				
			||||||
 | 
					App_Data/*.mdf
 | 
				
			||||||
 | 
					App_Data/*.ldf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Business Intelligence projects
 | 
				
			||||||
 | 
					*.rdl.data
 | 
				
			||||||
 | 
					*.bim.layout
 | 
				
			||||||
 | 
					*.bim_*.settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Microsoft Fakes
 | 
				
			||||||
 | 
					FakesAssemblies/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# =========================
 | 
				
			||||||
 | 
					# Windows detritus
 | 
				
			||||||
 | 
					# =========================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Windows image file caches
 | 
				
			||||||
 | 
					Thumbs.db
 | 
				
			||||||
 | 
					ehthumbs.db
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Folder config file
 | 
				
			||||||
 | 
					Desktop.ini
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Recycle Bin used on file shares
 | 
				
			||||||
 | 
					$RECYCLE.BIN/
 | 
				
			||||||
							
								
								
									
										22
									
								
								launcher/CmderLauncher.sln
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								launcher/CmderLauncher.sln
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					Microsoft Visual Studio Solution File, Format Version 12.00
 | 
				
			||||||
 | 
					# Visual Studio 2013
 | 
				
			||||||
 | 
					VisualStudioVersion = 12.0.21005.1
 | 
				
			||||||
 | 
					MinimumVisualStudioVersion = 10.0.40219.1
 | 
				
			||||||
 | 
					Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CmderLauncher", "CmderLauncher.vcxproj", "{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}"
 | 
				
			||||||
 | 
					EndProject
 | 
				
			||||||
 | 
					Global
 | 
				
			||||||
 | 
						GlobalSection(SolutionConfigurationPlatforms) = preSolution
 | 
				
			||||||
 | 
							Debug|Win32 = Debug|Win32
 | 
				
			||||||
 | 
							Release|Win32 = Release|Win32
 | 
				
			||||||
 | 
						EndGlobalSection
 | 
				
			||||||
 | 
						GlobalSection(ProjectConfigurationPlatforms) = postSolution
 | 
				
			||||||
 | 
							{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}.Debug|Win32.ActiveCfg = Debug|Win32
 | 
				
			||||||
 | 
							{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}.Debug|Win32.Build.0 = Debug|Win32
 | 
				
			||||||
 | 
							{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}.Release|Win32.ActiveCfg = Release|Win32
 | 
				
			||||||
 | 
							{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}.Release|Win32.Build.0 = Release|Win32
 | 
				
			||||||
 | 
						EndGlobalSection
 | 
				
			||||||
 | 
						GlobalSection(SolutionProperties) = preSolution
 | 
				
			||||||
 | 
							HideSolutionNode = FALSE
 | 
				
			||||||
 | 
						EndGlobalSection
 | 
				
			||||||
 | 
					EndGlobal
 | 
				
			||||||
							
								
								
									
										98
									
								
								launcher/CmderLauncher.vcxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								launcher/CmderLauncher.vcxproj
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,98 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
				
			||||||
 | 
					  <ItemGroup Label="ProjectConfigurations">
 | 
				
			||||||
 | 
					    <ProjectConfiguration Include="Debug|Win32">
 | 
				
			||||||
 | 
					      <Configuration>Debug</Configuration>
 | 
				
			||||||
 | 
					      <Platform>Win32</Platform>
 | 
				
			||||||
 | 
					    </ProjectConfiguration>
 | 
				
			||||||
 | 
					    <ProjectConfiguration Include="Release|Win32">
 | 
				
			||||||
 | 
					      <Configuration>Release</Configuration>
 | 
				
			||||||
 | 
					      <Platform>Win32</Platform>
 | 
				
			||||||
 | 
					    </ProjectConfiguration>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Label="Globals">
 | 
				
			||||||
 | 
					    <ProjectGuid>{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}</ProjectGuid>
 | 
				
			||||||
 | 
					    <Keyword>Win32Proj</Keyword>
 | 
				
			||||||
 | 
					    <RootNamespace>CmderLauncher</RootNamespace>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
 | 
				
			||||||
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
 | 
				
			||||||
 | 
					    <ConfigurationType>Application</ConfigurationType>
 | 
				
			||||||
 | 
					    <UseDebugLibraries>true</UseDebugLibraries>
 | 
				
			||||||
 | 
					    <PlatformToolset>v120</PlatformToolset>
 | 
				
			||||||
 | 
					    <CharacterSet>Unicode</CharacterSet>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
 | 
				
			||||||
 | 
					    <ConfigurationType>Application</ConfigurationType>
 | 
				
			||||||
 | 
					    <UseDebugLibraries>false</UseDebugLibraries>
 | 
				
			||||||
 | 
					    <PlatformToolset>v120</PlatformToolset>
 | 
				
			||||||
 | 
					    <WholeProgramOptimization>true</WholeProgramOptimization>
 | 
				
			||||||
 | 
					    <CharacterSet>Unicode</CharacterSet>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
 | 
				
			||||||
 | 
					  <ImportGroup Label="ExtensionSettings">
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
 | 
				
			||||||
 | 
					    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
 | 
				
			||||||
 | 
					    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Label="UserMacros" />
 | 
				
			||||||
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
 | 
				
			||||||
 | 
					    <LinkIncremental>true</LinkIncremental>
 | 
				
			||||||
 | 
					    <TargetName>Cmder</TargetName>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
 | 
				
			||||||
 | 
					    <LinkIncremental>false</LinkIncremental>
 | 
				
			||||||
 | 
					    <TargetName>Cmder</TargetName>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
 | 
				
			||||||
 | 
					    <ClCompile>
 | 
				
			||||||
 | 
					      <PrecompiledHeader>
 | 
				
			||||||
 | 
					      </PrecompiledHeader>
 | 
				
			||||||
 | 
					      <WarningLevel>Level3</WarningLevel>
 | 
				
			||||||
 | 
					      <Optimization>Disabled</Optimization>
 | 
				
			||||||
 | 
					      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
				
			||||||
 | 
					      <SDLCheck>true</SDLCheck>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					    <Link>
 | 
				
			||||||
 | 
					      <SubSystem>Windows</SubSystem>
 | 
				
			||||||
 | 
					      <GenerateDebugInformation>true</GenerateDebugInformation>
 | 
				
			||||||
 | 
					    </Link>
 | 
				
			||||||
 | 
					  </ItemDefinitionGroup>
 | 
				
			||||||
 | 
					  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
 | 
				
			||||||
 | 
					    <ClCompile>
 | 
				
			||||||
 | 
					      <WarningLevel>Level3</WarningLevel>
 | 
				
			||||||
 | 
					      <PrecompiledHeader>
 | 
				
			||||||
 | 
					      </PrecompiledHeader>
 | 
				
			||||||
 | 
					      <Optimization>MinSpace</Optimization>
 | 
				
			||||||
 | 
					      <FunctionLevelLinking>true</FunctionLevelLinking>
 | 
				
			||||||
 | 
					      <IntrinsicFunctions>false</IntrinsicFunctions>
 | 
				
			||||||
 | 
					      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
				
			||||||
 | 
					      <SDLCheck>true</SDLCheck>
 | 
				
			||||||
 | 
					      <FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					    <Link>
 | 
				
			||||||
 | 
					      <SubSystem>Windows</SubSystem>
 | 
				
			||||||
 | 
					      <GenerateDebugInformation>true</GenerateDebugInformation>
 | 
				
			||||||
 | 
					      <EnableCOMDATFolding>true</EnableCOMDATFolding>
 | 
				
			||||||
 | 
					      <OptimizeReferences>true</OptimizeReferences>
 | 
				
			||||||
 | 
					    </Link>
 | 
				
			||||||
 | 
					    <PostBuildEvent>
 | 
				
			||||||
 | 
					      <Command>cp $(TargetPath) $(SolutionDir)..\$(TargetFileName)</Command>
 | 
				
			||||||
 | 
					    </PostBuildEvent>
 | 
				
			||||||
 | 
					  </ItemDefinitionGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <ResourceCompile Include="src\Resource.rc" />
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <ClInclude Include="src\resource.h" />
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <ClCompile Include="src\CmderLauncher.cpp" />
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
 | 
				
			||||||
 | 
					  <ImportGroup Label="ExtensionTargets">
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					</Project>
 | 
				
			||||||
							
								
								
									
										60
									
								
								launcher/src/CmderLauncher.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								launcher/src/CmderLauncher.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,60 @@
 | 
				
			|||||||
 | 
					#include <windows.h>
 | 
				
			||||||
 | 
					#include <tchar.h>
 | 
				
			||||||
 | 
					#include <Shlwapi.h>
 | 
				
			||||||
 | 
					#include "resource.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pragma comment(lib, "Shlwapi.lib")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define USE_TASKBAR_API (UNICODE && _WIN32_WINNT >= _WIN32_WINNT_WIN7)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
 | 
				
			||||||
 | 
						_In_opt_ HINSTANCE hPrevInstance,
 | 
				
			||||||
 | 
						_In_ LPTSTR    lpCmdLine,
 | 
				
			||||||
 | 
						_In_ int       nCmdShow)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						UNREFERENCED_PARAMETER(hPrevInstance);
 | 
				
			||||||
 | 
						UNREFERENCED_PARAMETER(lpCmdLine);
 | 
				
			||||||
 | 
						UNREFERENCED_PARAMETER(nCmdShow);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_TASKBAR_API
 | 
				
			||||||
 | 
						TCHAR appId[MAX_PATH] = { 0 };
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
						TCHAR exeDir[MAX_PATH] = { 0 };
 | 
				
			||||||
 | 
						TCHAR icoPath[MAX_PATH] = { 0 };
 | 
				
			||||||
 | 
						TCHAR cfgPath[MAX_PATH] = { 0 };
 | 
				
			||||||
 | 
						TCHAR conEmuPath[MAX_PATH] = { 0 };
 | 
				
			||||||
 | 
						TCHAR args[MAX_PATH * 2 + 256] = { 0 };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						GetModuleFileName(NULL, exeDir, sizeof(exeDir));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if USE_TASKBAR_API
 | 
				
			||||||
 | 
						_tcscpy_s(appId, exeDir);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						PathRemoveFileSpec(exeDir);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						PathCombine(icoPath, exeDir, _T("icons\\cmder.ico"));
 | 
				
			||||||
 | 
						PathCombine(cfgPath, exeDir, _T("config\\ConEmu.xml"));
 | 
				
			||||||
 | 
						PathCombine(conEmuPath, exeDir, _T("vendor\\conemu-maximus5\\ConEmu.exe"));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_tcscat_s(args, _T("/Icon \""));
 | 
				
			||||||
 | 
						_tcscat_s(args, icoPath);
 | 
				
			||||||
 | 
						_tcscat_s(args, _T("\" /Title Cmder /LoadCfgFile \""));
 | 
				
			||||||
 | 
						_tcscat_s(args, cfgPath);
 | 
				
			||||||
 | 
						_tcscat_s(args, _T("\""));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						SetEnvironmentVariable(_T("CMDER_ROOT"), exeDir);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						STARTUPINFO si = { 0 };
 | 
				
			||||||
 | 
						si.cb = sizeof(STARTUPINFO);
 | 
				
			||||||
 | 
					#if USE_TASKBAR_API
 | 
				
			||||||
 | 
						si.lpTitle = appId;
 | 
				
			||||||
 | 
						si.dwFlags = STARTF_TITLEISAPPID;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						PROCESS_INFORMATION pi;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						CreateProcess(conEmuPath, args, NULL, NULL, false, 0, NULL, NULL, &si, &pi);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								launcher/src/Resource.rc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								launcher/src/Resource.rc
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								launcher/src/resource.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								launcher/src/resource.h
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user