alroyso 3 жил өмнө
parent
commit
20875d0eb4

+ 10 - 0
SProxy.sln

@@ -7,6 +7,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SProxy", "SProxy\SProxy.vcx
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Base", "Base\Base.vcxproj", "{9CD7F2E8-8644-4DE2-96DC-2E86A89E4369}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Sys", "Sys\Sys.vcxproj", "{90D12360-23D3-4E90-A209-BC279BA34626}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|x64 = Debug|x64
@@ -31,6 +33,14 @@ Global
 		{9CD7F2E8-8644-4DE2-96DC-2E86A89E4369}.Release|x64.Build.0 = Release|x64
 		{9CD7F2E8-8644-4DE2-96DC-2E86A89E4369}.Release|x86.ActiveCfg = Release|Win32
 		{9CD7F2E8-8644-4DE2-96DC-2E86A89E4369}.Release|x86.Build.0 = Release|Win32
+		{90D12360-23D3-4E90-A209-BC279BA34626}.Debug|x64.ActiveCfg = Debug|x64
+		{90D12360-23D3-4E90-A209-BC279BA34626}.Debug|x64.Build.0 = Debug|x64
+		{90D12360-23D3-4E90-A209-BC279BA34626}.Debug|x86.ActiveCfg = Debug|Win32
+		{90D12360-23D3-4E90-A209-BC279BA34626}.Debug|x86.Build.0 = Debug|Win32
+		{90D12360-23D3-4E90-A209-BC279BA34626}.Release|x64.ActiveCfg = Release|x64
+		{90D12360-23D3-4E90-A209-BC279BA34626}.Release|x64.Build.0 = Release|x64
+		{90D12360-23D3-4E90-A209-BC279BA34626}.Release|x86.ActiveCfg = Release|Win32
+		{90D12360-23D3-4E90-A209-BC279BA34626}.Release|x86.Build.0 = Release|Win32
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 23 - 17
SProxy/SProxy.vcxproj.filters

@@ -17,6 +17,12 @@
       <UniqueIdentifier>{61bae2f8-d813-4219-bf79-5be8156f21fc}</UniqueIdentifier>
       <Extensions>idx;xml;png;gif;jpg;ico;lua;bmp</Extensions>
     </Filter>
+    <Filter Include="ShellNotify">
+      <UniqueIdentifier>{2108eb65-e499-4b94-92ad-a7b3f0f68f55}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="control">
+      <UniqueIdentifier>{c0ccef04-efce-48cb-bbd5-1ceab0ca4059}</UniqueIdentifier>
+    </Filter>
   </ItemGroup>
   <ItemGroup>
     <Text Include="license.txt" />
@@ -35,23 +41,23 @@
     <ClCompile Include="SouiInit.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="SRadioBox2.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="StabtypeControl.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
     <ClCompile Include="LoginDlg.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="CApp.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="SShellNotifyIcon.cpp">
+      <Filter>ShellNotify</Filter>
+    </ClCompile>
     <ClCompile Include="SShellNofityHwnd2.cpp">
-      <Filter>Source Files</Filter>
+      <Filter>ShellNotify</Filter>
     </ClCompile>
-    <ClCompile Include="SShellNotifyIcon.cpp">
-      <Filter>Source Files</Filter>
+    <ClCompile Include="SRadioBox2.cpp">
+      <Filter>control</Filter>
+    </ClCompile>
+    <ClCompile Include="StabtypeControl.cpp">
+      <Filter>control</Filter>
     </ClCompile>
   </ItemGroup>
   <ItemGroup>
@@ -72,12 +78,6 @@
     <ClInclude Include="SouiInit.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="SRadioBox2.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="StabtypeControl.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
     <ClInclude Include="LoginDlg.h">
       <Filter>Header Files</Filter>
     </ClInclude>
@@ -85,10 +85,16 @@
       <Filter>Header Files</Filter>
     </ClInclude>
     <ClInclude Include="SShellNotifyIcon.h">
-      <Filter>Header Files</Filter>
+      <Filter>ShellNotify</Filter>
     </ClInclude>
     <ClInclude Include="SShellNofityHwnd2.h">
-      <Filter>Header Files</Filter>
+      <Filter>ShellNotify</Filter>
+    </ClInclude>
+    <ClInclude Include="StabtypeControl.h">
+      <Filter>control</Filter>
+    </ClInclude>
+    <ClInclude Include="SRadioBox2.h">
+      <Filter>control</Filter>
     </ClInclude>
   </ItemGroup>
   <ItemGroup>

+ 3 - 6
SProxy/SouiInit.cpp

@@ -3,6 +3,7 @@
 #include "SRadioBox2.h"
 #include "StabtypeControl.h"
  
+ 
 //从PE文件加载,注意从文件加载路径位置
 #define RES_TYPE 0
 //#define SYSRES_TYPE 0
@@ -92,12 +93,12 @@ void InitUserRes(SApplication * theApp, SComMgr *pComMgr)
 	CAutoRefPtr<IResProvider>   pResProvider;
 
 #ifdef _DEBUG		
-	//选择了仅在Release版本打包资源则在DEBUG下始终使用文件加载
 	{
 		CreateResProvider(RES_FILE, (IObjRef**)&pResProvider);
 		BOOL bLoaded = pResProvider->Init((LPARAM)_T("uires"), 0);
 		SASSERT(bLoaded);
 	}
+
 #else
 	{
 		CreateResProvider(RES_PE, (IObjRef**)&pResProvider);
@@ -115,9 +116,5 @@ void SUserObjectDefaultRegister::RegisterWindows(SObjectFactoryMgr * objFactory)
 	RegWnd(SRadioBox2)
 		RegWnd(StabtypeControl)
 		RegWnd(SSkinVScrollbar)
-	//RegWnd(SBrowserTabCtrl)	
-	//RegWnd(CDropWnd)
-	//RegWnd(SRelTabCtrl)
-	//RegWnd(SWkeWebkit)
-	//RegWnd(SEditEx)
+		RegWnd(SShellNotifyIcon)
 }

BIN
SProxy/res/resource.h


BIN
SProxy/stdafx.h


+ 41 - 0
Sys/CBaseGloabl.cpp

@@ -0,0 +1,41 @@
+#include "pch.h"
+#include "CBaseGloabl.h"
+
+
+CBaseGloabl::CBaseGloabl()
+{
+
+	 
+	m_Ref = 0;
+
+ 
+}
+
+CBaseGloabl::~CBaseGloabl(void)
+{
+ 
+}
+
+IBaseCurl* CBaseGloabl::GetBaseCurlInstance()
+{
+	return NULL;
+}
+
+ 
+INT CBaseGloabl::AddRef()
+{
+	return ++m_Ref;
+}
+
+INT CBaseGloabl::Release()
+{
+	--m_Ref;
+
+	if (m_Ref == 0)
+	{
+		delete this;
+		return 0;
+	}
+
+	return m_Ref;
+}

+ 22 - 0
Sys/CBaseGloabl.h

@@ -0,0 +1,22 @@
+#pragma once
+ 
+
+
+
+class CBaseGloabl 
+	: public IBaseGloablModule
+{
+public:
+	CBaseGloabl();
+	~CBaseGloabl(void);
+
+	IBaseCurl* GetBaseCurlInstance();
+ 
+
+	INT AddRef();
+	INT Release();
+private:
+	INT m_Ref;
+	 
+};
+

+ 189 - 0
Sys/Sys.vcxproj

@@ -0,0 +1,189 @@
+<?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>{90d12360-23d3-4e90-a209-bc279ba34626}</ProjectGuid>
+    <RootNamespace>Sys</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>
+    <OutDir>..\__bin\$(Platform)\$(Configuration)\</OutDir>
+    <IntDir>..\__obj\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>..\__bin\$(Platform)\$(Configuration)\</OutDir>
+    <IntDir>..\__obj\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
+  </PropertyGroup>
+  <PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <VcpkgUseStatic>true</VcpkgUseStatic>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <SDLCheck>true</SDLCheck>
+      <PreprocessorDefinitions>WIN32;_DEBUG;SYS_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;SYS_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;SYS_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ConformanceMode>true</ConformanceMode>
+      <PrecompiledHeader>Use</PrecompiledHeader>
+      <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <LanguageStandard>stdcpp17</LanguageStandard>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableUAC>false</EnableUAC>
+      <ImportLibrary>..\__LIB\$(Platform)\$(Configuration)\$(TargetName).lib</ImportLibrary>
+      <ModuleDefinitionFile>$(ProjectDir)\SysBaseModule.def</ModuleDefinitionFile>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <SDLCheck>true</SDLCheck>
+      <PreprocessorDefinitions>NDEBUG;SYS_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ConformanceMode>true</ConformanceMode>
+      <PrecompiledHeader>Use</PrecompiledHeader>
+      <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <LanguageStandard>stdcpp17</LanguageStandard>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableUAC>false</EnableUAC>
+      <ImportLibrary>..\__LIB\$(Platform)\$(Configuration)\$(TargetName).lib</ImportLibrary>
+      <ModuleDefinitionFile>$(ProjectDir)\SysBaseModule.def</ModuleDefinitionFile>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="CBaseGloabl.h" />
+    <ClInclude Include="framework.h" />
+    <ClInclude Include="pch.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="CBaseGloabl.cpp" />
+    <ClCompile Include="pch.cpp">
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
+    </ClCompile>
+    <ClCompile Include="SysBaseModule.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="SysBaseModule.def" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>

+ 44 - 0
Sys/Sys.vcxproj.filters

@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="源文件">
+      <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="头文件">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
+    </Filter>
+    <Filter Include="资源文件">
+      <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>头文件</Filter>
+    </ClInclude>
+    <ClInclude Include="pch.h">
+      <Filter>头文件</Filter>
+    </ClInclude>
+    <ClInclude Include="CBaseGloabl.h">
+      <Filter>头文件</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="pch.cpp">
+      <Filter>源文件</Filter>
+    </ClCompile>
+    <ClCompile Include="SysBaseModule.cpp">
+      <Filter>源文件</Filter>
+    </ClCompile>
+    <ClCompile Include="CBaseGloabl.cpp">
+      <Filter>源文件</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="SysBaseModule.def">
+      <Filter>源文件</Filter>
+    </None>
+  </ItemGroup>
+</Project>

+ 6 - 0
Sys/Sys.vcxproj.user

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <ShowAllFiles>false</ShowAllFiles>
+  </PropertyGroup>
+</Project>

+ 80 - 0
Sys/SysBaseModule.cpp

@@ -0,0 +1,80 @@
+// dllmain.cpp : 定义 DLL 应用程序的入口点。
+#include "pch.h"
+
+
+#include "CBaseGloabl.h"
+
+
+//////////////////////////////////////////////////////////////////////////
+CBaseGloabl* g_pBaseGloabl = NULL;
+HMODULE g_hDllModule = NULL;
+
+//#pragma comment(linker, "/EXPORT:DllRegisterServer=_DllRegisterServer@0,PRIVATE")
+//#pragma comment(linker, "/EXPORT:DllUnregisterServer=_DllUnregisterServer@0,PRIVATE")
+//
+//
+//
+//STDAPI DllRegisterServer(void)
+//{
+//	HRESULT hr = S_OK;
+//
+//
+//	return hr;
+//}
+//
+//
+//STDAPI DllUnregisterServer(void)
+//{
+//	HRESULT hr = S_OK;
+//
+//
+//	return hr;
+//}
+
+
+
+
+SYSMODULE IBaseGloablModule* WINAPI GetBaseGlobalInstance()
+{
+
+
+	
+	if (!g_pBaseGloabl)
+		g_pBaseGloabl = new CBaseGloabl;
+
+	g_pBaseGloabl->AddRef();
+	return g_pBaseGloabl;
+}
+
+SYSMODULE BOOL WINAPI ReleaseBaseGlobalInstance()
+{
+	if (!g_pBaseGloabl)
+		return FALSE;
+
+	if (g_pBaseGloabl->Release() == 0)
+	{
+		g_pBaseGloabl = NULL;
+	}
+	return TRUE;
+}
+
+
+BOOL APIENTRY DllMain( HMODULE hModule,
+                       DWORD  ul_reason_for_call,
+                       LPVOID lpReserved
+                     )
+{
+    switch (ul_reason_for_call)
+    {
+    case DLL_PROCESS_ATTACH:
+	{
+		g_hDllModule = (HMODULE)hModule;
+	}
+    case DLL_THREAD_ATTACH:
+    case DLL_THREAD_DETACH:
+    case DLL_PROCESS_DETACH:
+        break;
+    }
+    return TRUE;
+}
+

+ 3 - 0
Sys/SysBaseModule.def

@@ -0,0 +1,3 @@
+EXPORTS
+	GetBaseGlobalInstance
+	ReleaseBaseGlobalInstance

+ 84 - 0
Sys/framework.h

@@ -0,0 +1,84 @@
+#pragma once
+
+// stdafx.h : include file for standard system include files,
+//  or project specific include files that are used frequently, but
+//      are changed infrequently
+//
+
+#if !defined(AFX_STDAFX_H__293E641A_6D1B_4F78_AAC3_BF2253E98922__INCLUDED_)
+#define AFX_STDAFX_H__293E641A_6D1B_4F78_AAC3_BF2253E98922__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+
+#ifndef _SECURE_ATL
+#define _SECURE_ATL 1
+#endif
+
+#ifndef VC_EXTRALEAN
+#define VC_EXTRALEAN		// 从 Windows 头中排除极少使用的资料
+#endif
+
+// 如果您必须使用下列所指定的平台之前的平台,则修改下面的定义。
+// 有关不同平台的相应值的最新信息,请参考 MSDN。
+#ifndef WINVER				// 允许使用特定于 Windows XP 或更高版本的功能。
+#define WINVER 0x0501		// 将此值更改为相应的值,以适用于 Windows 的其他版本。
+#endif
+
+#ifndef _WIN32_WINNT		// 允许使用特定于 Windows XP 或更高版本的功能。
+#define _WIN32_WINNT 0x0501	// 将此值更改为相应的值,以适用于 Windows 的其他版本。
+#endif						
+
+#ifndef _WIN32_WINDOWS		// 允许使用特定于 Windows 98 或更高版本的功能。
+#define _WIN32_WINDOWS 0x0410 // 将它更改为适合 Windows Me 或更高版本的相应值。
+#endif
+
+#ifndef _WIN32_IE			// 允许使用特定于 IE 6.0 或更高版本的功能。
+#define _WIN32_IE 0x0600	// 将此值更改为相应的值,以适用于 IE 的其他版本。值。
+#endif
+
+#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS	// 某些 CString 构造函数将是显式的
+
+
+
+#define WIN32_LEAN_AND_MEAN		// Exclude rarely-used stuff from Windows headers
+#pragma warning(disable:4996)
+#define _CRT_SECURE_NO_WARNINGS
+
+
+#define WIN32_LEAN_AND_MEAN		// 从 Windows 头中排除极少使用的资料
+#define _WIN32_DCOM
+//#define _CRTDBG_MAP_ALLOC
+#include <stdlib.h>
+#include <crtdbg.h>
+#include <atlstr.h>
+#include <windows.h>
+
+// TODO: reference additional headers your program requires here
+#include <tchar.h>
+#include <winsock2.h>
+#include "../__INCLUDE/SysModule.h"
+#include <functional>
+#include <string>
+#include <regex>
+#include <vector>
+#include <locale>
+#include <string_view>
+#include <codecvt>
+#include <cpr/api.h>
+#include <fmt/ostream.h>
+#include <locale>
+#include <codecvt>
+#include<memory>
+#include <algorithm>
+
+#define ASSERT ATLASSERT
+#define TRACE ATLTRACE
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
+
+#endif // !defined(AFX_STDAFX_H__293E641A_6D1B_4F78_AAC3_BF2253E98922__INCLUDED_)
+

+ 5 - 0
Sys/pch.cpp

@@ -0,0 +1,5 @@
+// pch.cpp: 与预编译标头对应的源文件
+
+#include "pch.h"
+
+// 当使用预编译的头时,需要使用此源文件,编译才能成功。

+ 13 - 0
Sys/pch.h

@@ -0,0 +1,13 @@
+// pch.h: 这是预编译标头文件。
+// 下方列出的文件仅编译一次,提高了将来生成的生成性能。
+// 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。
+// 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。
+// 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。
+
+#ifndef PCH_H
+#define PCH_H
+
+// 添加要在此处预编译的标头
+#include "framework.h"
+
+#endif //PCH_H

+ 184 - 0
__INCLUDE/SysModule.h

@@ -0,0 +1,184 @@
+#pragma once
+#ifndef _SYSMODULE_
+#define _SYSMODULE_
+
+#ifndef SYSMODULE
+#define SYSMODULE extern "C" _declspec(dllexport)
+#else
+#undef SYSMODULE
+#define SYSMODULE extern "C" _declspec(dllimport)
+#endif
+
+#define CLSID_BASEMODULE L"{DA90D68D-99EB-45D5-A969-BC3D0D12D92A}"
+
+#pragma pack(push,1)
+
+class IBaseCurl;
+class IServerList;
+class IUserinfo;
+//获取其他类的指针
+class IBaseGloablModule
+{
+public:
+	virtual ~IBaseGloablModule(void) {}
+
+	////获取错误的消息
+	//virtual LPCSTR  GetLastErrorA() = 0;
+	//virtual LPCWSTR GetLastErrorW() = 0;
+
+	virtual IBaseCurl* GetBaseCurlInstance() = 0;
+ 
+
+	virtual INT AddRef() = 0;
+	virtual INT Release() = 0;
+};
+
+template<typename T>
+class IInstanceList
+{
+public:
+	IInstanceList(void)
+	{
+		m_pNext = NULL;
+		m_pPrev = NULL;
+	}
+	virtual ~IInstanceList(void)
+	{
+		Detach();
+	}
+
+	virtual void AddInstance(T* pInstance)
+	{
+		if (m_pNext && (m_pNext != pInstance))
+			m_pNext->AddInstance(pInstance);
+		else
+		{
+			pInstance->m_pPrev = (T*)this;
+			m_pNext = pInstance;
+		}
+	}
+
+	virtual void Detach()
+	{
+		if (m_pNext)
+			m_pNext->m_pPrev = m_pPrev;
+		if (m_pPrev)
+			m_pPrev->m_pNext = m_pNext;
+
+		m_pPrev = m_pNext = NULL;
+	}
+
+	T* m_pPrev;
+	T* m_pNext;
+};
+
+struct SPROXY_NET
+{
+	int  sid;
+	int  groupid;
+	char addproxy[64];
+	char username[64];
+	char password[64];
+	char processname[64];
+	char title[64];
+	int  port;
+	int  status;
+	int  id;
+	int  pid;
+	int  isros;
+	int  proxy_type;
+	bool select;
+	int  count;
+	int  mid;	//模拟器ID
+
+	 //查找结构体e是否存在
+	bool operator == (const SPROXY_NET& e) {
+		return (this->id == e.id);
+	}
+
+	//查找数值
+	bool operator == (const int& id) {
+		return (this->id == id);
+	}
+};
+
+struct PROESSSHOW
+{
+	char title[64];
+	int  pid;
+};
+
+struct ProcessInfo
+{
+	int		id;
+	wchar_t gnmae[256];
+	wchar_t proceessname[256];
+	int		select;
+};
+
+struct USERINFO
+{
+	char username[64];
+	char password[64];
+	char expiretime[64];
+	int	id;
+	int number;
+	int alreadycount;
+};
+
+/**
+服务器组
+*/
+struct ServerGroup
+{
+	int id;
+	char title[64];
+};
+
+class IServerListCallback
+{
+public:
+	virtual ~IServerListCallback(void) {};
+
+	virtual void ServerListCallback() = 0;
+};
+
+class IServerList
+	: public IInstanceList<IServerList>
+{
+public:
+	virtual ~IServerList(void) {};
+};
+
+class IUserinfo
+	: public IInstanceList<IUserinfo>
+{
+public:
+	virtual ~IUserinfo(void) {};
+};
+
+enum HTTPRET
+{
+	http_no = 0,
+	http_f,
+	http_yes,
+	http_start,
+	http_end,
+};
+//请求网络接口
+class IBaseCurl
+	: public IInstanceList<IBaseCurl>
+{
+public:
+	virtual ~IBaseCurl(void) {};
+	virtual HTTPRET GetHttpConnectstatus() = 0;
+
+	virtual LPCSTR  GetLastErrorA() = 0;
+};
+
+SYSMODULE IBaseGloablModule* WINAPI GetBaseGlobalInstance();
+SYSMODULE BOOL WINAPI ReleaseBaseGlobalInstance();
+
+#pragma pack(pop)
+
+#endif

+ 2 - 0
vs配置.txt

@@ -29,6 +29,8 @@ $(ProjectDir)\CoreBaseModule.def
 
 $(ProjectDir)\ProessBaseModule.def
 
+$(ProjectDir)\SysBaseModule.def
+
 crypt32.lib;wldap32.lib;ws2_32.lib;%(AdditionalDependencies)
 CProessBaseGloabl