初始备份
6
.gitignore
vendored
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
Publish/
|
||||||
|
Res/
|
||||||
|
**/obj
|
||||||
|
*.pdb
|
||||||
|
**/dcu
|
||||||
|
*.dcu
|
BIN
Bin/Debug/VSoft/DyLine.exe
Normal file
BIN
Bin/Debug/VSoft/MyDb.dll
Normal file
4829
Bin/Debug/VSoft/MyDb.xml
Normal file
BIN
Bin/Debug/VSoft/MyDb_SQLite.dll
Normal file
BIN
Bin/Debug/VSoft/Newtonsoft.Json.dll
Normal file
9327
Bin/Debug/VSoft/Newtonsoft.Json.xml
Normal file
BIN
Bin/Debug/VSoft/SysDb.rar
Normal file
BIN
Bin/Debug/VSoft/SysDb/Icons/87G.png
Normal file
After Width: | Height: | Size: 9.8 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/Internet 选项.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/android.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/android2.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/下载管理.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/关键词拼接.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/分数管理.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/匿名投诉建议.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/合作游戏管理.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/外链提交.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/外链统计.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/大小文件换算.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/定时提醒.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/当游工具箱.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/批量打包.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/批量改后台.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/排版助手.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/提交游戏.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/提交绩效.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/数据分析.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/断电恢复.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/查看分润.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/游戏封包.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/爱站词条.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/生成绩效.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/目标站资源.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/知识库.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/管理投诉.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/绩效报表.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/绩效浏览.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/网页提醒.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/自媒体管理.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/苹果.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/软文协作.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/ryprocess/预约管理.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/下载银行.png
Normal file
After Width: | Height: | Size: 8.3 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/回收站.png
Normal file
After Width: | Height: | Size: 7.0 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/声音.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/当下.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/当游.png
Normal file
After Width: | Height: | Size: 6.7 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/打印机.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/控制面板.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/日期时间.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/服务.png
Normal file
After Width: | Height: | Size: 6.7 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/淘宝.png
Normal file
After Width: | Height: | Size: 9.1 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/添加删除程序.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/电源选项.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/百度.ico
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/百度.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/管理工具.png
Normal file
After Width: | Height: | Size: 7.8 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/网络与共享中心.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/视频.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/设备管理器.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/键盘.png
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/音乐.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
Bin/Debug/VSoft/SysDb/Icons/鼠标.png
Normal file
After Width: | Height: | Size: 7.6 KiB |
BIN
Bin/Debug/VSoft/SysDb/SysConfig.dat
Normal file
BIN
Bin/Debug/VSoft/System.Data.SQLite.dll
Normal file
3
Bin/Debug/VSoft/UserDb/Setting.xml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<root>
|
||||||
|
<list id="Setting" ShowMainHotKey="1+88" OpenByClick="0" HideAfterRun="1" />
|
||||||
|
</root>
|
BIN
Bin/Debug/VSoft/UserDb/Softs.dat
Normal file
4
Bin/Debug/VSoft/UserDb/Win.dat
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
[VSoft]
|
||||||
|
hwnd=395896
|
||||||
|
width=742
|
||||||
|
height=572
|
BIN
Bin/Debug/VSoft/UserDb/logs.dat
Normal file
BIN
Bin/Debug/VSoft/VSoft.dll
Normal file
BIN
Bin/Debug/VSoft/VSoft.rar
Normal file
BIN
Bin/Debug/VSoft/VSoftBox.exe
Normal file
3
Bin/Debug/VSoft/cUpdate.dat
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<root>
|
||||||
|
<list id="LastUpdateTime" Value="2020/11/28 9:22:07" />
|
||||||
|
</root>
|
BIN
Bin/Debug/VSoft/ryControls.dll
Normal file
11105
Bin/Debug/VSoft/ryControls.xml
Normal file
BIN
Bin/Debug/VSoft/ryUpdate.dll
Normal file
127
Bin/混淆_Debug.nrproj
Normal 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><AssemblyLocation>\Secure\<AssemblyFileName></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=|<RSAKeyValue><Modulus>twxUWoRvbb2N6CMXQL36TBij9G7nxvU6rTULmVnbS1jYTvPQSKohB2o95vJvdlxjw7KBxYhIFqj9yEn5xvD4GVhj8+MEvG4lNqN1e1FErGin9YYYr4dTZHFe73aG5xxoscKZIg3YYdoBp0lgE2xwfaHyYe03M3mbhQx6axyf7Ak=</Modulus><Exponent>AQAB</Exponent><P>6OP29NbAV7sOKvOFRIeBbnJLh4fOiAjGtqiBlHLyOHt6w1s8N4o4Kr3N2KPVcpj82655KRzRlVDkwQika4eZ9w==</P><Q>yTY83K4a/WpcifMvuAFEuM9wVfXtbQUpV0MSSNgCmWcd6G3+GYShmPUW1gWMv+4H59iiPef1pnXvuzPYnQMp/w==</Q><DP>J/h4Oi1hda01EUoaZVicbkhPjkNQvyhCcrcZBlF0IR2QRFc0TpP6b9uDqNr1l2WKgGnBgbzge7AWksrY7VuooQ==</DP><DQ>PtmhQzFjHts1UqXStwA2bh/lsAQkiJQ/KJG7yWMn1LEAB5Ur9N6X94Y+/tU29NCuSX5Cl2G4OqnGG0yDke/mEw==</DQ><InverseQ>jiKqvwfWSUpKybcT3ucAedpT+kKuB/Qs1xJ0Z6bYOE8EsljxGbq8428Cma5rp33WMP6ybq2HwOddm/73ZFZZKQ==</InverseQ><D>bYP46/cUW8nvHxXvkZKYL/MGFPZNwaFyq7Jy8BrssxXCxOnmkbMH89HCm2ws99mq7qjcL3yr9LLCs5Re1oHRTQT2Vu2hXuGAGVjvHwYPLWGvcYvIuTWoTEw79m+lh/7CYDxfwzwWL095a8D40OvfHauk7xrXDB+qIsEJ7Gkjh0k=</D></RSAKeyValue></MasterKey>
|
||||||
|
</License_Manager_Settings>
|
||||||
|
</Reactor_Project>
|
127
Bin/混淆_Release.nrproj
Normal 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><AssemblyLocation>\Secure\<AssemblyFileName></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=|<RSAKeyValue><Modulus>twxUWoRvbb2N6CMXQL36TBij9G7nxvU6rTULmVnbS1jYTvPQSKohB2o95vJvdlxjw7KBxYhIFqj9yEn5xvD4GVhj8+MEvG4lNqN1e1FErGin9YYYr4dTZHFe73aG5xxoscKZIg3YYdoBp0lgE2xwfaHyYe03M3mbhQx6axyf7Ak=</Modulus><Exponent>AQAB</Exponent><P>6OP29NbAV7sOKvOFRIeBbnJLh4fOiAjGtqiBlHLyOHt6w1s8N4o4Kr3N2KPVcpj82655KRzRlVDkwQika4eZ9w==</P><Q>yTY83K4a/WpcifMvuAFEuM9wVfXtbQUpV0MSSNgCmWcd6G3+GYShmPUW1gWMv+4H59iiPef1pnXvuzPYnQMp/w==</Q><DP>J/h4Oi1hda01EUoaZVicbkhPjkNQvyhCcrcZBlF0IR2QRFc0TpP6b9uDqNr1l2WKgGnBgbzge7AWksrY7VuooQ==</DP><DQ>PtmhQzFjHts1UqXStwA2bh/lsAQkiJQ/KJG7yWMn1LEAB5Ur9N6X94Y+/tU29NCuSX5Cl2G4OqnGG0yDke/mEw==</DQ><InverseQ>jiKqvwfWSUpKybcT3ucAedpT+kKuB/Qs1xJ0Z6bYOE8EsljxGbq8428Cma5rp33WMP6ybq2HwOddm/73ZFZZKQ==</InverseQ><D>bYP46/cUW8nvHxXvkZKYL/MGFPZNwaFyq7Jy8BrssxXCxOnmkbMH89HCm2ws99mq7qjcL3yr9LLCs5Re1oHRTQT2Vu2hXuGAGVjvHwYPLWGvcYvIuTWoTEw79m+lh/7CYDxfwzwWL095a8D40OvfHauk7xrXDB+qIsEJ7Gkjh0k=</D></RSAKeyValue></MasterKey>
|
||||||
|
</License_Manager_Settings>
|
||||||
|
</Reactor_Project>
|
29
CHANGELOG.md
Normal 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
|
@ -0,0 +1,10 @@
|
||||||
|
## VSoft快速启动器
|
||||||
|
|
||||||
|
VSoft快速启动器是一款帮助用户快速启动各种软件的工具。
|
||||||
|
- 支持按热键唤醒VSoft。
|
||||||
|
- 支持分类和分栏目管理软件。
|
||||||
|
- 支持拖放文件到VSoft中。
|
||||||
|
- 软件、分类、栏目顺序都可以用鼠标拖放进行排序。
|
||||||
|
- 支持拖放软件到分类和栏目中。
|
||||||
|
- 支持按管理员方式启动软件。
|
||||||
|
- 支持添加众多的内置功能。
|
BIN
Source/.vs/VSoft/v16/.suo
Normal file
80
Source/DyLine/DyLine.csproj
Normal 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>
|
6
Source/DyLine/DyLine.csproj.user
Normal 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
|
@ -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
|
@ -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
|
@ -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
|
@ -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);//向流程软件发送连接信息
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
36
Source/DyLine/Properties/AssemblyInfo.cs
Normal 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")]
|
70
Source/DyLine/Properties/Resources.Designer.cs
generated
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
117
Source/DyLine/Properties/Resources.resx
Normal 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>
|
29
Source/DyLine/Properties/Settings.Designer.cs
generated
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
7
Source/DyLine/Properties/Settings.settings
Normal 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
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
221
Source/DyLine/ryMemoryShare.cs
Normal 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
|
@ -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
|
29
Source/VSoftBox/Config/Soft_Config.cs
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
58
Source/VSoftBox/Config/Soft_Info.cs
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
34
Source/VSoftBox/Program.cs
Normal 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());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
36
Source/VSoftBox/Properties/AssemblyInfo.cs
Normal 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")]
|