diff --git a/LittleBigMouse.Hook/Daemon/LittleBigMouseDaemon.cpp b/LittleBigMouse.Hook/Daemon/LittleBigMouseDaemon.cpp index b5ab405..2bc3a80 100644 --- a/LittleBigMouse.Hook/Daemon/LittleBigMouseDaemon.cpp +++ b/LittleBigMouse.Hook/Daemon/LittleBigMouseDaemon.cpp @@ -106,17 +106,13 @@ void LittleBigMouseDaemon::Run(const std::string& path) // pump messages if(_hook) - _hook->RunThread(); + _hook->Loop(); // wait remote server to stop if(_remoteServer) - _remoteServer->Join(); - - // wait for mouse hook to stop - if(_hook) { - _hook->Stop(); - _hook->Join(); + _remoteServer->Stop(); + _remoteServer->Join(); } // disconnect from events @@ -191,7 +187,6 @@ void LittleBigMouseDaemon::ReceiveCommandMessage(tinyxml2::XMLElement* root, Rem if(_hook && !_hook->Hooked()) { LoadExcluded(); - _hook->SetPriority(_engine->Layout.Priority); if(!_paused) _hook->Hook(); } @@ -201,7 +196,6 @@ void LittleBigMouseDaemon::ReceiveCommandMessage(tinyxml2::XMLElement* root, Rem { if(_hook && _hook->Hooked()) { - _hook->SetPriority(Normal); _hook->Unhook(); } _paused = false; @@ -212,15 +206,11 @@ void LittleBigMouseDaemon::ReceiveCommandMessage(tinyxml2::XMLElement* root, Rem else if(strcmp(command, "Quit")==0) { - if(_hook && _hook->Hooked()) + if(_hook) { - _hook->SetPriority(Normal); - _hook->Unhook(); + _hook->Quit(); } _paused = false; - - if(_remoteServer) - _remoteServer->Stop(); } } } @@ -341,59 +331,62 @@ void LittleBigMouseDaemon::ReceiveClientMessage(const std::string& message, Remo void LittleBigMouseDaemon::LoadExcluded(const std::string& path) { - PWSTR szPath = nullptr; + + LPWSTR progDataPath = nullptr; _excluded.clear(); - if (SUCCEEDED(SHGetKnownFolderPath(FOLDERID_ProgramData, 0, nullptr, &szPath))) + if (SUCCEEDED(SHGetKnownFolderPath(FOLDERID_ProgramData, 0, nullptr, &progDataPath))) { std::ifstream file; - //PathAppend(szPath, ToWString(path).c_str()); - PathAppend(szPath, ToWString(path).data()); + TCHAR szPath[MAX_PATH] = { '\0' }; + PathCombine(szPath, progDataPath, ToWString(path).data()); + CoTaskMemFree(progDataPath); LOG_TRACE("Load Excluded : " << ToString(szPath)); file.open(szPath, std::ios::in); - std::string buffer; std::string line; while(std::getline(file, line)) { - LOG_TRACE("Excluded : " << line); if(line.empty()) continue; if(line[0] == ':') continue; + LOG_TRACE("Excluded : " << line); _excluded.push_back(line); } - CoTaskMemFree(szPath); file.close(); } else { LOG_DEBUG("Failed to load excluded"); } + + } void LittleBigMouseDaemon::LoadExcluded() { - LoadExcluded(R"(\Mgth\LittleBigMouse\Excluded.txt)"); + LoadExcluded(R"(.\Mgth\LittleBigMouse\Excluded.txt)"); } void LittleBigMouseDaemon::LoadFromFile(const std::string& path) { - auto wPath = ToWString(path); - PWSTR szPath; + LPWSTR progDataPath = nullptr; - if (SUCCEEDED(SHGetKnownFolderPath(FOLDERID_ProgramData, 0, nullptr, &szPath))) + if (SUCCEEDED(SHGetKnownFolderPath(FOLDERID_ProgramData, 0, nullptr, &progDataPath))) { std::ifstream file; - PathAppend(szPath, wPath.c_str()); + TCHAR szPath[MAX_PATH] = { '\0' }; + PathCombine(szPath, progDataPath, ToWString(path).data()); + CoTaskMemFree(progDataPath); + file.open(szPath, std::ios::in); - std::string buffer; std::string line; while(file) { diff --git a/LittleBigMouse.Hook/Hook/Hooker.cpp b/LittleBigMouse.Hook/Hook/Hooker.cpp index d63de9a..28a17e5 100644 --- a/LittleBigMouse.Hook/Hook/Hooker.cpp +++ b/LittleBigMouse.Hook/Hook/Hooker.cpp @@ -53,120 +53,108 @@ void Hooker::DoHook() HookEventSystemDesktopSwitch(); HookDisplayChange(); -} +} + void Hooker::DoUnhook() { UnhookMouse(); UnhookFocusEvent(); - //UnhookEventSystemDesktopSwitch(); + UnhookEventSystemDesktopSwitch(); UnhookDisplayChange(); _instance.store(nullptr); } -int Hooker::Loop() +bool Hooker::PumpMessages() { MSG msg; LOG_TRACE(""); - auto ret = GetMessage(&msg, nullptr, 0, 0); - while (ret) + while (ret>=0) { + if (msg.message == WM_QUIT) { + LOG_TRACE(""); + return false; + } + if (msg.message == WM_BREAK_LOOP) { + LOG_TRACE(""); + return true; + } + // if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) TranslateMessage(&msg); DispatchMessage(&msg); - if(ret == -1) - { - LOG_DEBUG(""); - (int)msg.wParam; - } ret = GetMessage(&msg, nullptr, 0, 0); } - - return (int)msg.wParam; -} - - -void Hooker::Loop2() -{ - LOG_TRACE(""); - - MSG msg; - int ret = PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE); - if(ret == 0) - { - ret = GetMessage(&msg, nullptr, 0, 0); - } - - //while we do not close our application - while (ret >= 0 && msg.message != WM_QUIT) - { - LOG_TRACE("msg : " << msg.message); - - TranslateMessage(&msg); - DispatchMessage(&msg); - - ret = GetMessage(&msg, nullptr, 0, 0); - } - if(ret == -1) { LOG_DEBUG(""); + return false; } + + return false; } -void Hooker::RunThread() + + +void Hooker::Loop() { _currentThreadId = GetCurrentThreadId(); - while(!Stopping()) + bool stopping = false; + while(!stopping) { DoSetPriority(_priority); - LOG_TRACE("SetPriority"); - DoHook(); - LOG_TRACE("Hook"); - Loop(); - LOG_TRACE("Loop"); + stopping = !PumpMessages(); DoUnhook(); - LOG_TRACE("Unhook"); DoSetPriority(Below); - LOG_TRACE("SetPriority"); } LOG_TRACE(""); } -void Hooker::QuitLoop() const +void Hooker::BreakLoop() const { - if (PostThreadMessage(_currentThreadId, WM_QUIT, 0, 0)) + if (PostThreadMessage(_currentThreadId, WM_BREAK_LOOP, 0, 0)) { - LOG_TRACE(""); + LOG_TRACE(""); } } -void Hooker::DoStop() +bool Hooker::Hooked() const { - QuitLoop(); + return _hookMouse && _mouseHookId; } -void Hooker::OnStopped() +void Hooker::Hook() { + _hookMouse = true; + BreakLoop(); } -bool Hooker::Hooked() const +void Hooker::Unhook() { - return _hookMouse && _mouseHookId; + _hookMouse = false; + BreakLoop(); +} + +void Hooker::Quit() const +{ + if (PostThreadMessage(_currentThreadId, WM_QUIT, 0, 0)) + { + LOG_TRACE(""); + } } diff --git a/LittleBigMouse.Hook/Hook/Hooker.h b/LittleBigMouse.Hook/Hook/Hooker.h index b40965d..08d8a69 100644 --- a/LittleBigMouse.Hook/Hook/Hooker.h +++ b/LittleBigMouse.Hook/Hook/Hooker.h @@ -9,9 +9,9 @@ class MouseEventArg; class MouseEngine; -#define WM_CUSTOM_MESSAGE (WM_APP + 1) +#define WM_BREAK_LOOP (WM_APP + 1) -class Hooker final : public ThreadHost +class Hooker final { static std::atomic _instance; @@ -46,10 +46,9 @@ class Hooker final : public ThreadHost void HookWindows(); void UnhookWindows(); - static int Loop(); - static void Loop2(); + static bool PumpMessages(); - void QuitLoop() const; + void BreakLoop() const; static ATOM RegisterClassLbm(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE hInstance); @@ -70,23 +69,17 @@ class Hooker final : public ThreadHost HWND Hwnd() const { return _hwnd; } static Hooker* Instance() { return _instance.load(); } - void RunThread() override; - void DoStop() override; - void OnStopped() override; + void Loop(); bool Hooked() const; void SetPriority(const Priority priority) { _priority = priority; } - void Hook() { - _hookMouse = true; - QuitLoop(); - } + void Hook(); - void Unhook() { - _hookMouse = false; - QuitLoop(); - } + void Unhook(); + + void Quit() const; private: static LRESULT __stdcall MouseCallback(const int nCode, const WPARAM wParam, const LPARAM lParam); diff --git a/LittleBigMouse.Hook/Hook/HookerDisplayChanged.cpp b/LittleBigMouse.Hook/Hook/HookerDisplayChanged.cpp index 7905a42..4a86de6 100644 --- a/LittleBigMouse.Hook/Hook/HookerDisplayChanged.cpp +++ b/LittleBigMouse.Hook/Hook/HookerDisplayChanged.cpp @@ -20,7 +20,7 @@ ATOM Hooker::RegisterClassLbm(HINSTANCE hInstance) wcex.hCursor = nullptr; //LoadCursor(nullptr, IDC_ARROW); wcex.hbrBackground = nullptr; //(HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = nullptr; //MAKEINTRESOURCEW(IDC_WINDOWSPROJECT1); - wcex.lpszClassName = L"HookerDisplayChange"; + wcex.lpszClassName = szWindowClass; wcex.hIconSm = nullptr; //LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); return RegisterClassExW(&wcex); @@ -28,9 +28,9 @@ ATOM Hooker::RegisterClassLbm(HINSTANCE hInstance) BOOL Hooker::InitInstance(HINSTANCE hInstance) { - _hInst = hInstance; + _hInst = hInstance; - HWND hWnd = CreateWindowW(L"HookerDisplayChange", szWindowClass, WS_OVERLAPPEDWINDOW, + const HWND hWnd = CreateWindowW(szWindowClass, szWindowClass, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr); if (!hWnd) @@ -54,6 +54,9 @@ bool Hooker::HookDisplayChange() const auto hInstance = GetModuleHandle(nullptr); + //LoadStringW(hInstance, IDS_APP_TITLE, szWindowClass, MAX_LOADSTRING); + wcscpy_s(szWindowClass, L"HookerDisplayChange"); + auto c = RegisterClassLbm(hInstance); if (!InitInstance (hInstance)) diff --git a/LittleBigMouse.Hook/LittleBigMouse.Hook.vcxproj b/LittleBigMouse.Hook/LittleBigMouse.Hook.vcxproj index a1e41f0..b17e718 100644 --- a/LittleBigMouse.Hook/LittleBigMouse.Hook.vcxproj +++ b/LittleBigMouse.Hook/LittleBigMouse.Hook.vcxproj @@ -133,23 +133,23 @@ true - $(SolutionDir)\LittleBigMouse.Daemon\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\LittleBigMouse.Daemon\obj\$(Platform)\$(Configuration)\ + $(ProjectDir)\bin\$(Platform)\$(Configuration)\ + $(ProjectDir)\obj\$(Platform)\$(Configuration)\ false - $(SolutionDir)\LittleBigMouse.Daemon\obj\$(Platform)\$(Configuration)\ - $(SolutionDir)\LittleBigMouse.Daemon\bin\$(Platform)\$(Configuration)\ + $(ProjectDir)\obj\$(Platform)\$(Configuration)\ + $(ProjectDir)\bin\$(Platform)\$(Configuration)\ true - $(SolutionDir)\LittleBigMouse.Daemon\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\LittleBigMouse.Daemon\obj\$(Platform)\$(Configuration)\ + $(ProjectDir)\bin\$(Platform)\$(Configuration)\ + $(ProjectDir)\obj\$(Platform)\$(Configuration)\ false - $(SolutionDir)\LittleBigMouse.Daemon\obj\$(Platform)\$(Configuration)\ - $(SolutionDir)\LittleBigMouse.Daemon\bin\$(Platform)\$(Configuration)\ + $(ProjectDir)\obj\$(Platform)\$(Configuration)\ + $(ProjectDir)\bin\$(Platform)\$(Configuration)\ diff --git a/LittleBigMouse.Hook/Program.cpp b/LittleBigMouse.Hook/Program.cpp index 7e66968..2d82291 100644 --- a/LittleBigMouse.Hook/Program.cpp +++ b/LittleBigMouse.Hook/Program.cpp @@ -126,7 +126,7 @@ int APIENTRY wWinMain(_In_ HINSTANCE hInstance, else { LOG_TRACE("Starting in Daemon mode\n"); - daemon.Run("\\Mgth\\LittleBigMouse\\Current.xml"); + daemon.Run(R"(.\Mgth\LittleBigMouse\Current.xml)"); } #if defined(_use_mutex) diff --git a/LittleBigMouse.Ui/LittleBigMouse.Ui.Avalonia/Remote/LittleBigMouseClientService.cs b/LittleBigMouse.Ui/LittleBigMouse.Ui.Avalonia/Remote/LittleBigMouseClientService.cs index 7194640..20f14c9 100644 --- a/LittleBigMouse.Ui/LittleBigMouse.Ui.Avalonia/Remote/LittleBigMouseClientService.cs +++ b/LittleBigMouse.Ui/LittleBigMouse.Ui.Avalonia/Remote/LittleBigMouseClientService.cs @@ -130,7 +130,7 @@ public void LaunchDaemon() // .\LittleBigMouse.Ui.Avalonia\bin\x64\Debug\net8.0\LittleBigMouse.Ui.Avalonia.dll // .\x64\Debug\LittleBigMouse.Hook.exe - path = path.Replace(@"\LittleBigMouse.Ui\LittleBigMouse.Ui.Avalonia\", @"\LittleBigMouse.Daemon\"); + path = path.Replace(@"\LittleBigMouse.Ui\LittleBigMouse.Ui.Avalonia\", @"\LittleBigMouse.Hook\"); path = path.Replace(@"\net8.0\", @"\"); path = path.Replace(@"\net7.0\", @"\"); } diff --git a/WindowsProject1/Resource.h b/WindowsProject1/Resource.h deleted file mode 100644 index 9a3ebe4..0000000 --- a/WindowsProject1/Resource.h +++ /dev/null @@ -1,30 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Fichier Include généré par Microsoft Visual C++. -// Utilisé par WindowsProject1.rc - -#define IDS_APP_TITLE 103 - -#define IDR_MAINFRAME 128 -#define IDD_WINDOWSPROJECT1_DIALOG 102 -#define IDD_ABOUTBOX 103 -#define IDM_ABOUT 104 -#define IDM_EXIT 105 -#define IDI_WINDOWSPROJECT1 107 -#define IDI_SMALL 108 -#define IDC_WINDOWSPROJECT1 109 -#define IDC_MYICON 2 -#ifndef IDC_STATIC -#define IDC_STATIC -1 -#endif -// Valeurs par défaut suivantes des nouveaux objets -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS - -#define _APS_NO_MFC 130 -#define _APS_NEXT_RESOURCE_VALUE 129 -#define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 1000 -#define _APS_NEXT_SYMED_VALUE 110 -#endif -#endif diff --git a/WindowsProject1/WindowsProject1.cpp b/WindowsProject1/WindowsProject1.cpp deleted file mode 100644 index 1de325f..0000000 --- a/WindowsProject1/WindowsProject1.cpp +++ /dev/null @@ -1,149 +0,0 @@ -// WindowsProject1.cpp : Définit le point d'entrée de l'application. -// - -#include "framework.h" -#include "WindowsProject1.h" - -#define MAX_LOADSTRING 100 - -// Variables globales : -HINSTANCE hInst; // instance actuelle -WCHAR szTitle[MAX_LOADSTRING]; // Texte de la barre de titre -WCHAR szWindowClass[MAX_LOADSTRING]; // nom de la classe de fenêtre principale - -// Déclarations anticipées des fonctions incluses dans ce module de code : -ATOM MyRegisterClass(HINSTANCE hInstance); -BOOL InitInstance(HINSTANCE, int); -LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); - -int APIENTRY wWinMain(_In_ HINSTANCE hInstance, - _In_opt_ HINSTANCE hPrevInstance, - _In_ LPWSTR lpCmdLine, - _In_ int nCmdShow) -{ - UNREFERENCED_PARAMETER(hPrevInstance); - UNREFERENCED_PARAMETER(lpCmdLine); - - // TODO: Placez le code ici. - - // Initialise les chaînes globales - LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); - LoadStringW(hInstance, IDC_WINDOWSPROJECT1, szWindowClass, MAX_LOADSTRING); - MyRegisterClass(hInstance); - - // Effectue l'initialisation de l'application : - if (!InitInstance (hInstance, nCmdShow)) - { - return FALSE; - } - - HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_WINDOWSPROJECT1)); - - MSG msg; - - // Boucle de messages principale : - while (GetMessage(&msg, nullptr, 0, 0)) - { - if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) - { - TranslateMessage(&msg); - DispatchMessage(&msg); - } - } - - return (int) msg.wParam; -} - - - -// -// FONCTION : MyRegisterClass() -// -// OBJECTIF : Inscrit la classe de fenêtre. -// -ATOM MyRegisterClass(HINSTANCE hInstance) -{ - WNDCLASSEXW wcex; - - wcex.cbSize = sizeof(WNDCLASSEX); - - wcex.style = 0;// CS_HREDRAW | CS_VREDRAW; - wcex.lpfnWndProc = WndProc; - wcex.cbClsExtra = 0; - wcex.cbWndExtra = 0; - wcex.hInstance = hInstance; - wcex.hIcon = nullptr; //LoadIcon(hInstance, MAKEINTRESOURCE(IDI_WINDOWSPROJECT1)); - wcex.hCursor = nullptr; //LoadCursor(nullptr, IDC_ARROW); - wcex.hbrBackground = nullptr; //(HBRUSH)(COLOR_WINDOW+1); - wcex.lpszMenuName = nullptr; //MAKEINTRESOURCEW(IDC_WINDOWSPROJECT1); - wcex.lpszClassName = szWindowClass; - wcex.hIconSm = nullptr; //LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); - - return RegisterClassExW(&wcex); -} - -// -// FONCTION : InitInstance(HINSTANCE, int) -// -// OBJECTIF : enregistre le handle d'instance et crée une fenêtre principale -// -// COMMENTAIRES : -// -// Dans cette fonction, nous enregistrons le handle de l'instance dans une variable globale, puis -// nous créons et affichons la fenêtre principale du programme. -// -BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) -{ - hInst = hInstance; // Stocke le handle d'instance dans la variable globale - - HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, - CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr); - - if (!hWnd) - { - return FALSE; - } - - ShowWindow(hWnd, nCmdShow); - UpdateWindow(hWnd); - - return TRUE; -} - -// -// FONCTION : WndProc(HWND, UINT, WPARAM, LPARAM) -// -// OBJECTIF : Traite les messages pour la fenêtre principale. -// -// WM_COMMAND - traite le menu de l'application -// WM_PAINT - Dessine la fenêtre principale -// WM_DESTROY - génère un message d'arrêt et retourne -// -// -LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) -{ - switch (message) - { - case WM_COMMAND: - { - int wmId = LOWORD(wParam); - // Analyse les sélections de menu : - switch (wmId) - { - case IDM_EXIT: - DestroyWindow(hWnd); - break; - default: - return DefWindowProc(hWnd, message, wParam, lParam); - } - } - break; - case WM_DESTROY: - PostQuitMessage(0); - break; - default: - return DefWindowProc(hWnd, message, wParam, lParam); - } - return 0; -} - diff --git a/WindowsProject1/WindowsProject1.h b/WindowsProject1/WindowsProject1.h deleted file mode 100644 index d00d47e..0000000 --- a/WindowsProject1/WindowsProject1.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#include "resource.h" diff --git a/WindowsProject1/WindowsProject1.ico b/WindowsProject1/WindowsProject1.ico deleted file mode 100644 index b3ec03b..0000000 Binary files a/WindowsProject1/WindowsProject1.ico and /dev/null differ diff --git a/WindowsProject1/WindowsProject1.rc b/WindowsProject1/WindowsProject1.rc deleted file mode 100644 index eb39f89..0000000 Binary files a/WindowsProject1/WindowsProject1.rc and /dev/null differ diff --git a/WindowsProject1/WindowsProject1.vcxproj b/WindowsProject1/WindowsProject1.vcxproj deleted file mode 100644 index b0e157f..0000000 --- a/WindowsProject1/WindowsProject1.vcxproj +++ /dev/null @@ -1,148 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 17.0 - Win32Proj - {923e3287-af62-47f7-9ca3-50314afddae0} - WindowsProject1 - 10.0 - - - - Application - true - v143 - Unicode - - - Application - false - v143 - true - Unicode - - - Application - true - v143 - Unicode - - - Application - false - v143 - true - Unicode - - - - - - - - - - - - - - - - - - - - - - Level3 - true - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - - - Windows - true - - - - - Level3 - true - true - true - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - - - Windows - true - true - true - - - - - Level3 - true - _DEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - - - Windows - true - - - - - Level3 - true - true - true - NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - - - Windows - true - true - true - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/WindowsProject1/WindowsProject1.vcxproj.filters b/WindowsProject1/WindowsProject1.vcxproj.filters deleted file mode 100644 index 5c6d63d..0000000 --- a/WindowsProject1/WindowsProject1.vcxproj.filters +++ /dev/null @@ -1,49 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Fichiers d%27en-tête - - - Fichiers d%27en-tête - - - Fichiers d%27en-tête - - - Fichiers d%27en-tête - - - - - Fichiers sources - - - - - Fichiers de ressources - - - - - Fichiers de ressources - - - Fichiers de ressources - - - \ No newline at end of file diff --git a/WindowsProject1/framework.h b/WindowsProject1/framework.h deleted file mode 100644 index 9b12fee..0000000 --- a/WindowsProject1/framework.h +++ /dev/null @@ -1,15 +0,0 @@ -// header.h : fichier Include pour les fichiers Include système standard, -// ou les fichiers Include spécifiques aux projets -// - -#pragma once - -#include "targetver.h" -#define WIN32_LEAN_AND_MEAN // Exclure les en-têtes Windows rarement utilisés -// Fichiers d'en-tête Windows -#include -// Fichiers d'en-tête C RunTime -#include -#include -#include -#include diff --git a/WindowsProject1/small.ico b/WindowsProject1/small.ico deleted file mode 100644 index b3ec03b..0000000 Binary files a/WindowsProject1/small.ico and /dev/null differ diff --git a/WindowsProject1/targetver.h b/WindowsProject1/targetver.h deleted file mode 100644 index 7ec5318..0000000 --- a/WindowsProject1/targetver.h +++ /dev/null @@ -1,6 +0,0 @@ -#pragma once - -// // L'inclusion de SDKDDKVer.h définit la version de plateforme Windows la plus haute disponible. -// Si vous voulez générer votre application pour une plateforme Windows précédente, incluez WinSDKVer.h et -// définissez la macro _WIN32_WINNT sur la plateforme à prendre en charge avant d'inclure SDKDDKVer.h. -#include