初始备份

This commit is contained in:
如果当时 2020-11-28 15:44:21 +08:00
commit 3d0941f31f
153 changed files with 37965 additions and 0 deletions

6
.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
Publish/
Res/
**/obj
*.pdb
**/dcu
*.dcu

BIN
Bin/Debug/VSoft/DyLine.exe Normal file

Binary file not shown.

BIN
Bin/Debug/VSoft/MyDb.dll Normal file

Binary file not shown.

4829
Bin/Debug/VSoft/MyDb.xml Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

BIN
Bin/Debug/VSoft/SysDb.rar Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,3 @@
<root>
<list id="Setting" ShowMainHotKey="1+88" OpenByClick="0" HideAfterRun="1" />
</root>

Binary file not shown.

View File

@ -0,0 +1,4 @@
[VSoft]
hwnd=395896
width=742
height=572

Binary file not shown.

BIN
Bin/Debug/VSoft/VSoft.dll Normal file

Binary file not shown.

BIN
Bin/Debug/VSoft/VSoft.rar Normal file

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,3 @@
<root>
<list id="LastUpdateTime" Value="2020/11/28 9:22:07" />
</root>

Binary file not shown.

11105
Bin/Debug/VSoft/ryControls.xml Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

127
Bin/混淆_Debug.nrproj Normal file
View File

@ -0,0 +1,127 @@
<Reactor_Project ProjectFormat="2">
<Main_Assembly>Debug\VSoft\VSoft.exe</Main_Assembly>
<Assembly>
<Filename>Debug\VSoft\ryControls.dll</Filename>
</Assembly>
<Assembly>
<Filename>Debug\VSoft\ryUpdate.dll</Filename>
</Assembly>
<Assembly>
<Filename>Debug\VSoft\MyDb_SQLite.dll</Filename>
</Assembly>
<Assembly>
<Filename>Debug\VSoft\MyDb.dll</Filename>
</Assembly>
<General_Settings>
<Automatic_Exception_Handling>true</Automatic_Exception_Handling>
<Application_Compression>true</Application_Compression>
<Show_Loading_Screen>false</Show_Loading_Screen>
<Digital_Certificate_PFX_SPC_File />
<Digital_Certificate_PVK_File />
<Digital_Certificate_PFX_PVK_Password />
<Time_Stamp_URL_SHA1>http://timestamp.verisign.com/scripts/timstamp.dll</Time_Stamp_URL_SHA1>
<Time_Stamp_URL_SHA256>http://sha256timestamp.ws.symantec.com/sha256/timestamp</Time_Stamp_URL_SHA256>
<Embed_Assemblies>false</Embed_Assemblies>
<Enable_Visual_Styles>true</Enable_Visual_Styles>
<Force_Admin_Privileges>false</Force_Admin_Privileges>
<Merge_Assemblies>false</Merge_Assemblies>
<Merge_Assembly_Attributes>true</Merge_Assembly_Attributes>
<Project_Targets_Mono_Framework>false</Project_Targets_Mono_Framework>
<Strong_Name_KeyPair_File />
<Strong_Name_KeyPair_Password />
<Target_File>&lt;AssemblyLocation&gt;\Secure\&lt;AssemblyFileName&gt;</Target_File>
<V3_Mode>true</V3_Mode>
</General_Settings>
<Protection_Settings>
<Anti_ILDASM>true</Anti_ILDASM>
<Inject_Invalid_Metadata>true</Inject_Invalid_Metadata>
<Anti_Tampering>false</Anti_Tampering>
<Control_Flow_Obfuscation>false</Control_Flow_Obfuscation>
<Control_Flow_Obfuscation_Level>9</Control_Flow_Obfuscation_Level>
<Native_EXE_File>true</Native_EXE_File>
<Native_EXE_Embed_Pdb>false</Native_EXE_Embed_Pdb>
<NecroBit>false</NecroBit>
<NecroBit_Reflection_Compatibility_Mode>false</NecroBit_Reflection_Compatibility_Mode>
<Obfuscation>true</Obfuscation>
<Pruning>false</Pruning>
<Create_Mapping_File>false</Create_Mapping_File>
<Exclude_Enums>false</Exclude_Enums>
<Exclude_Events>false</Exclude_Events>
<Exclude_Fields>false</Exclude_Fields>
<Exclude_Methods>false</Exclude_Methods>
<Exclude_Properties>false</Exclude_Properties>
<Exclude_Serializable_Types>false</Exclude_Serializable_Types>
<Exclude_Types>false</Exclude_Types>
<Exclusion_Rules />
<Generate_Short_Strings>false</Generate_Short_Strings>
<Ignore_InternalsVisibleTo>false</Ignore_InternalsVisibleTo>
<Incremental_Obfuscation>false</Incremental_Obfuscation>
<Merge_Namespaces>false</Merge_Namespaces>
<Merge_Namespaces_Namespace />
<Obfuscate_All_Method_Parameters>false</Obfuscate_All_Method_Parameters>
<Obfuscate_Public_Types>false</Obfuscate_Public_Types>
<Use_Unprintable_Characters>false</Use_Unprintable_Characters>
<Pre-JIT_Methods>false</Pre-JIT_Methods>
<Public_Types_Internalization>false</Public_Types_Internalization>
<Resource_Encryption_And_Compression>true</Resource_Encryption_And_Compression>
<String_Encryption>true</String_Encryption>
<String_Encryption_Mode>All</String_Encryption_Mode>
<String_Encryption_InclusionExclusion_List />
<Strong_Name_Removal_Protection>false</Strong_Name_Removal_Protection>
</Protection_Settings>
<Lock_Settings>
<Expire_When_All_Expired>true</Expire_When_All_Expired>
<Inbuilt_Lock_Evaluation_Period_Enabled>false</Inbuilt_Lock_Evaluation_Period_Enabled>
<Inbuilt_Lock_Evaluation_Period_Type>Trial_Days</Inbuilt_Lock_Evaluation_Period_Type>
<Inbuilt_Lock_Evaluation_Period_Time>14</Inbuilt_Lock_Evaluation_Period_Time>
<Inbuilt_Lock_Expiry_Date_Enabled>false</Inbuilt_Lock_Expiry_Date_Enabled>
<Inbuilt_Lock_Expiry_Date>20180503</Inbuilt_Lock_Expiry_Date>
<Inbuilt_Lock_Number_Of_Uses_Enabled>false</Inbuilt_Lock_Number_Of_Uses_Enabled>
<Inbuilt_Lock_Number_Of_Uses>10</Inbuilt_Lock_Number_Of_Uses>
<Inbuilt_Lock_Max_Number_Of_Instances_Enabled>false</Inbuilt_Lock_Max_Number_Of_Instances_Enabled>
<Inbuilt_Lock_Max_Number_Of_Instances>5</Inbuilt_Lock_Max_Number_Of_Instances>
<Run_Another_Process_After_Expiration />
<Run_Without_License_File>true</Run_Without_License_File>
<Shutdown_Process_After_Expiration>true</Shutdown_Process_After_Expiration>
<Static_License_FileName />
</Lock_Settings>
<Dialog_Settings>
<Dialog_Evaluation_Period_Enabled>true</Dialog_Evaluation_Period_Enabled>
<Dialog_Evaluation_Period>You are on day [current_minutes_days] of your [max_minutes_days] day evaluation period. Your trial period is expired! You need to purchase a license to run this software.</Dialog_Evaluation_Period>
<Dialog_Expiry_Date_Enabled>true</Dialog_Expiry_Date_Enabled>
<Dialog_Expiry_Date>Your expiration date is reached! You need to purchase a license file to run this software.</Dialog_Expiry_Date>
<Dialog_Number_Of_Uses_Enabled>true</Dialog_Number_Of_Uses_Enabled>
<Dialog_Number_Of_Uses>You have used this software [current_uses] times out of a maximum of [max_uses]. You have [uses_left] uses left. Your trial period is expired! You need to purchase a license to run this software.</Dialog_Number_Of_Uses>
<Dialog_Max_Number_Of_Instances_Enabled>true</Dialog_Max_Number_Of_Instances_Enabled>
<Dialog_Max_Number_Of_Instances>You can only run maximal [max_processes] instances of this software at the same time.</Dialog_Max_Number_Of_Instances>
<Dialog_License_Not_Found_Enabled>true</Dialog_License_Not_Found_Enabled>
<Dialog_License_Not_Found>This software won't run without a valid license file. Either a valid license file could not be found or your license file is expired.</Dialog_License_Not_Found>
<Dialog_Nag_Screen_Enabled>false</Dialog_Nag_Screen_Enabled>
<Dialog_Nag_Screen>Nag Screen! This message will disappear when a valid license file is installed. You are on day [current_minutes_days] of your [max_minutes_days] day evaluation period. You have [minutes_days_left] days left. You have used this software [current_uses] times out of a maximum of [max_uses]. You have [uses_left] uses left.</Dialog_Nag_Screen>
<Dialog_Nag_Screen_XDays>-1</Dialog_Nag_Screen_XDays>
<Dialog_Box_Interface />
<Dialog_Caption>Lock System</Dialog_Caption>
<Color_Gradient_Begin>255255255</Color_Gradient_Begin>
<Color_Gradient_End>157211252</Color_Gradient_End>
</Dialog_Settings>
<License_Manager_Settings>
<Individual_Licensing_Bahvior>false</Individual_Licensing_Bahvior>
<License_Evaluation_Enabled>false</License_Evaluation_Enabled>
<License_Evaluation_Type>Trial_Days</License_Evaluation_Type>
<License_Evaluation_Time>1</License_Evaluation_Time>
<License_Expiry_Date_Enabled>false</License_Expiry_Date_Enabled>
<License_Expiry_Date>20180503</License_Expiry_Date>
<License_Hardware_Lock_Enabled>false</License_Hardware_Lock_Enabled>
<License_Hardware_BOARD>true</License_Hardware_BOARD>
<License_Hardware_CPU>true</License_Hardware_CPU>
<License_Hardware_HDD>false</License_Hardware_HDD>
<License_Hardware_MAC>true</License_Hardware_MAC>
<License_Hardware_ID>####-####-####-####-####</License_Hardware_ID>
<License_Number_Of_Uses_Enabled>false</License_Number_Of_Uses_Enabled>
<License_Number_Of_Uses>10</License_Number_Of_Uses>
<License_Number_Of_Instances_Enabled>false</License_Number_Of_Instances_Enabled>
<License_Number_Of_Instances>5</License_Number_Of_Instances>
<AdditonalLicenseInformation />
<MasterKey>Hr7YPNVEOuGLGJrWzxt2hKWI0xXn4h31i5nGAghNonQ=|&lt;RSAKeyValue&gt;&lt;Modulus&gt;twxUWoRvbb2N6CMXQL36TBij9G7nxvU6rTULmVnbS1jYTvPQSKohB2o95vJvdlxjw7KBxYhIFqj9yEn5xvD4GVhj8+MEvG4lNqN1e1FErGin9YYYr4dTZHFe73aG5xxoscKZIg3YYdoBp0lgE2xwfaHyYe03M3mbhQx6axyf7Ak=&lt;/Modulus&gt;&lt;Exponent&gt;AQAB&lt;/Exponent&gt;&lt;P&gt;6OP29NbAV7sOKvOFRIeBbnJLh4fOiAjGtqiBlHLyOHt6w1s8N4o4Kr3N2KPVcpj82655KRzRlVDkwQika4eZ9w==&lt;/P&gt;&lt;Q&gt;yTY83K4a/WpcifMvuAFEuM9wVfXtbQUpV0MSSNgCmWcd6G3+GYShmPUW1gWMv+4H59iiPef1pnXvuzPYnQMp/w==&lt;/Q&gt;&lt;DP&gt;J/h4Oi1hda01EUoaZVicbkhPjkNQvyhCcrcZBlF0IR2QRFc0TpP6b9uDqNr1l2WKgGnBgbzge7AWksrY7VuooQ==&lt;/DP&gt;&lt;DQ&gt;PtmhQzFjHts1UqXStwA2bh/lsAQkiJQ/KJG7yWMn1LEAB5Ur9N6X94Y+/tU29NCuSX5Cl2G4OqnGG0yDke/mEw==&lt;/DQ&gt;&lt;InverseQ&gt;jiKqvwfWSUpKybcT3ucAedpT+kKuB/Qs1xJ0Z6bYOE8EsljxGbq8428Cma5rp33WMP6ybq2HwOddm/73ZFZZKQ==&lt;/InverseQ&gt;&lt;D&gt;bYP46/cUW8nvHxXvkZKYL/MGFPZNwaFyq7Jy8BrssxXCxOnmkbMH89HCm2ws99mq7qjcL3yr9LLCs5Re1oHRTQT2Vu2hXuGAGVjvHwYPLWGvcYvIuTWoTEw79m+lh/7CYDxfwzwWL095a8D40OvfHauk7xrXDB+qIsEJ7Gkjh0k=&lt;/D&gt;&lt;/RSAKeyValue&gt;</MasterKey>
</License_Manager_Settings>
</Reactor_Project>

127
Bin/混淆_Release.nrproj Normal file
View File

@ -0,0 +1,127 @@
<Reactor_Project ProjectFormat="2">
<Main_Assembly>Release\VSoft\VSoft.exe</Main_Assembly>
<Assembly>
<Filename>Release\VSoft\ryControls.dll</Filename>
</Assembly>
<Assembly>
<Filename>Release\VSoft\ryUpdate.dll</Filename>
</Assembly>
<Assembly>
<Filename>Release\VSoft\MyDb_SQLite.dll</Filename>
</Assembly>
<Assembly>
<Filename>Release\VSoft\MyDb.dll</Filename>
</Assembly>
<General_Settings>
<Automatic_Exception_Handling>true</Automatic_Exception_Handling>
<Application_Compression>true</Application_Compression>
<Show_Loading_Screen>false</Show_Loading_Screen>
<Digital_Certificate_PFX_SPC_File />
<Digital_Certificate_PVK_File />
<Digital_Certificate_PFX_PVK_Password />
<Time_Stamp_URL_SHA1>http://timestamp.verisign.com/scripts/timstamp.dll</Time_Stamp_URL_SHA1>
<Time_Stamp_URL_SHA256>http://sha256timestamp.ws.symantec.com/sha256/timestamp</Time_Stamp_URL_SHA256>
<Embed_Assemblies>false</Embed_Assemblies>
<Enable_Visual_Styles>true</Enable_Visual_Styles>
<Force_Admin_Privileges>false</Force_Admin_Privileges>
<Merge_Assemblies>false</Merge_Assemblies>
<Merge_Assembly_Attributes>true</Merge_Assembly_Attributes>
<Project_Targets_Mono_Framework>false</Project_Targets_Mono_Framework>
<Strong_Name_KeyPair_File />
<Strong_Name_KeyPair_Password />
<Target_File>&lt;AssemblyLocation&gt;\Secure\&lt;AssemblyFileName&gt;</Target_File>
<V3_Mode>true</V3_Mode>
</General_Settings>
<Protection_Settings>
<Anti_ILDASM>true</Anti_ILDASM>
<Inject_Invalid_Metadata>true</Inject_Invalid_Metadata>
<Anti_Tampering>false</Anti_Tampering>
<Control_Flow_Obfuscation>false</Control_Flow_Obfuscation>
<Control_Flow_Obfuscation_Level>9</Control_Flow_Obfuscation_Level>
<Native_EXE_File>true</Native_EXE_File>
<Native_EXE_Embed_Pdb>false</Native_EXE_Embed_Pdb>
<NecroBit>false</NecroBit>
<NecroBit_Reflection_Compatibility_Mode>false</NecroBit_Reflection_Compatibility_Mode>
<Obfuscation>true</Obfuscation>
<Pruning>false</Pruning>
<Create_Mapping_File>false</Create_Mapping_File>
<Exclude_Enums>false</Exclude_Enums>
<Exclude_Events>false</Exclude_Events>
<Exclude_Fields>false</Exclude_Fields>
<Exclude_Methods>false</Exclude_Methods>
<Exclude_Properties>false</Exclude_Properties>
<Exclude_Serializable_Types>false</Exclude_Serializable_Types>
<Exclude_Types>false</Exclude_Types>
<Exclusion_Rules />
<Generate_Short_Strings>false</Generate_Short_Strings>
<Ignore_InternalsVisibleTo>false</Ignore_InternalsVisibleTo>
<Incremental_Obfuscation>false</Incremental_Obfuscation>
<Merge_Namespaces>false</Merge_Namespaces>
<Merge_Namespaces_Namespace />
<Obfuscate_All_Method_Parameters>false</Obfuscate_All_Method_Parameters>
<Obfuscate_Public_Types>false</Obfuscate_Public_Types>
<Use_Unprintable_Characters>false</Use_Unprintable_Characters>
<Pre-JIT_Methods>false</Pre-JIT_Methods>
<Public_Types_Internalization>false</Public_Types_Internalization>
<Resource_Encryption_And_Compression>true</Resource_Encryption_And_Compression>
<String_Encryption>true</String_Encryption>
<String_Encryption_Mode>All</String_Encryption_Mode>
<String_Encryption_InclusionExclusion_List />
<Strong_Name_Removal_Protection>false</Strong_Name_Removal_Protection>
</Protection_Settings>
<Lock_Settings>
<Expire_When_All_Expired>true</Expire_When_All_Expired>
<Inbuilt_Lock_Evaluation_Period_Enabled>false</Inbuilt_Lock_Evaluation_Period_Enabled>
<Inbuilt_Lock_Evaluation_Period_Type>Trial_Days</Inbuilt_Lock_Evaluation_Period_Type>
<Inbuilt_Lock_Evaluation_Period_Time>14</Inbuilt_Lock_Evaluation_Period_Time>
<Inbuilt_Lock_Expiry_Date_Enabled>false</Inbuilt_Lock_Expiry_Date_Enabled>
<Inbuilt_Lock_Expiry_Date>20180503</Inbuilt_Lock_Expiry_Date>
<Inbuilt_Lock_Number_Of_Uses_Enabled>false</Inbuilt_Lock_Number_Of_Uses_Enabled>
<Inbuilt_Lock_Number_Of_Uses>10</Inbuilt_Lock_Number_Of_Uses>
<Inbuilt_Lock_Max_Number_Of_Instances_Enabled>false</Inbuilt_Lock_Max_Number_Of_Instances_Enabled>
<Inbuilt_Lock_Max_Number_Of_Instances>5</Inbuilt_Lock_Max_Number_Of_Instances>
<Run_Another_Process_After_Expiration />
<Run_Without_License_File>true</Run_Without_License_File>
<Shutdown_Process_After_Expiration>true</Shutdown_Process_After_Expiration>
<Static_License_FileName />
</Lock_Settings>
<Dialog_Settings>
<Dialog_Evaluation_Period_Enabled>true</Dialog_Evaluation_Period_Enabled>
<Dialog_Evaluation_Period>You are on day [current_minutes_days] of your [max_minutes_days] day evaluation period. Your trial period is expired! You need to purchase a license to run this software.</Dialog_Evaluation_Period>
<Dialog_Expiry_Date_Enabled>true</Dialog_Expiry_Date_Enabled>
<Dialog_Expiry_Date>Your expiration date is reached! You need to purchase a license file to run this software.</Dialog_Expiry_Date>
<Dialog_Number_Of_Uses_Enabled>true</Dialog_Number_Of_Uses_Enabled>
<Dialog_Number_Of_Uses>You have used this software [current_uses] times out of a maximum of [max_uses]. You have [uses_left] uses left. Your trial period is expired! You need to purchase a license to run this software.</Dialog_Number_Of_Uses>
<Dialog_Max_Number_Of_Instances_Enabled>true</Dialog_Max_Number_Of_Instances_Enabled>
<Dialog_Max_Number_Of_Instances>You can only run maximal [max_processes] instances of this software at the same time.</Dialog_Max_Number_Of_Instances>
<Dialog_License_Not_Found_Enabled>true</Dialog_License_Not_Found_Enabled>
<Dialog_License_Not_Found>This software won't run without a valid license file. Either a valid license file could not be found or your license file is expired.</Dialog_License_Not_Found>
<Dialog_Nag_Screen_Enabled>false</Dialog_Nag_Screen_Enabled>
<Dialog_Nag_Screen>Nag Screen! This message will disappear when a valid license file is installed. You are on day [current_minutes_days] of your [max_minutes_days] day evaluation period. You have [minutes_days_left] days left. You have used this software [current_uses] times out of a maximum of [max_uses]. You have [uses_left] uses left.</Dialog_Nag_Screen>
<Dialog_Nag_Screen_XDays>-1</Dialog_Nag_Screen_XDays>
<Dialog_Box_Interface />
<Dialog_Caption>Lock System</Dialog_Caption>
<Color_Gradient_Begin>255255255</Color_Gradient_Begin>
<Color_Gradient_End>157211252</Color_Gradient_End>
</Dialog_Settings>
<License_Manager_Settings>
<Individual_Licensing_Bahvior>false</Individual_Licensing_Bahvior>
<License_Evaluation_Enabled>false</License_Evaluation_Enabled>
<License_Evaluation_Type>Trial_Days</License_Evaluation_Type>
<License_Evaluation_Time>1</License_Evaluation_Time>
<License_Expiry_Date_Enabled>false</License_Expiry_Date_Enabled>
<License_Expiry_Date>20180503</License_Expiry_Date>
<License_Hardware_Lock_Enabled>false</License_Hardware_Lock_Enabled>
<License_Hardware_BOARD>true</License_Hardware_BOARD>
<License_Hardware_CPU>true</License_Hardware_CPU>
<License_Hardware_HDD>false</License_Hardware_HDD>
<License_Hardware_MAC>true</License_Hardware_MAC>
<License_Hardware_ID>####-####-####-####-####</License_Hardware_ID>
<License_Number_Of_Uses_Enabled>false</License_Number_Of_Uses_Enabled>
<License_Number_Of_Uses>10</License_Number_Of_Uses>
<License_Number_Of_Instances_Enabled>false</License_Number_Of_Instances_Enabled>
<License_Number_Of_Instances>5</License_Number_Of_Instances>
<AdditonalLicenseInformation />
<MasterKey>Hr7YPNVEOuGLGJrWzxt2hKWI0xXn4h31i5nGAghNonQ=|&lt;RSAKeyValue&gt;&lt;Modulus&gt;twxUWoRvbb2N6CMXQL36TBij9G7nxvU6rTULmVnbS1jYTvPQSKohB2o95vJvdlxjw7KBxYhIFqj9yEn5xvD4GVhj8+MEvG4lNqN1e1FErGin9YYYr4dTZHFe73aG5xxoscKZIg3YYdoBp0lgE2xwfaHyYe03M3mbhQx6axyf7Ak=&lt;/Modulus&gt;&lt;Exponent&gt;AQAB&lt;/Exponent&gt;&lt;P&gt;6OP29NbAV7sOKvOFRIeBbnJLh4fOiAjGtqiBlHLyOHt6w1s8N4o4Kr3N2KPVcpj82655KRzRlVDkwQika4eZ9w==&lt;/P&gt;&lt;Q&gt;yTY83K4a/WpcifMvuAFEuM9wVfXtbQUpV0MSSNgCmWcd6G3+GYShmPUW1gWMv+4H59iiPef1pnXvuzPYnQMp/w==&lt;/Q&gt;&lt;DP&gt;J/h4Oi1hda01EUoaZVicbkhPjkNQvyhCcrcZBlF0IR2QRFc0TpP6b9uDqNr1l2WKgGnBgbzge7AWksrY7VuooQ==&lt;/DP&gt;&lt;DQ&gt;PtmhQzFjHts1UqXStwA2bh/lsAQkiJQ/KJG7yWMn1LEAB5Ur9N6X94Y+/tU29NCuSX5Cl2G4OqnGG0yDke/mEw==&lt;/DQ&gt;&lt;InverseQ&gt;jiKqvwfWSUpKybcT3ucAedpT+kKuB/Qs1xJ0Z6bYOE8EsljxGbq8428Cma5rp33WMP6ybq2HwOddm/73ZFZZKQ==&lt;/InverseQ&gt;&lt;D&gt;bYP46/cUW8nvHxXvkZKYL/MGFPZNwaFyq7Jy8BrssxXCxOnmkbMH89HCm2ws99mq7qjcL3yr9LLCs5Re1oHRTQT2Vu2hXuGAGVjvHwYPLWGvcYvIuTWoTEw79m+lh/7CYDxfwzwWL095a8D40OvfHauk7xrXDB+qIsEJ7Gkjh0k=&lt;/D&gt;&lt;/RSAKeyValue&gt;</MasterKey>
</License_Manager_Settings>
</Reactor_Project>

29
CHANGELOG.md Normal file
View File

@ -0,0 +1,29 @@
### 2020-11-16更新
------
#### DyTools V1.9.2011.1601
*.[新增]新增网址状态扫描。
------
### 2019-10-12更新
------
#### DyTools V1.9.1910.1201
*.[新增]游戏入库查询支持87g和当下数量显示。
------
2017-04-19 V1.1.1.0
*.[新增]新增支持清空和粘贴文本。
*.[新增]支持读取网址进行分析。
*.[修复]修复文件夹分析结果不准确的Bug。
2017-04-18 V1.1.0.0
*.[新增]新增盘古分词。
*.[新增]支持添加用户词库。
2017-04-17 V1.0.0.1
*.[修复]修复文章内容太多导致分词报错的BUG。
2017-04-15 V1.0.0.0
*.[初始版本]

10
README.md Normal file
View File

@ -0,0 +1,10 @@
## VSoft快速启动器
VSoft快速启动器是一款帮助用户快速启动各种软件的工具。
- 支持按热键唤醒VSoft。
- 支持分类和分栏目管理软件。
- 支持拖放文件到VSoft中。
- 软件、分类、栏目顺序都可以用鼠标拖放进行排序。
- 支持拖放软件到分类和栏目中。
- 支持按管理员方式启动软件。
- 支持添加众多的内置功能。

BIN
Source/.vs/VSoft/v16/.suo Normal file

Binary file not shown.

View File

@ -0,0 +1,80 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{8EE4505A-7D76-4209-85D5-274357A81FB8}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>DyLine</RootNamespace>
<AssemblyName>DyLine</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\Bin\Debug\VSoft\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="clsMsg.cs" />
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ryMemoryShare.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

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

48
Source/DyLine/Form1.Designer.cs generated Normal file
View File

@ -0,0 +1,48 @@

namespace DyLine
{
partial class Form1
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.SuspendLayout();
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(251, 125);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
}
#endregion
}
}

19
Source/DyLine/Form1.cs Normal file
View File

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace DyLine
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
}

120
Source/DyLine/Form1.resx Normal file
View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

33
Source/DyLine/Program.cs Normal file
View File

@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace DyLine
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//Application.Run(new Form1());
if(args!=null && args.Length>0)
{
for (int i = 0; i < args.Length; i++)
{
var item = args[i];
if(item.StartsWith("show=",StringComparison.OrdinalIgnoreCase))
{
clsMsg ryMsg = new clsMsg();
ryMsg.SendMsgToryProcess(0, item);//向流程软件发送连接信息
}
}
}
}
}
}

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("当游命令行执行工具")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("DyLine")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("8ee4505a-7d76-4209-85d5-274357a81fb8")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,70 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本: 4.0.30319.42000
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace DyLine.Properties
{
/// <summary>
/// 强类型资源类,用于查找本地化字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或删除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
}
/// <summary>
/// 返回此类使用的缓存 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("DyLine.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 重写当前线程的 CurrentUICulture 属性,对
/// 使用此强类型资源类的所有资源查找执行重写。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}

View File

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,29 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace DyLine.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

View File

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

110
Source/DyLine/clsMsg.cs Normal file
View File

@ -0,0 +1,110 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows.Forms;
namespace DyLine
{
public class clsMsg
{
[DllImport("user32.dll", EntryPoint = "EnumWindows", SetLastError = true)]
private static extern bool EnumWindows(WNDENUMPROC lpEnumFunc, uint lParam);
[DllImport("user32.dll", EntryPoint = "GetParent", SetLastError = true)]
private static extern IntPtr GetParent(IntPtr hWnd);
[DllImport("user32.dll", EntryPoint = "GetWindowThreadProcessId")]
private static extern uint GetWindowThreadProcessId(IntPtr hWnd, ref uint lpdwProcessId);
[DllImport("user32.dll", EntryPoint = "IsWindow")]
private static extern bool IsWindow(IntPtr hWnd);
private const int WM_COPYDATA = 0x004A;
public struct COPYDATASTRUCT
{
public IntPtr dwData;
public int cData;
[MarshalAs(UnmanagedType.LPStr)]
public string lpData;
}
[DllImport("User32.dll", EntryPoint = "SendMessage")]
private static extern int SendMessage(int hwnd, int msg, int wParam, ref COPYDATASTRUCT IParam);
private delegate bool WNDENUMPROC(IntPtr hwnd, uint lParam);
public void SendMsg(int handle, int wParam, string str)
{
byte[] arr = System.Text.Encoding.Default.GetBytes(str);
int len = arr.Length;
COPYDATASTRUCT cdata;
cdata.dwData = (IntPtr)100;
cdata.lpData = str;
cdata.cData = len + 1;
SendMessage(handle, WM_COPYDATA, wParam, ref cdata);
}
readonly string msgText = "";
readonly int _wParam = 0;
//public void SendMsgToryProcess(int wParam,string str)
//{
// IntPtr ptrWnd = IntPtr.Zero;
// Process[] items = Process.GetProcessesByName("ryProcessManager");
// msgText = str;
// _wParam = wParam;
// for (int i = 0; i < items.Length; i++)
// {
// uint uiPid = (uint)items[i].Id; // 进程 ID
// bool bResult = EnumWindows(new WNDENUMPROC(EnumWindowsProc), uiPid);
// }
//}
public void SendMsgToryProcess(int wParam, string str)
{
for (int i = 1; i < 5; i++)
{
object mainHandle = ryCommon.Model.ryMemoryShare.ReadFromMemory(1024, typeof(int), "ryProcessManager" + i.ToString());
if (mainHandle != null)
{
SendMsg((int)mainHandle, wParam, str);
break;
}
}
}
public void SendMsgToryProcess(int wParam, string MemoryId, string str)
{
if (MemoryId == null || MemoryId.Length == 0)
{
SendMsgToryProcess(wParam, str);
}
else
{
object mainHandle = ryCommon.Model.ryMemoryShare.ReadFromMemory(1024, typeof(int), MemoryId);
if (mainHandle != null)
{
SendMsg((int)mainHandle, wParam, str);
}
}
}
public static string GetMsg(Message m)
{
COPYDATASTRUCT cdata = new COPYDATASTRUCT();
Type mytype = cdata.GetType();
cdata = (COPYDATASTRUCT)m.GetLParam(mytype);
return cdata.lpData;
}
private bool EnumWindowsProc(IntPtr hwnd, uint lParam)
{
uint uiPid = 0;
if (GetParent(hwnd) == IntPtr.Zero)
{
GetWindowThreadProcessId(hwnd, ref uiPid);
if (uiPid == lParam) // 找到进程对应的主窗口句柄
{
SendMsg(hwnd.ToInt32(), _wParam, msgText);
//return false; // 返回 false 以终止枚举窗口
}
}
return true;
}
}
}

View File

@ -0,0 +1,221 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace ryCommon.Model
{
public class ryMemoryShare
{
[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern IntPtr SendMessage(IntPtr hWnd, int Msg, int wParam, IntPtr lParam);
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
private static extern IntPtr CreateFileMapping(int hFile, IntPtr lpAttributes, uint flProtect, uint dwMaxSizeHi, uint dwMaxSizeLow, string lpName);
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
private static extern IntPtr OpenFileMapping(uint dwDesiredAccess, [MarshalAs(UnmanagedType.Bool)] bool bInheritHandle, string lpName);
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
private static extern IntPtr MapViewOfFile(IntPtr hFileMapping, uint dwDesiredAccess, uint dwFileOffsetHigh, uint dwFileOffsetLow, uint dwNumberOfBytesToMap);
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
private static extern bool UnmapViewOfFile(IntPtr pvBaseAddress);
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
private static extern bool CloseHandle(IntPtr handle);
[DllImport("kernel32", EntryPoint = "GetLastError")]
private static extern int GetLastError();
[DllImport("user32.dll", EntryPoint = "FindWindow")]
private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("User32.dll")]
private static extern bool PostMessage(IntPtr hWnd, uint uMsg, int wParam, int lParam);
const int ERROR_ALREADY_EXISTS = 183;
const int FILE_MAP_COPY = 0x0001;
const int FILE_MAP_WRITE = 0x0002;
const int FILE_MAP_READ = 0x0004;
const int FILE_MAP_ALL_ACCESS = 0x0002 | 0x0004;
const int PAGE_READONLY = 0x02;
const int PAGE_READWRITE = 0x04;
const int PAGE_WRITECOPY = 0x08;
const int PAGE_EXECUTE = 0x10;
const int PAGE_EXECUTE_READ = 0x20;
const int PAGE_EXECUTE_READWRITE = 0x40;
const int SEC_COMMIT = 0x8000000;
const int SEC_IMAGE = 0x1000000;
const int SEC_NOCACHE = 0x10000000;
const int SEC_RESERVE = 0x4000000;
const int INVALID_HANDLE_VALUE = -1;
/// <summary>
/// 写共享内存
/// </summary>
/// <param name="structSize">需要映射的文件的字节数量</param>
/// <param name="obj">映射对象(简单类型、结构体等)</param>
/// <param name="fileName">文件映射对象的名称</param>
/// <returns></returns>
public static int WriteToMemory(uint structSize, Object obj, string fileName)
{
return WriteToMemory(structSize, obj, fileName, null, 0);
}
/// <summary>
/// 写共享内存
/// </summary>
/// <param name="structSize">需要映射的文件的字节数量</param>
/// <param name="obj">映射对象(简单类型、结构体等)</param>
/// <param name="fileName">文件映射对象的名称</param>
/// <param name="windowName">发送消息的窗口句柄</param>
/// <param name="Msg">发送消息</param>
/// <returns></returns>
public static int WriteToMemory(uint structSize, Object obj, string fileName, string windowName, uint Msg)
{
IntPtr hShareMemoryHandle = IntPtr.Zero;
IntPtr hVoid = IntPtr.Zero;
//判断参数的合法性
if (structSize > 0 && fileName.Length > 0)
{
hShareMemoryHandle = CreateFileMapping(INVALID_HANDLE_VALUE, IntPtr.Zero, (uint)PAGE_READWRITE, 0, (uint)structSize, fileName);
if (hShareMemoryHandle == IntPtr.Zero)
{
//创建共享内存失败记log
// MessageBox.Show("创建共享内存失败" + publicInfo.GetLastError().ToString());
return -2;
}
else
{
if (ERROR_ALREADY_EXISTS == GetLastError())
{
//共享内存已经存在记log
//MessageBox.Show("共享内存已经存在");
return -3;
}
}
hVoid = MapViewOfFile(hShareMemoryHandle, FILE_MAP_WRITE, 0, 0, structSize);
if (hVoid == IntPtr.Zero)
{
CloseHandle(hShareMemoryHandle);
//文件映射失败记log
//MessageBox.Show("文件映射失败");
return -4;
}
Marshal.StructureToPtr(obj, hVoid, false);
//发送消息,通知接收
if (windowName != null)
{
IntPtr handle = FindWindow(null, windowName.Trim());
if (handle == IntPtr.Zero)
{
//查找窗口失败记log
//MessageBox.Show("查找窗口失败");
return -5;
}
else
{
if (PostMessage(handle, (uint)Msg, 0, 0))
{
//发送消息成功
//MessageBox.Show("写共享内存,通知发送消息成功");
}
}
}
}
else
{
//参数不合法记log
//MessageBox.Show("共享内存已经存在");
return -1;
}
return 0;
}
/// <summary>
/// 读共享内存
/// </summary>
/// <param name="structSize">需要映射的文件的字节数量</param>
/// <param name="type">类型</param>
/// <param name="fileName">文件映射对象的名称</param>
/// <returns>返回读到的映射对象</returns>
public static Object ReadFromMemory(uint structSize, Type type, string fileName)
{
IntPtr hMappingHandle = IntPtr.Zero;
IntPtr hVoid = IntPtr.Zero;
hMappingHandle = OpenFileMapping((uint)FILE_MAP_READ, false, fileName);
if (hMappingHandle == IntPtr.Zero)
{
//打开共享内存失败记log
//MessageBox.Show("打开共享内存失败:" + publicInfo.GetLastError().ToString());
return null;
}
hVoid = MapViewOfFile(hMappingHandle, FILE_MAP_READ, 0, 0, structSize);
if (hVoid == IntPtr.Zero)
{
//文件映射失败记log
// MessageBox.Show("文件映射失败——读共享内存");
return null;
}
Object obj = Marshal.PtrToStructure(hVoid, type);
if (hVoid != IntPtr.Zero)
{
UnmapViewOfFile(hVoid);
hVoid = IntPtr.Zero;
}
if (hMappingHandle != IntPtr.Zero)
{
CloseHandle(hMappingHandle);
hMappingHandle = IntPtr.Zero;
}
return obj;
}
/// <summary>
/// 读共享内存
/// </summary>
/// <param name="structSize">需要映射的文件的字节数量</param>
/// <param name="type">类型</param>
/// <param name="fileName">文件映射对象的名称</param>
/// <returns>返回读到的映射字节数据</returns>
public static byte[] ReadFromMemory2(uint structSize, Type type, string fileName)
{
IntPtr hMappingHandle = IntPtr.Zero;
IntPtr hVoid = IntPtr.Zero;
hMappingHandle = OpenFileMapping((uint)FILE_MAP_READ, false, fileName);
if (hMappingHandle == IntPtr.Zero)
{
//打开共享内存失败记log
//MessageBox.Show("打开共享内存失败:" + publicInfo.GetLastError().ToString());
return null;
}
hVoid = MapViewOfFile(hMappingHandle, FILE_MAP_READ, 0, 0, structSize);
if (hVoid == IntPtr.Zero)
{
//文件映射失败记log
//MessageBox.Show("文件映射失败——读共享内存");
return null;
}
//Object obj = Marshal.PtrToStructure(hVoid, type);
byte[] bytes = new byte[structSize];
Marshal.Copy(hVoid, bytes, 0, bytes.Length);
if (hVoid != IntPtr.Zero)
{
UnmapViewOfFile(hVoid);
hVoid = IntPtr.Zero;
}
if (hMappingHandle != IntPtr.Zero)
{
CloseHandle(hMappingHandle);
hMappingHandle = IntPtr.Zero;
}
return bytes;
}
}
}

37
Source/VSoft.sln Normal file
View File

@ -0,0 +1,37 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30621.155
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VSoft", "VSoft_Dll\VSoft.csproj", "{13C45E68-2DA3-4C9E-9BCA-E63D0FA9A760}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VSoftBox", "VSoftBox\VSoftBox.csproj", "{CA619284-2939-4A14-9525-30FD7C04ADC7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DyLine", "DyLine\DyLine.csproj", "{8EE4505A-7D76-4209-85D5-274357A81FB8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{13C45E68-2DA3-4C9E-9BCA-E63D0FA9A760}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{13C45E68-2DA3-4C9E-9BCA-E63D0FA9A760}.Debug|Any CPU.Build.0 = Debug|Any CPU
{13C45E68-2DA3-4C9E-9BCA-E63D0FA9A760}.Release|Any CPU.ActiveCfg = Release|Any CPU
{13C45E68-2DA3-4C9E-9BCA-E63D0FA9A760}.Release|Any CPU.Build.0 = Release|Any CPU
{CA619284-2939-4A14-9525-30FD7C04ADC7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CA619284-2939-4A14-9525-30FD7C04ADC7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CA619284-2939-4A14-9525-30FD7C04ADC7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CA619284-2939-4A14-9525-30FD7C04ADC7}.Release|Any CPU.Build.0 = Release|Any CPU
{8EE4505A-7D76-4209-85D5-274357A81FB8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8EE4505A-7D76-4209-85D5-274357A81FB8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8EE4505A-7D76-4209-85D5-274357A81FB8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8EE4505A-7D76-4209-85D5-274357A81FB8}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {041F73EF-7DB7-4DDC-BEDA-4005F2463F7C}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Itrycn_Project
{
/// <summary>
/// 配置类,保存在运行期间会被改变的配置信息(本系统基于乘黄V2架构)
/// </summary>
public static class Soft_Config
{
/// <summary>
/// 是否能关闭窗体。
/// </summary>
public static bool IsCanCloseForm = true;
/// <summary>
/// 在点击主窗口关闭按钮时,隐藏窗体(只有开启了托盘图标,本功能才能生效,此时需要通过托盘图标进行关闭)。
/// </summary>
public static bool HideByCloseBtn = true;
public static void LoadSetting()
{
//ryCommon.Storage Stor = new Storage();
//Stor.SelectNodeBySet();
//LowCountTip = Stor.GetAttrValue("LowCountTip", true);
//low_count = Stor.GetAttrValue("LowCount", 10);
}
}
}

View File

@ -0,0 +1,58 @@
using ryCommon;
using ryCommonDb;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using static ryCommonDb.DataProvider;
namespace Itrycn_Project
{
/// <summary>
/// 配置类,保存在运行期间不会被改变的配置信息(本系统基于乘黄V2架构)
/// </summary>
public static class Soft_Info
{
/// <summary>
/// 在线升级配置文件的url
/// </summary>
public const string Update_Url = "http://www.itrycn.com/update/ryWebMon4.xml";
/// <summary>
/// 软件标题
/// </summary>
public const string Soft_Title = "VSoft";
/// <summary>
/// 软件ID
/// </summary>
public const string Soft_Id = "VSoft";
/// <summary>
/// 开机启动的参数
/// </summary>
public const string Soft_Pram = "q";
/// <summary>
/// 官网地址
/// </summary>
public const string Soft_Url = "http://www.itrycn.com";
/// <summary>
/// 售后QQ群
/// </summary>
public const string QQ_Qun = "183161992";
/// <summary>
/// 关于界面内容.
/// </summary>
public const string AboutText = "#softname# #ver#";
/// <summary>
/// 用户文件夹,该相对路径设置,将在程序启动后转换
/// </summary>
public static string UserDataFolder = @"<app>\UserDb";
/// <summary>
/// 是否允许显示托盘图标
/// </summary>
public static bool ShowTray { get; } = true;
/// <summary>
/// 是否显示捐赠方式
/// </summary>
public static bool DonateVisabled { get; } = true;
}
}

View File

@ -0,0 +1,34 @@
using Itrycn_Project;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace VSoftBox
{
static class Program
{
static System.Threading.Mutex run;
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Soft_Info.UserDataFolder = ryCommon.RyFiles.GetRealPath(Soft_Info.UserDataFolder);
run = new System.Threading.Mutex(true, Soft_Info.Soft_Id, out bool runone);
if (!runone) //已经运行了
{
ryCommon.Ini ini = new ryCommon.Ini(Soft_Info.UserDataFolder + "\\Win.dat");
ryControls.Win32.SendMessage((IntPtr)ini.ReadIni(Soft_Info.Soft_Id, "hwnd", 0), 17189, 100, 100);
}
else
{
Application.Run(new VSoft.FrmVSoft(args));
//Application.Run(new WindowsFormsApp2.Form1());
}
}
}
}

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("VSoftBox")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("VSoftBox")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("ca619284-2939-4a14-9525-30fd7c04adc7")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.2011.1701")]
[assembly: AssemblyFileVersion("1.0.2011.1701")]

Some files were not shown because too many files have changed in this diff Show More