diff --git a/Application/Application.cpp b/Application/Application.cpp deleted file mode 100644 index 30fabb26..00000000 --- a/Application/Application.cpp +++ /dev/null @@ -1,161 +0,0 @@ -/* - Copyright (C) 2001 Kimmo Pekkola - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#define _CRTDBG_MAP_ALLOC -#include -#include -#include -#include - -EXTERN_C IMAGE_DOS_HEADER __ImageBase; - -typedef int (*RainmeterMainFunc)(LPWSTR cmdLine); - -WCHAR* GetCommandLineArguments() -{ - WCHAR* args = GetCommandLine(); - - // Skip past (quoted) application path in cmdLine. - if (*args == L'"') - { - ++args; // Skip leading quote. - while (*args && *args != L'"') - { - ++args; - } - ++args; // Skip trailing quote. - } - else - { - while (*args && *args != L' ') - { - ++args; - } - } - - // Skip leading whitespace (similar to CRT implementation). - while (*args && *args <= L' ') - { - ++args; - } - - return args; -} - -/* -** Attempts to load Rainmeter.dll. If it fails, retries after loading our own copies of the CRT -** DLLs in the Runtime directory. -*/ -HINSTANCE LoadRainmeterLibrary() -{ - HINSTANCE rmDll = LoadLibrary(L"Rainmeter.dll"); - if (!rmDll) - { - WCHAR path[MAX_PATH]; - if (GetModuleFileName(nullptr, path, MAX_PATH) > 0) - { - PathRemoveFileSpec(path); - PathAppend(path, L"Runtime"); - SetDllDirectory(path); - PathAppend(path, L"msvcp120.dll"); - - // Loading msvcpNNN.dll will load msvcrNNN.dll as well. - HINSTANCE msvcrDll = LoadLibrary(path); - SetDllDirectory(L""); - - if (msvcrDll) - { - rmDll = LoadLibrary(L"Rainmeter.dll"); - FreeLibrary(msvcrDll); - } - } - } - - return rmDll; -} - -/* -** Entry point. In Release builds, the entry point is Main() since the CRT is not used. -** -*/ -int APIENTRY wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int) -{ - _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); - //_CrtSetBreakAlloc(000); - - // Prevent system error message boxes. - UINT oldMode = SetErrorMode(0); - SetErrorMode(oldMode | SEM_FAILCRITICALERRORS); - - HINSTANCE instance = (HINSTANCE)&__ImageBase; - WCHAR* args = GetCommandLineArguments(); - - HRSRC iconResource = FindResource(instance, MAKEINTRESOURCE(1), RT_ICON); - if (iconResource) - { - HINSTANCE rmDll = LoadRainmeterLibrary(); - if (rmDll) - { - auto rainmeterMain = (RainmeterMainFunc)GetProcAddress(rmDll, MAKEINTRESOURCEA(1)); - if (rainmeterMain) - { - return rainmeterMain(args); - } - } - - WCHAR message[128]; - wsprintf( - message, - L"Rainmeter.dll load error %ld.", - GetLastError()); - MessageBox(nullptr, message, L"Rainmeter", MB_OK | MB_ICONERROR); - } - else - { - // Stub prodecure. If icon resources have been removed, try to launch the actual Rainmeter.exe. - HKEY hKey; - const REGSAM desiredSam = KEY_QUERY_VALUE | KEY_WOW64_32KEY; - if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"Software\\Rainmeter", 0, desiredSam, &hKey) == ERROR_SUCCESS) - { - const DWORD size = MAX_PATH; - WCHAR buffer[size]; - DWORD type = 0; - if (RegQueryValueEx(hKey, nullptr , nullptr, &type, (LPBYTE)buffer, (LPDWORD)&size) == ERROR_SUCCESS && - type == REG_SZ) - { - SetCurrentDirectory(buffer); - lstrcat(buffer, L"\\Rainmeter.exe"); - ShellExecute(nullptr, L"open", buffer, args, nullptr, SW_SHOWNORMAL); - } - RegCloseKey(hKey); - } - - return 0; - } - - return 1; -} - -#ifndef _DEBUG -EXTERN_C int WINAPI Main() -{ - int result = wWinMain(nullptr, nullptr, nullptr, 0); - ExitProcess(result); - return 0; // Never reached. -} -#endif diff --git a/Application/Application.manifest b/Application/Application.manifest deleted file mode 100644 index cdb8b187..00000000 --- a/Application/Application.manifest +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/Application/Application.rc b/Application/Application.rc deleted file mode 100644 index 5e841570..00000000 --- a/Application/Application.rc +++ /dev/null @@ -1,55 +0,0 @@ -#include -#include "../Library/resource.h" -#include "../Version.h" - -LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT -#pragma code_page(1252) - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION FILEVER - PRODUCTVERSION PRODUCTVER - FILEFLAGSMASK 0x17L -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -{ - BLOCK "StringFileInfo" - { - BLOCK "040904E4" - { - VALUE "FileVersion", STRFILEVER - VALUE "LegalCopyright", "© 2011 - All authors" - VALUE "OriginalFilename", "Rainmeter.exe" - VALUE "ProductName", "Rainmeter" -#ifdef _WIN64 - VALUE "ProductVersion", STRPRODUCTVER " (64-bit)" -#else - VALUE "ProductVersion", STRPRODUCTVER " (32-bit)" -#endif //_WIN64 - } - } - BLOCK "VarFileInfo" - { - VALUE "Translation", 0x409, 1252 - } -} - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_RAINMETER ICON DISCARDABLE "Rainmeter.ico" -IDI_TRAY ICON DISCARDABLE "Tray.ico" diff --git a/Application/Application.vcxproj b/Application/Application.vcxproj deleted file mode 100644 index 53d451bf..00000000 --- a/Application/Application.vcxproj +++ /dev/null @@ -1,67 +0,0 @@ - - - - - {D2A0903C-E760-4134-AE61-3D55BF8F760C} - Application - Rainmeter - - - - - - - - - - - - - - - Windows - wWinMainCRTStartup - Shlwapi.lib;%(AdditionalDependencies) - - - if not exist "$(OutDir)Skins" xcopy /Q /S /Y ..\Build\Skins "$(OutDir)Skins\" -if not exist "$(OutDir)Layouts" xcopy /Q /S /Y ..\Build\Layouts "$(OutDir)Layouts\" - - - Application.manifest - - - - - MultiThreaded - false - - - Main - true - - - - - - - - - - - PreserveNewest - - - - - - - - {be9d2400-7f1c-49d6-8498-5ce495491ad6} - false - - - - - - \ No newline at end of file diff --git a/Application/Application.vcxproj.filters b/Application/Application.vcxproj.filters deleted file mode 100644 index ee504c01..00000000 --- a/Application/Application.vcxproj.filters +++ /dev/null @@ -1,32 +0,0 @@ - - - - - {22670730-eb79-4df9-bed9-27fff1350132} - cpp;c;cxx;rc;def;r;odl;idl;hpj;bat - - - {774a1827-ac91-40b9-ad18-8a3d68983c64} - h;hpp;hxx;hm;inl - - - {a4963a10-e359-400f-86fa-bdce98dd5dc2} - ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe - - - - - Source Files - - - - - Resource Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/Application/Rainmeter.exe.config b/Application/Rainmeter.exe.config deleted file mode 100644 index d8bc5ec1..00000000 --- a/Application/Rainmeter.exe.config +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Application/Rainmeter.ico b/Application/Rainmeter.ico deleted file mode 100644 index 37167e66..00000000 Binary files a/Application/Rainmeter.ico and /dev/null differ diff --git a/Application/Tray.ico b/Application/Tray.ico deleted file mode 100644 index fab618f9..00000000 Binary files a/Application/Tray.ico and /dev/null differ