mirror of
				https://github.com/chibicitiberiu/rainmeter-studio.git
				synced 2024-02-24 04:33:31 +00:00 
			
		
		
		
	Added workaround for old plugins using relative path to Rainmeter.exe
This commit is contained in:
		
							
								
								
									
										46
									
								
								Application/Launcher/Launcher.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								Application/Launcher/Launcher.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,46 @@
 | 
			
		||||
/*
 | 
			
		||||
  Copyright (C) 2012 Birunthan Mohanathas
 | 
			
		||||
 | 
			
		||||
  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 WIN32_LEAN_AND_MEAN
 | 
			
		||||
#include <Windows.h>
 | 
			
		||||
#include <ShellAPI.h>
 | 
			
		||||
#include "../../Library/Rainmeter.h"
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
** Entry point.
 | 
			
		||||
**
 | 
			
		||||
*/
 | 
			
		||||
int APIENTRY wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow)
 | 
			
		||||
{
 | 
			
		||||
	HKEY hKey;
 | 
			
		||||
	if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"Software\\Rainmeter", 0, KEY_QUERY_VALUE | KEY_WOW64_32KEY, &hKey) == ERROR_SUCCESS)
 | 
			
		||||
	{
 | 
			
		||||
		const DWORD size = MAX_PATH;
 | 
			
		||||
		WCHAR buffer[size];
 | 
			
		||||
		DWORD type = 0;
 | 
			
		||||
		if (RegQueryValueEx(hKey, NULL , NULL, &type, (LPBYTE)buffer, (LPDWORD)&size) == ERROR_SUCCESS && type == REG_SZ)
 | 
			
		||||
		{
 | 
			
		||||
			SetCurrentDirectory(buffer);
 | 
			
		||||
			wcscat(buffer, L"\\Rainmeter.exe");
 | 
			
		||||
			ShellExecute(NULL, L"open", buffer, lpCmdLine, NULL, SW_SHOWNORMAL);
 | 
			
		||||
		}
 | 
			
		||||
		RegCloseKey(hKey);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										190
									
								
								Application/Launcher/Launcher.vcxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										190
									
								
								Application/Launcher/Launcher.vcxproj
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,190 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Project DefaultTargets="Build" ToolsVersion="4.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="Debug|x64">
 | 
			
		||||
      <Configuration>Debug</Configuration>
 | 
			
		||||
      <Platform>x64</Platform>
 | 
			
		||||
    </ProjectConfiguration>
 | 
			
		||||
    <ProjectConfiguration Include="Release|Win32">
 | 
			
		||||
      <Configuration>Release</Configuration>
 | 
			
		||||
      <Platform>Win32</Platform>
 | 
			
		||||
    </ProjectConfiguration>
 | 
			
		||||
    <ProjectConfiguration Include="Release|x64">
 | 
			
		||||
      <Configuration>Release</Configuration>
 | 
			
		||||
      <Platform>x64</Platform>
 | 
			
		||||
    </ProjectConfiguration>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <PropertyGroup Label="Globals">
 | 
			
		||||
    <ProjectGuid>{A50FCF58-CDEA-41A9-B885-4C31E9E2859F}</ProjectGuid>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
 | 
			
		||||
  <Import Project="$(SolutionDir)\Rainmeter.props" />
 | 
			
		||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
 | 
			
		||||
    <ConfigurationType>Application</ConfigurationType>
 | 
			
		||||
    <CharacterSet>Unicode</CharacterSet>
 | 
			
		||||
    <WholeProgramOptimization>true</WholeProgramOptimization>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
 | 
			
		||||
    <ConfigurationType>Application</ConfigurationType>
 | 
			
		||||
    <UseDebugLibraries>true</UseDebugLibraries>
 | 
			
		||||
    <CharacterSet>Unicode</CharacterSet>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
 | 
			
		||||
    <ConfigurationType>Application</ConfigurationType>
 | 
			
		||||
    <CharacterSet>Unicode</CharacterSet>
 | 
			
		||||
    <PlatformToolset>$(COMPILER64)</PlatformToolset>
 | 
			
		||||
    <WholeProgramOptimization>true</WholeProgramOptimization>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
 | 
			
		||||
    <ConfigurationType>Application</ConfigurationType>
 | 
			
		||||
    <UseDebugLibraries>true</UseDebugLibraries>
 | 
			
		||||
    <CharacterSet>Unicode</CharacterSet>
 | 
			
		||||
    <PlatformToolset>$(COMPILER64)</PlatformToolset>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
 | 
			
		||||
  <ImportGroup Label="ExtensionSettings">
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
 | 
			
		||||
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
 | 
			
		||||
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
 | 
			
		||||
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
 | 
			
		||||
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <PropertyGroup Label="UserMacros" />
 | 
			
		||||
  <PropertyGroup>
 | 
			
		||||
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
 | 
			
		||||
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)TestBench\x32\$(Configuration)\</OutDir>
 | 
			
		||||
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x32\$(Configuration)\</IntDir>
 | 
			
		||||
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
 | 
			
		||||
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)TestBench\x64\$(Configuration)\</OutDir>
 | 
			
		||||
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\$(Configuration)\</IntDir>
 | 
			
		||||
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
 | 
			
		||||
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)TestBench\x32\$(Configuration)\</OutDir>
 | 
			
		||||
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x32\$(Configuration)\</IntDir>
 | 
			
		||||
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)TestBench\x64\$(Configuration)\</OutDir>
 | 
			
		||||
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\$(Configuration)\</IntDir>
 | 
			
		||||
    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Launcher</TargetName>
 | 
			
		||||
    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Launcher</TargetName>
 | 
			
		||||
    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Launcher</TargetName>
 | 
			
		||||
    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Launcher</TargetName>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
 | 
			
		||||
    <ClCompile>
 | 
			
		||||
      <Optimization>Disabled</Optimization>
 | 
			
		||||
      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
			
		||||
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
 | 
			
		||||
      <PrecompiledHeader>
 | 
			
		||||
      </PrecompiledHeader>
 | 
			
		||||
      <WarningLevel>Level3</WarningLevel>
 | 
			
		||||
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
 | 
			
		||||
      <DisableSpecificWarnings>4018;4090;4114;4267;4351;4786;4800;4996</DisableSpecificWarnings>
 | 
			
		||||
      <RuntimeTypeInfo>false</RuntimeTypeInfo>
 | 
			
		||||
    </ClCompile>
 | 
			
		||||
    <ResourceCompile>
 | 
			
		||||
      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
			
		||||
      <Culture>0x0409</Culture>
 | 
			
		||||
    </ResourceCompile>
 | 
			
		||||
    <Link>
 | 
			
		||||
      <OutputFile>../../TestBench/x32/Debug/Launcher.exe</OutputFile>
 | 
			
		||||
      <GenerateDebugInformation>true</GenerateDebugInformation>
 | 
			
		||||
      <SubSystem>Windows</SubSystem>
 | 
			
		||||
      <EntryPointSymbol>wWinMainCRTStartup</EntryPointSymbol>
 | 
			
		||||
      <TargetMachine>MachineX86</TargetMachine>
 | 
			
		||||
      <ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
 | 
			
		||||
    </Link>
 | 
			
		||||
  </ItemDefinitionGroup>
 | 
			
		||||
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
 | 
			
		||||
    <ClCompile>
 | 
			
		||||
      <Optimization>Disabled</Optimization>
 | 
			
		||||
      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
			
		||||
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
 | 
			
		||||
      <PrecompiledHeader>
 | 
			
		||||
      </PrecompiledHeader>
 | 
			
		||||
      <WarningLevel>Level3</WarningLevel>
 | 
			
		||||
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
 | 
			
		||||
      <DisableSpecificWarnings>4018;4090;4114;4267;4351;4786;4800;4996</DisableSpecificWarnings>
 | 
			
		||||
      <RuntimeTypeInfo>false</RuntimeTypeInfo>
 | 
			
		||||
    </ClCompile>
 | 
			
		||||
    <ResourceCompile>
 | 
			
		||||
      <PreprocessorDefinitions>_DEBUG;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
			
		||||
      <Culture>0x0409</Culture>
 | 
			
		||||
    </ResourceCompile>
 | 
			
		||||
    <Link>
 | 
			
		||||
      <OutputFile>../../TestBench/x64/Debug/Launcher.exe</OutputFile>
 | 
			
		||||
      <GenerateDebugInformation>true</GenerateDebugInformation>
 | 
			
		||||
      <SubSystem>Windows</SubSystem>
 | 
			
		||||
      <EntryPointSymbol>wWinMainCRTStartup</EntryPointSymbol>
 | 
			
		||||
      <TargetMachine>MachineX64</TargetMachine>
 | 
			
		||||
      <ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
 | 
			
		||||
    </Link>
 | 
			
		||||
  </ItemDefinitionGroup>
 | 
			
		||||
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
 | 
			
		||||
    <ClCompile>
 | 
			
		||||
      <Optimization>MaxSpeed</Optimization>
 | 
			
		||||
      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
			
		||||
      <PrecompiledHeader>
 | 
			
		||||
      </PrecompiledHeader>
 | 
			
		||||
      <WarningLevel>Level3</WarningLevel>
 | 
			
		||||
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
 | 
			
		||||
      <DisableSpecificWarnings>4018;4090;4114;4267;4351;4786;4800;4996</DisableSpecificWarnings>
 | 
			
		||||
      <RuntimeTypeInfo>false</RuntimeTypeInfo>
 | 
			
		||||
    </ClCompile>
 | 
			
		||||
    <ResourceCompile>
 | 
			
		||||
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
			
		||||
      <Culture>0x0409</Culture>
 | 
			
		||||
    </ResourceCompile>
 | 
			
		||||
    <Link>
 | 
			
		||||
      <OutputFile>../../TestBench/x32/Release/Launcher.exe</OutputFile>
 | 
			
		||||
      <AdditionalLibraryDirectories>..\Library\x32\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
 | 
			
		||||
      <SubSystem>Windows</SubSystem>
 | 
			
		||||
      <EntryPointSymbol>wWinMainCRTStartup</EntryPointSymbol>
 | 
			
		||||
      <TargetMachine>MachineX86</TargetMachine>
 | 
			
		||||
      <MergeSections>.rdata=.text</MergeSections>
 | 
			
		||||
      <OptimizeReferences>true</OptimizeReferences>
 | 
			
		||||
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
 | 
			
		||||
      <ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
 | 
			
		||||
    </Link>
 | 
			
		||||
  </ItemDefinitionGroup>
 | 
			
		||||
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
 | 
			
		||||
    <ClCompile>
 | 
			
		||||
      <AdditionalOptions>/GA %(AdditionalOptions)</AdditionalOptions>
 | 
			
		||||
      <Optimization>MaxSpeed</Optimization>
 | 
			
		||||
      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
			
		||||
      <WarningLevel>Level3</WarningLevel>
 | 
			
		||||
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
 | 
			
		||||
      <DisableSpecificWarnings>4018;4090;4114;4267;4351;4786;4800;4996</DisableSpecificWarnings>
 | 
			
		||||
      <RuntimeTypeInfo>false</RuntimeTypeInfo>
 | 
			
		||||
    </ClCompile>
 | 
			
		||||
    <ResourceCompile>
 | 
			
		||||
      <PreprocessorDefinitions>NDEBUG;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
			
		||||
      <Culture>0x0409</Culture>
 | 
			
		||||
    </ResourceCompile>
 | 
			
		||||
    <Link>
 | 
			
		||||
      <OutputFile>../../TestBench/x64/Release/Launcher.exe</OutputFile>
 | 
			
		||||
      <AdditionalLibraryDirectories>..\Library\x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
 | 
			
		||||
      <SubSystem>Windows</SubSystem>
 | 
			
		||||
      <EntryPointSymbol>wWinMainCRTStartup</EntryPointSymbol>
 | 
			
		||||
      <TargetMachine>MachineX64</TargetMachine>
 | 
			
		||||
      <MergeSections>.rdata=.text</MergeSections>
 | 
			
		||||
      <OptimizeReferences>true</OptimizeReferences>
 | 
			
		||||
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
 | 
			
		||||
      <ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
 | 
			
		||||
    </Link>
 | 
			
		||||
  </ItemDefinitionGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <ClCompile Include="Launcher.cpp" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
 | 
			
		||||
  <ImportGroup Label="ExtensionTargets">
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
</Project>
 | 
			
		||||
							
								
								
									
										22
									
								
								Application/Launcher/Launcher.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								Application/Launcher/Launcher.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
<?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>{22670730-eb79-4df9-bed9-27fff1350132}</UniqueIdentifier>
 | 
			
		||||
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
 | 
			
		||||
    </Filter>
 | 
			
		||||
    <Filter Include="Header Files">
 | 
			
		||||
      <UniqueIdentifier>{774a1827-ac91-40b9-ad18-8a3d68983c64}</UniqueIdentifier>
 | 
			
		||||
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
 | 
			
		||||
    </Filter>
 | 
			
		||||
    <Filter Include="Resource Files">
 | 
			
		||||
      <UniqueIdentifier>{a4963a10-e359-400f-86fa-bdce98dd5dc2}</UniqueIdentifier>
 | 
			
		||||
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
 | 
			
		||||
    </Filter>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <ClCompile Include="Launcher.cpp">
 | 
			
		||||
      <Filter>Source Files</Filter>
 | 
			
		||||
    </ClCompile>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
</Project>
 | 
			
		||||
@@ -506,6 +506,11 @@ FunctionEnd
 | 
			
		||||
	File "..\..\TestBench\${DIR}\Release\Rainmeter.dll"
 | 
			
		||||
	File "..\..\TestBench\${DIR}\Release\SkinInstaller.exe"
 | 
			
		||||
 | 
			
		||||
	${If} $InstallPortable != 1
 | 
			
		||||
		File "..\..\TestBench\${DIR}\Release\Launcher.exe"
 | 
			
		||||
		SetFileAttributes "$INSTDIR\Launcher.exe" HIDDEN
 | 
			
		||||
	${EndIf}
 | 
			
		||||
 | 
			
		||||
	SetOutPath "$INSTDIR\Plugins"
 | 
			
		||||
	File /x *Example*.dll "..\..\TestBench\${DIR}\Release\Plugins\*.dll"
 | 
			
		||||
!macroend
 | 
			
		||||
 
 | 
			
		||||
@@ -911,7 +911,7 @@ int CRainmeter::Initialize(LPCWSTR iniPath)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Create user skins, themes, addons, and plugins folders if needed
 | 
			
		||||
	CreateComponentFolders();
 | 
			
		||||
	CreateComponentFolders(bDefaultIniLocation);
 | 
			
		||||
 | 
			
		||||
	// Create a default Rainmeter.ini file if needed
 | 
			
		||||
	if (_waccess(iniFile, 0) == -1)
 | 
			
		||||
@@ -1180,7 +1180,7 @@ void CRainmeter::CreateDataFile()
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CRainmeter::CreateComponentFolders()
 | 
			
		||||
void CRainmeter::CreateComponentFolders(bool defaultIniLocation)
 | 
			
		||||
{
 | 
			
		||||
	if (CreateDirectory(m_SkinPath.c_str(), NULL))
 | 
			
		||||
	{
 | 
			
		||||
@@ -1200,6 +1200,8 @@ void CRainmeter::CreateComponentFolders()
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (defaultIniLocation)
 | 
			
		||||
	{
 | 
			
		||||
		path = GetUserPluginPath();
 | 
			
		||||
		if (_waccess(path.c_str(), 0) == -1)
 | 
			
		||||
		{
 | 
			
		||||
@@ -1219,6 +1221,18 @@ void CRainmeter::CreateComponentFolders()
 | 
			
		||||
				CSystem::CopyFiles(from, m_SettingsPath);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		path = m_SettingsPath;
 | 
			
		||||
		path += L"Rainmeter.exe";
 | 
			
		||||
		if (_waccess(path.c_str(), 0) == -1)
 | 
			
		||||
		{
 | 
			
		||||
			// Create a hidden dummy Rainmeter.exe into SettingsPath for old addon
 | 
			
		||||
			// using relative path to Rainmeter.exe
 | 
			
		||||
			std::wstring from = m_Path + L"Launcher.exe";
 | 
			
		||||
			CSystem::CopyFiles(from, path);
 | 
			
		||||
			SetFileAttributes(path.c_str(), FILE_ATTRIBUTE_HIDDEN);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CRainmeter::ReloadSettings()
 | 
			
		||||
 
 | 
			
		||||
@@ -257,7 +257,7 @@ private:
 | 
			
		||||
	void CreateMonitorMenu(HMENU monitorMenu, CMeterWindow* meterWindow);
 | 
			
		||||
	void CreateOptionsFile();
 | 
			
		||||
	void CreateDataFile();
 | 
			
		||||
	void CreateComponentFolders();
 | 
			
		||||
	void CreateComponentFolders(bool defaultIniLocation);
 | 
			
		||||
	void SetLogging(bool logging);
 | 
			
		||||
	void TestSettingsFile(bool bDefaultIniLocation);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Application", "Application\
 | 
			
		||||
EndProject
 | 
			
		||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Language", "Language\Language.vcxproj", "{6BE6F228-B741-4DA9-9FBC-E9F2A7BD483A}"
 | 
			
		||||
EndProject
 | 
			
		||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Launcher", "Application\Launcher\Launcher.vcxproj", "{A50FCF58-CDEA-41A9-B885-4C31E9E2859F}"
 | 
			
		||||
EndProject
 | 
			
		||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Library", "Library\Library.vcxproj", "{BE9D2400-7F1C-49D6-8498-5CE495491AD6}"
 | 
			
		||||
	ProjectSection(ProjectDependencies) = postProject
 | 
			
		||||
		{6BE6F228-B741-4DA9-9FBC-E9F2A7BD483A} = {6BE6F228-B741-4DA9-9FBC-E9F2A7BD483A}
 | 
			
		||||
@@ -80,6 +82,14 @@ Global
 | 
			
		||||
		{6BE6F228-B741-4DA9-9FBC-E9F2A7BD483A}.Release|Win32.Build.0 = Release|Win32
 | 
			
		||||
		{6BE6F228-B741-4DA9-9FBC-E9F2A7BD483A}.Release|x64.ActiveCfg = Release|x64
 | 
			
		||||
		{6BE6F228-B741-4DA9-9FBC-E9F2A7BD483A}.Release|x64.Build.0 = Release|x64
 | 
			
		||||
		{A50FCF58-CDEA-41A9-B885-4C31E9E2859F}.Debug|Win32.ActiveCfg = Debug|Win32
 | 
			
		||||
		{A50FCF58-CDEA-41A9-B885-4C31E9E2859F}.Debug|Win32.Build.0 = Debug|Win32
 | 
			
		||||
		{A50FCF58-CDEA-41A9-B885-4C31E9E2859F}.Debug|x64.ActiveCfg = Debug|x64
 | 
			
		||||
		{A50FCF58-CDEA-41A9-B885-4C31E9E2859F}.Debug|x64.Build.0 = Debug|x64
 | 
			
		||||
		{A50FCF58-CDEA-41A9-B885-4C31E9E2859F}.Release|Win32.ActiveCfg = Release|Win32
 | 
			
		||||
		{A50FCF58-CDEA-41A9-B885-4C31E9E2859F}.Release|Win32.Build.0 = Release|Win32
 | 
			
		||||
		{A50FCF58-CDEA-41A9-B885-4C31E9E2859F}.Release|x64.ActiveCfg = Release|x64
 | 
			
		||||
		{A50FCF58-CDEA-41A9-B885-4C31E9E2859F}.Release|x64.Build.0 = Release|x64
 | 
			
		||||
		{BE9D2400-7F1C-49D6-8498-5CE495491AD6}.Debug|Win32.ActiveCfg = Debug|Win32
 | 
			
		||||
		{BE9D2400-7F1C-49D6-8498-5CE495491AD6}.Debug|Win32.Build.0 = Debug|Win32
 | 
			
		||||
		{BE9D2400-7F1C-49D6-8498-5CE495491AD6}.Debug|x64.ActiveCfg = Debug|x64
 | 
			
		||||
 
 | 
			
		||||
@@ -4,6 +4,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Application", "Application\
 | 
			
		||||
EndProject
 | 
			
		||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Language", "Language\Language.vcxproj", "{6BE6F228-B741-4DA9-9FBC-E9F2A7BD483A}"
 | 
			
		||||
EndProject
 | 
			
		||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Launcher", "Application\Launcher\Launcher.vcxproj", "{A50FCF58-CDEA-41A9-B885-4C31E9E2859F}"
 | 
			
		||||
EndProject
 | 
			
		||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Library", "Library\Library.vcxproj", "{BE9D2400-7F1C-49D6-8498-5CE495491AD6}"
 | 
			
		||||
	ProjectSection(ProjectDependencies) = postProject
 | 
			
		||||
		{6BE6F228-B741-4DA9-9FBC-E9F2A7BD483A} = {6BE6F228-B741-4DA9-9FBC-E9F2A7BD483A}
 | 
			
		||||
@@ -75,6 +77,14 @@ Global
 | 
			
		||||
		{6BE6F228-B741-4DA9-9FBC-E9F2A7BD483A}.Release|Win32.Build.0 = Release|Win32
 | 
			
		||||
		{6BE6F228-B741-4DA9-9FBC-E9F2A7BD483A}.Release|x64.ActiveCfg = Release|x64
 | 
			
		||||
		{6BE6F228-B741-4DA9-9FBC-E9F2A7BD483A}.Release|x64.Build.0 = Release|x64
 | 
			
		||||
		{A50FCF58-CDEA-41A9-B885-4C31E9E2859F}.Debug|Win32.ActiveCfg = Debug|Win32
 | 
			
		||||
		{A50FCF58-CDEA-41A9-B885-4C31E9E2859F}.Debug|Win32.Build.0 = Debug|Win32
 | 
			
		||||
		{A50FCF58-CDEA-41A9-B885-4C31E9E2859F}.Debug|x64.ActiveCfg = Debug|x64
 | 
			
		||||
		{A50FCF58-CDEA-41A9-B885-4C31E9E2859F}.Debug|x64.Build.0 = Debug|x64
 | 
			
		||||
		{A50FCF58-CDEA-41A9-B885-4C31E9E2859F}.Release|Win32.ActiveCfg = Release|Win32
 | 
			
		||||
		{A50FCF58-CDEA-41A9-B885-4C31E9E2859F}.Release|Win32.Build.0 = Release|Win32
 | 
			
		||||
		{A50FCF58-CDEA-41A9-B885-4C31E9E2859F}.Release|x64.ActiveCfg = Release|x64
 | 
			
		||||
		{A50FCF58-CDEA-41A9-B885-4C31E9E2859F}.Release|x64.Build.0 = Release|x64
 | 
			
		||||
		{BE9D2400-7F1C-49D6-8498-5CE495491AD6}.Debug|Win32.ActiveCfg = Debug|Win32
 | 
			
		||||
		{BE9D2400-7F1C-49D6-8498-5CE495491AD6}.Debug|Win32.Build.0 = Debug|Win32
 | 
			
		||||
		{BE9D2400-7F1C-49D6-8498-5CE495491AD6}.Debug|x64.ActiveCfg = Debug|x64
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user