Compare commits
	
		
			3 Commits
		
	
	
		
			76f4feb431
			...
			d68f30759d
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | d68f30759d | ||
|  | 646f315c8f | ||
|  | 27e2e43268 | 
							
								
								
									
										34
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | |||||||
|  | # Prerequisites | ||||||
|  | *.d | ||||||
|  |  | ||||||
|  | .vs/ | ||||||
|  |  | ||||||
|  | # Compiled Object files | ||||||
|  | *.slo | ||||||
|  | *.lo | ||||||
|  | *.o | ||||||
|  | *.obj | ||||||
|  |  | ||||||
|  | # Precompiled Headers | ||||||
|  | *.gch | ||||||
|  | *.pch | ||||||
|  |  | ||||||
|  | # Compiled Dynamic libraries | ||||||
|  | *.so | ||||||
|  | *.dylib | ||||||
|  | *.dll | ||||||
|  |  | ||||||
|  | # Fortran module files | ||||||
|  | *.mod | ||||||
|  | *.smod | ||||||
|  |  | ||||||
|  | # Compiled Static libraries | ||||||
|  | *.lai | ||||||
|  | *.la | ||||||
|  | *.a | ||||||
|  | *.lib | ||||||
|  |  | ||||||
|  | # Executables | ||||||
|  | *.exe | ||||||
|  | *.out | ||||||
|  | *.app | ||||||
							
								
								
									
										34
									
								
								src/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								src/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | |||||||
|  | # Prerequisites | ||||||
|  | *.d | ||||||
|  |  | ||||||
|  | x64/* | ||||||
|  |  | ||||||
|  | # Compiled Object files | ||||||
|  | *.slo | ||||||
|  | *.lo | ||||||
|  | *.o | ||||||
|  | *.obj | ||||||
|  |  | ||||||
|  | # Precompiled Headers | ||||||
|  | *.gch | ||||||
|  | *.pch | ||||||
|  |  | ||||||
|  | # Compiled Dynamic libraries | ||||||
|  | *.so | ||||||
|  | *.dylib | ||||||
|  | *.dll | ||||||
|  |  | ||||||
|  | # Fortran module files | ||||||
|  | *.mod | ||||||
|  | *.smod | ||||||
|  |  | ||||||
|  | # Compiled Static libraries | ||||||
|  | *.lai | ||||||
|  | *.la | ||||||
|  | *.a | ||||||
|  | *.lib | ||||||
|  |  | ||||||
|  | # Executables | ||||||
|  | *.exe | ||||||
|  | *.out | ||||||
|  | *.app | ||||||
							
								
								
									
										93
									
								
								src/KeyboardHook.cpp
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										93
									
								
								src/KeyboardHook.cpp
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,93 @@ | |||||||
|  | // dllmain.cpp : Defines the entry point for the DLL application. | ||||||
|  | #include "pch.h" | ||||||
|  | #include "KeyboardHook.h" | ||||||
|  |  | ||||||
|  |  | ||||||
|  | #pragma data_seg (".SHARED") | ||||||
|  | // Windows message for communication between main executable and DLL module | ||||||
|  | UINT const WM_HOOK = WM_APP + 1; | ||||||
|  | // HWND of the main executable (managing application) | ||||||
|  | HWND hwndServer = NULL; | ||||||
|  | #pragma data_seg () | ||||||
|  | #pragma comment (linker, "/section:.SHARED,RWS") | ||||||
|  |  | ||||||
|  | HINSTANCE instanceHandle = NULL; | ||||||
|  | HHOOK hookHandle; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | BOOL APIENTRY DllMain( HMODULE hModule, | ||||||
|  |                        DWORD  ul_reason_for_call, | ||||||
|  |                        LPVOID lpReserved | ||||||
|  |                      ) | ||||||
|  | { | ||||||
|  |     switch (ul_reason_for_call) | ||||||
|  |     { | ||||||
|  |     case DLL_PROCESS_ATTACH: | ||||||
|  |         instanceHandle = hModule; | ||||||
|  |         hookHandle = NULL; | ||||||
|  |     case DLL_THREAD_ATTACH: | ||||||
|  |     case DLL_THREAD_DETACH: | ||||||
|  |     case DLL_PROCESS_DETACH: | ||||||
|  |         break; | ||||||
|  |     } | ||||||
|  |     return TRUE; | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | static LRESULT CALLBACK HookCallback(int nCode, WPARAM wParam, LPARAM lParam) | ||||||
|  | { | ||||||
|  |     if (nCode < 0) | ||||||
|  |     { | ||||||
|  |         return CallNextHookEx(hookHandle, nCode, wParam, lParam); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     // Report the event to the main window. If the return value is 1, block the input; otherwise pass it along the Hook Chain | ||||||
|  | 	//In MacroBoard: Error is called for "Null object reference" on this line when program is still initializing and you are typing. | ||||||
|  |     if (SendMessage(hwndServer, WM_HOOK, wParam, lParam)) | ||||||
|  |     { | ||||||
|  |         return 1; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     return CallNextHookEx(hookHandle, nCode, wParam, lParam); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | INT32 InstallHook(HWND hwndParent) | ||||||
|  | { | ||||||
|  | 	if (hwndServer != NULL) | ||||||
|  | 	{ | ||||||
|  | 		return -1; | ||||||
|  | 		// Already hooked | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	// Register keyboard Hook | ||||||
|  | 	hookHandle = SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC)HookCallback, instanceHandle, 0); | ||||||
|  | 	if (hookHandle == NULL) | ||||||
|  | 	{ | ||||||
|  | 		return 0; | ||||||
|  | 	} | ||||||
|  | 	hwndServer = hwndParent; | ||||||
|  | 	return 1; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | INT32 UninstallHook() | ||||||
|  | { | ||||||
|  | 	if (hookHandle == NULL) | ||||||
|  | 	{ | ||||||
|  | 		return 2; | ||||||
|  | 	} | ||||||
|  | 	// If unhook attempt fails, check whether it is because of invalid handle (in that case continue) | ||||||
|  | 	if (!UnhookWindowsHookEx(hookHandle)) | ||||||
|  | 	{ | ||||||
|  | 		DWORD error = GetLastError(); | ||||||
|  | 		if (error != ERROR_INVALID_HOOK_HANDLE) | ||||||
|  | 		{ | ||||||
|  | 			return 0; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	hwndServer = NULL; | ||||||
|  | 	hookHandle = NULL; | ||||||
|  | 	return 1; | ||||||
|  | } | ||||||
							
								
								
									
										8
									
								
								src/KeyboardHook.h
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								src/KeyboardHook.h
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | #ifdef KEYBOARDHOOK_EXPORTS | ||||||
|  | #define KEYBOARDHOOK_API extern "C" __declspec(dllexport) | ||||||
|  | #else | ||||||
|  | #define KEYBOARDHOOK_API extern "C" __declspec(dllimport) | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | KEYBOARDHOOK_API INT32 InstallHook(HWND hwndParent); | ||||||
|  | KEYBOARDHOOK_API INT32 UninstallHook(); | ||||||
							
								
								
									
										31
									
								
								src/KeyboardHook.sln
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										31
									
								
								src/KeyboardHook.sln
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,31 @@ | |||||||
|  |  | ||||||
|  | Microsoft Visual Studio Solution File, Format Version 12.00 | ||||||
|  | # Visual Studio Version 16 | ||||||
|  | VisualStudioVersion = 16.0.31112.23 | ||||||
|  | MinimumVisualStudioVersion = 10.0.40219.1 | ||||||
|  | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "KeyboardHook", "KeyboardHook.vcxproj", "{06799C91-6679-4035-8DFD-B5EF3E484581}" | ||||||
|  | EndProject | ||||||
|  | Global | ||||||
|  | 	GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||||||
|  | 		Debug|x64 = Debug|x64 | ||||||
|  | 		Debug|x86 = Debug|x86 | ||||||
|  | 		Release|x64 = Release|x64 | ||||||
|  | 		Release|x86 = Release|x86 | ||||||
|  | 	EndGlobalSection | ||||||
|  | 	GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||||||
|  | 		{06799C91-6679-4035-8DFD-B5EF3E484581}.Debug|x64.ActiveCfg = Debug|x64 | ||||||
|  | 		{06799C91-6679-4035-8DFD-B5EF3E484581}.Debug|x64.Build.0 = Debug|x64 | ||||||
|  | 		{06799C91-6679-4035-8DFD-B5EF3E484581}.Debug|x86.ActiveCfg = Debug|Win32 | ||||||
|  | 		{06799C91-6679-4035-8DFD-B5EF3E484581}.Debug|x86.Build.0 = Debug|Win32 | ||||||
|  | 		{06799C91-6679-4035-8DFD-B5EF3E484581}.Release|x64.ActiveCfg = Release|x64 | ||||||
|  | 		{06799C91-6679-4035-8DFD-B5EF3E484581}.Release|x64.Build.0 = Release|x64 | ||||||
|  | 		{06799C91-6679-4035-8DFD-B5EF3E484581}.Release|x86.ActiveCfg = Release|Win32 | ||||||
|  | 		{06799C91-6679-4035-8DFD-B5EF3E484581}.Release|x86.Build.0 = Release|Win32 | ||||||
|  | 	EndGlobalSection | ||||||
|  | 	GlobalSection(SolutionProperties) = preSolution | ||||||
|  | 		HideSolutionNode = FALSE | ||||||
|  | 	EndGlobalSection | ||||||
|  | 	GlobalSection(ExtensibilityGlobals) = postSolution | ||||||
|  | 		SolutionGuid = {A78C7D96-A6BF-468C-8F2C-EEB61E2D27F8} | ||||||
|  | 	EndGlobalSection | ||||||
|  | EndGlobal | ||||||
							
								
								
									
										170
									
								
								src/KeyboardHook.vcxproj
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										170
									
								
								src/KeyboardHook.vcxproj
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,170 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project DefaultTargets="Build" 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> | ||||||
|  |     <ProjectConfiguration Include="Debug|x64"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|x64"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <PropertyGroup Label="Globals"> | ||||||
|  |     <VCProjectVersion>16.0</VCProjectVersion> | ||||||
|  |     <Keyword>Win32Proj</Keyword> | ||||||
|  |     <ProjectGuid>{06799c91-6679-4035-8dfd-b5ef3e484581}</ProjectGuid> | ||||||
|  |     <RootNamespace>KeyboardHook</RootNamespace> | ||||||
|  |     <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>DynamicLibrary</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>true</UseDebugLibraries> | ||||||
|  |     <PlatformToolset>v142</PlatformToolset> | ||||||
|  |     <CharacterSet>Unicode</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>DynamicLibrary</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>false</UseDebugLibraries> | ||||||
|  |     <PlatformToolset>v142</PlatformToolset> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |     <CharacterSet>Unicode</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>DynamicLibrary</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>true</UseDebugLibraries> | ||||||
|  |     <PlatformToolset>v142</PlatformToolset> | ||||||
|  |     <CharacterSet>Unicode</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>DynamicLibrary</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>false</UseDebugLibraries> | ||||||
|  |     <PlatformToolset>v142</PlatformToolset> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |     <CharacterSet>Unicode</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | ||||||
|  |   <ImportGroup Label="ExtensionSettings"> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="Shared"> | ||||||
|  |   </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> | ||||||
|  |   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||||||
|  |     <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|x64'"> | ||||||
|  |     <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> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||||||
|  |     <LinkIncremental>false</LinkIncremental> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||||||
|  |     <LinkIncremental>true</LinkIncremental> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||||||
|  |     <LinkIncremental>false</LinkIncremental> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <SDLCheck>true</SDLCheck> | ||||||
|  |       <PreprocessorDefinitions>WIN32;_DEBUG;KEYBOARDHOOK_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <ConformanceMode>true</ConformanceMode> | ||||||
|  |       <PrecompiledHeader>Use</PrecompiledHeader> | ||||||
|  |       <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <SubSystem>Windows</SubSystem> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <EnableUAC>false</EnableUAC> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <SDLCheck>true</SDLCheck> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;KEYBOARDHOOK_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <ConformanceMode>true</ConformanceMode> | ||||||
|  |       <PrecompiledHeader>Use</PrecompiledHeader> | ||||||
|  |       <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <SubSystem>Windows</SubSystem> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <EnableUAC>false</EnableUAC> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <SDLCheck>true</SDLCheck> | ||||||
|  |       <PreprocessorDefinitions>_DEBUG;KEYBOARDHOOK_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <ConformanceMode>true</ConformanceMode> | ||||||
|  |       <PrecompiledHeader>Use</PrecompiledHeader> | ||||||
|  |       <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <SubSystem>Windows</SubSystem> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <EnableUAC>false</EnableUAC> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <SDLCheck>true</SDLCheck> | ||||||
|  |       <PreprocessorDefinitions>NDEBUG;KEYBOARDHOOK_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <ConformanceMode>true</ConformanceMode> | ||||||
|  |       <PrecompiledHeader>Use</PrecompiledHeader> | ||||||
|  |       <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <SubSystem>Windows</SubSystem> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |       <EnableUAC>false</EnableUAC> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClInclude Include="framework.h" /> | ||||||
|  |     <ClInclude Include="KeyboardHook.h" /> | ||||||
|  |     <ClInclude Include="pch.h" /> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="KeyboardHook.cpp" /> | ||||||
|  |     <ClCompile Include="pch.cpp"> | ||||||
|  |       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader> | ||||||
|  |       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader> | ||||||
|  |       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader> | ||||||
|  |       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader> | ||||||
|  |     </ClCompile> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||||||
|  |   <ImportGroup Label="ExtensionTargets"> | ||||||
|  |   </ImportGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										36
									
								
								src/KeyboardHook.vcxproj.filters
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										36
									
								
								src/KeyboardHook.vcxproj.filters
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,36 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <Filter Include="Source Files"> | ||||||
|  |       <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> | ||||||
|  |       <Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |     <Filter Include="Header Files"> | ||||||
|  |       <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> | ||||||
|  |       <Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |     <Filter Include="Resource Files"> | ||||||
|  |       <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> | ||||||
|  |       <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClInclude Include="framework.h"> | ||||||
|  |       <Filter>Header Files</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="pch.h"> | ||||||
|  |       <Filter>Header Files</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="KeyboardHook.h"> | ||||||
|  |       <Filter>Header Files</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="KeyboardHook.cpp"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="pch.cpp"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |   </ItemGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										4
									
								
								src/KeyboardHook.vcxproj.user
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										4
									
								
								src/KeyboardHook.vcxproj.user
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <PropertyGroup /> | ||||||
|  | </Project> | ||||||
							
								
								
									
										5
									
								
								src/framework.h
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								src/framework.h
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | #pragma once | ||||||
|  |  | ||||||
|  | #define WIN32_LEAN_AND_MEAN             // Exclude rarely-used stuff from Windows headers | ||||||
|  | // Windows Header Files | ||||||
|  | #include <windows.h> | ||||||
							
								
								
									
										5
									
								
								src/pch.cpp
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								src/pch.cpp
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | // pch.cpp: source file corresponding to the pre-compiled header | ||||||
|  |  | ||||||
|  | #include "pch.h" | ||||||
|  |  | ||||||
|  | // When you are using pre-compiled headers, this source file is necessary for compilation to succeed. | ||||||
							
								
								
									
										13
									
								
								src/pch.h
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										13
									
								
								src/pch.h
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  | // pch.h: This is a precompiled header file. | ||||||
|  | // Files listed below are compiled only once, improving build performance for future builds. | ||||||
|  | // This also affects IntelliSense performance, including code completion and many code browsing features. | ||||||
|  | // However, files listed here are ALL re-compiled if any one of them is updated between builds. | ||||||
|  | // Do not add files here that you will be updating frequently as this negates the performance advantage. | ||||||
|  |  | ||||||
|  | #ifndef PCH_H | ||||||
|  | #define PCH_H | ||||||
|  |  | ||||||
|  | // add headers that you want to pre-compile here | ||||||
|  | #include "framework.h" | ||||||
|  |  | ||||||
|  | #endif //PCH_H | ||||||
		Reference in New Issue
	
	Block a user