初始版本

This commit is contained in:
紫林软件 2022-02-12 11:25:33 +08:00
commit 7e74b16032
46 changed files with 120260 additions and 0 deletions

6
.gitignore vendored Normal file
View File

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

Binary file not shown.

View File

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/></startup></configuration>

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

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

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

@ -0,0 +1,127 @@
<Reactor_Project ProjectFormat="2">
<Main_Assembly>Debug\CarSongManage\CarSongManage.exe</Main_Assembly>
<Assembly>
<Filename>Debug\CarSongManage\ryControls.dll</Filename>
</Assembly>
<Assembly>
<Filename>Debug\CarSongManage\ryUpdate.dll</Filename>
</Assembly>
<Assembly>
<Filename>Debug\CarSongManage\MyDb_SQLite.dll</Filename>
</Assembly>
<Assembly>
<Filename>Debug\CarSongManage\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\CarSongManage\CarSongManage.exe</Main_Assembly>
<Assembly>
<Filename>Release\CarSongManage\ryControls.dll</Filename>
</Assembly>
<Assembly>
<Filename>Release\CarSongManage\ryUpdate.dll</Filename>
</Assembly>
<Assembly>
<Filename>Release\CarSongManage\MyDb_SQLite.dll</Filename>
</Assembly>
<Assembly>
<Filename>Release\CarSongManage\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>

4
CHANGELOG.md Normal file
View File

@ -0,0 +1,4 @@
### 2022-02-12更新
------
#### CarSongManage V1.0.2202.1201
- *.[初始版本]

14
README.md Normal file
View File

@ -0,0 +1,14 @@
# 车载歌曲维护
#### 基础介绍
车机与NAS媒体管家是一款专注于管理车机音乐、MV与NAS上的电影电视剧的软件。
#### 功能介绍
- **歌词转码:**将lrc歌词文件自动转码成符合要求的utf8编码。
- **歌曲情况:**自动显示歌曲文件对应的写真数量、歌词情况。
- **同步到U盘:**自动将本地歌曲文件和对应歌词、写真同步到U盘。
- **音乐软件写真:**自动加载酷我音乐的歌手写真图片,并可以搜索、保存。
- **电影命名助手:**提供电影文件、字幕、nfo文件,自动命名成统一的格式。

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29324.140
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CarSongManage", "CarSongManage\CarSongManage.csproj", "{CA3D8090-8A4E-4F23-9264-6B41849495EA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CA3D8090-8A4E-4F23-9264-6B41849495EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CA3D8090-8A4E-4F23-9264-6B41849495EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CA3D8090-8A4E-4F23-9264-6B41849495EA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CA3D8090-8A4E-4F23-9264-6B41849495EA}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7F7AC254-AFBB-49A0-BB56-DBC36960AF5A}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,102 @@
<?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>{CA3D8090-8A4E-4F23-9264-6B41849495EA}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>CarSongManage</RootNamespace>
<AssemblyName>CarSongManage</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\..\Bin\Debug\CarSongManage\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</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>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>music.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="MyDb">
<HintPath>..\..\..\..\..\..\公共代码\C#\公用控件组\Bin\Debug\CommonControls\.NET4\MyDb.dll</HintPath>
</Reference>
<Reference Include="ryControls">
<HintPath>..\..\..\..\..\..\公共代码\C#\公用控件组\Bin\Debug\CommonControls\.NET4\ryControls.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Design" />
<Reference Include="System.Management" />
<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" />
<Reference Include="XPTable">
<HintPath>..\..\..\..\当游工具箱\Bin\Debug\DyTools\XPTable.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="FrmLrcConvert.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FrmLrcConvert.Designer.cs">
<DependentUpon>FrmLrcConvert.cs</DependentUpon>
</Compile>
<Compile Include="ImgExt.cs" />
<Compile Include="Lrc.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="FrmLrcConvert.resx">
<DependentUpon>FrmLrcConvert.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>
<DesignTime>True</DesignTime>
</Compile>
<None Include="app.config" />
<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>
<ItemGroup>
<Content Include="music.ico" />
</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 Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<EnableUnmanagedDebugging>true</EnableUnmanagedDebugging>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,805 @@
namespace CarSongManage
{
partial class FrmLrcConvert
{
/// <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.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmLrcConvert));
this.TxtLrcFolder = new ryControls.TextBoxEx2();
this.label1 = new System.Windows.Forms.Label();
this.table_lrc = new XPTable.Models.Table();
this.columnModel1 = new XPTable.Models.ColumnModel();
this.ColLrcName = new XPTable.Models.TextColumn();
this.ColLrcEncode = new XPTable.Models.TextColumn();
this.ColPreview = new XPTable.Models.TextColumn();
this.tableModel1 = new XPTable.Models.TableModel();
this.BtnScanLrc = new ryControls.ButtonEx();
this.BtnConvert = new ryControls.ButtonEx();
this.LblState = new System.Windows.Forms.Label();
this.chromeTabControl1 = new ryControls.ChromeTabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.BtnScanMusic = new ryControls.ButtonEx();
this.table_music = new XPTable.Models.Table();
this.columnModel2 = new XPTable.Models.ColumnModel();
this.ColMFileName = new XPTable.Models.TextColumn();
this.ColSingerPic = new XPTable.Models.TextColumn();
this.ColMHaveLrc = new XPTable.Models.TextColumn();
this.menuMusic = new System.Windows.Forms.ContextMenuStrip(this.components);
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.tableModel2 = new XPTable.Models.TableModel();
this.tabPage3 = new System.Windows.Forms.TabPage();
this.ChkPriority_Krc = new System.Windows.Forms.CheckBox();
this.LblToPath = new System.Windows.Forms.Label();
this.BtnCopy = new ryControls.ButtonEx();
this.CbbDrive = new ryControls.RyComboBox();
this.TxtToFolder = new ryControls.TextBoxEx2();
this.label3 = new System.Windows.Forms.Label();
this.tabPage4 = new System.Windows.Forms.TabPage();
this.TxtPreviewRename = new ryControls.TextBoxEx2();
this.label7 = new System.Windows.Forms.Label();
this.BtnNew = new ryControls.ButtonEx();
this.BtnRename = new ryControls.ButtonEx();
this.TxtNFOPath = new ryControls.TextBoxEx2();
this.label6 = new System.Windows.Forms.Label();
this.TxtSubtitlesPath = new ryControls.TextBoxEx2();
this.label5 = new System.Windows.Forms.Label();
this.TxtMoviePath = new ryControls.TextBoxEx2();
this.label4 = new System.Windows.Forms.Label();
this.TxtMovieRename = new ryControls.TextBoxEx2();
this.label2 = new System.Windows.Forms.Label();
this.tabPage5 = new System.Windows.Forms.TabPage();
this.BtnKuwo = new ryControls.ButtonEx();
this.iconViewEx1 = new ryControls.IconViewEx();
this.BtnQQMusic = new ryControls.ButtonEx();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
this.rySearch1 = new ryControls.rySearch();
((System.ComponentModel.ISupportInitialize)(this.table_lrc)).BeginInit();
this.chromeTabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
this.tabPage2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.table_music)).BeginInit();
this.menuMusic.SuspendLayout();
this.tabPage3.SuspendLayout();
this.tabPage4.SuspendLayout();
this.tabPage5.SuspendLayout();
this.SuspendLayout();
//
// TxtLrcFolder
//
this.TxtLrcFolder.BackColor = System.Drawing.Color.White;
this.TxtLrcFolder.EmptyText = "";
this.TxtLrcFolder.Location = new System.Drawing.Point(59, 5);
this.TxtLrcFolder.MaxLength = 999999999;
this.TxtLrcFolder.Multiline = false;
this.TxtLrcFolder.Name = "TxtLrcFolder";
this.TxtLrcFolder.OnlyNumeric = false;
this.TxtLrcFolder.PasswordChar = '\0';
this.TxtLrcFolder.ReadOnly = false;
this.TxtLrcFolder.SelectedText = "";
this.TxtLrcFolder.SelectionLength = 0;
this.TxtLrcFolder.SelectionStart = 0;
this.TxtLrcFolder.Size = new System.Drawing.Size(630, 30);
this.TxtLrcFolder.TabIndex = 0;
this.TxtLrcFolder.TabStop = false;
this.TxtLrcFolder.Text = "E:\\音乐中心\\车载歌曲";
this.TxtLrcFolder.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.TxtLrcFolder.ToolTip = "";
this.TxtLrcFolder.WordWrap = true;
this.TxtLrcFolder.TextChanged2 += new System.EventHandler(this.TxtLrcFolder_TextChanged2);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(9, 15);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(41, 12);
this.label1.TabIndex = 1;
this.label1.Text = "文件夹";
//
// table_lrc
//
this.table_lrc.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.table_lrc.ColumnModel = this.columnModel1;
this.table_lrc.FullRowSelect = true;
this.table_lrc.Location = new System.Drawing.Point(3, 39);
this.table_lrc.Name = "table_lrc";
this.table_lrc.NoItemsText = "当前列表没有任何项";
this.table_lrc.Size = new System.Drawing.Size(743, 429);
this.table_lrc.TabIndex = 2;
this.table_lrc.TableModel = this.tableModel1;
this.table_lrc.Text = "table1";
//
// columnModel1
//
this.columnModel1.Columns.AddRange(new XPTable.Models.Column[] {
this.ColLrcName,
this.ColLrcEncode,
this.ColPreview});
//
// ColLrcName
//
this.ColLrcName.Editable = false;
this.ColLrcName.Tag = null;
this.ColLrcName.Text = "歌词文件名";
this.ColLrcName.Width = 200;
//
// ColLrcEncode
//
this.ColLrcEncode.Editable = false;
this.ColLrcEncode.Tag = null;
this.ColLrcEncode.Text = "可能编码";
//
// ColPreview
//
this.ColPreview.Tag = null;
this.ColPreview.Text = "预览";
this.ColPreview.Width = 400;
//
// BtnScanLrc
//
this.BtnScanLrc.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnScanLrc.Location = new System.Drawing.Point(3, 5);
this.BtnScanLrc.Name = "BtnScanLrc";
this.BtnScanLrc.Size = new System.Drawing.Size(64, 30);
this.BtnScanLrc.TabIndex = 3;
this.BtnScanLrc.Text = "扫描";
this.BtnScanLrc.UseVisualStyleBackColor = true;
this.BtnScanLrc.Click += new System.EventHandler(this.BtnScanLrc_Click);
//
// BtnConvert
//
this.BtnConvert.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnConvert.Location = new System.Drawing.Point(73, 5);
this.BtnConvert.Name = "BtnConvert";
this.BtnConvert.Size = new System.Drawing.Size(64, 30);
this.BtnConvert.TabIndex = 4;
this.BtnConvert.Text = "转换";
this.BtnConvert.UseVisualStyleBackColor = true;
this.BtnConvert.Click += new System.EventHandler(this.BtnConvert_Click);
//
// LblState
//
this.LblState.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.LblState.AutoSize = true;
this.LblState.Location = new System.Drawing.Point(8, 545);
this.LblState.Name = "LblState";
this.LblState.Size = new System.Drawing.Size(83, 12);
this.LblState.TabIndex = 5;
this.LblState.Text = "状态:准备就绪";
//
// chromeTabControl1
//
this.chromeTabControl1.AllowDragTab = false;
this.chromeTabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.chromeTabControl1.BackTabPageImage = null;
this.chromeTabControl1.Controls.Add(this.tabPage2);
this.chromeTabControl1.Controls.Add(this.tabPage5);
this.chromeTabControl1.Controls.Add(this.tabPage1);
this.chromeTabControl1.Controls.Add(this.tabPage3);
this.chromeTabControl1.Controls.Add(this.tabPage4);
this.chromeTabControl1.Cursor = System.Windows.Forms.Cursors.Default;
this.chromeTabControl1.ItemSize = new System.Drawing.Size(130, 25);
this.chromeTabControl1.Location = new System.Drawing.Point(3, 38);
this.chromeTabControl1.Name = "chromeTabControl1";
this.chromeTabControl1.SelectedIndex = 0;
this.chromeTabControl1.ShowAddButton = false;
this.chromeTabControl1.ShowCloseButton = false;
this.chromeTabControl1.Size = new System.Drawing.Size(753, 504);
this.chromeTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
this.chromeTabControl1.TabContextMenuStrip = null;
this.chromeTabControl1.TabIndex = 6;
this.chromeTabControl1.TabMaxWidth = 130;
//
// tabPage1
//
this.tabPage1.Controls.Add(this.table_lrc);
this.tabPage1.Controls.Add(this.BtnScanLrc);
this.tabPage1.Controls.Add(this.BtnConvert);
this.tabPage1.Location = new System.Drawing.Point(1, 29);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(751, 474);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "歌词转码";
this.tabPage1.UseVisualStyleBackColor = true;
//
// tabPage2
//
this.tabPage2.Controls.Add(this.BtnScanMusic);
this.tabPage2.Controls.Add(this.table_music);
this.tabPage2.Location = new System.Drawing.Point(1, 29);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(751, 474);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "歌曲情况";
this.tabPage2.UseVisualStyleBackColor = true;
//
// BtnScanMusic
//
this.BtnScanMusic.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnScanMusic.Location = new System.Drawing.Point(3, 5);
this.BtnScanMusic.Name = "BtnScanMusic";
this.BtnScanMusic.Size = new System.Drawing.Size(64, 30);
this.BtnScanMusic.TabIndex = 4;
this.BtnScanMusic.Text = "扫描";
this.BtnScanMusic.UseVisualStyleBackColor = true;
this.BtnScanMusic.Click += new System.EventHandler(this.BtnScanMusic_Click);
//
// table_music
//
this.table_music.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.table_music.ColumnModel = this.columnModel2;
this.table_music.ContextMenuStrip = this.menuMusic;
this.table_music.FullRowSelect = true;
this.table_music.Location = new System.Drawing.Point(3, 39);
this.table_music.Name = "table_music";
this.table_music.NoItemsText = "当前列表没有任何项";
this.table_music.Size = new System.Drawing.Size(743, 429);
this.table_music.TabIndex = 3;
this.table_music.TableModel = this.tableModel2;
this.table_music.Text = "table2";
//
// columnModel2
//
this.columnModel2.Columns.AddRange(new XPTable.Models.Column[] {
this.ColMFileName,
this.ColSingerPic,
this.ColMHaveLrc});
//
// ColMFileName
//
this.ColMFileName.Editable = false;
this.ColMFileName.Tag = null;
this.ColMFileName.Text = "文件名";
this.ColMFileName.Width = 200;
//
// ColSingerPic
//
this.ColSingerPic.Editable = false;
this.ColSingerPic.Tag = null;
this.ColSingerPic.Text = "写真数量";
//
// ColMHaveLrc
//
this.ColMHaveLrc.Editable = false;
this.ColMHaveLrc.Tag = null;
this.ColMHaveLrc.Text = "含歌词";
this.ColMHaveLrc.Width = 120;
//
// menuMusic
//
this.menuMusic.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.ToolStripMenuItem,
this.ToolStripMenuItem,
this.ToolStripMenuItem,
this.ToolStripMenuItem});
this.menuMusic.Name = "menuMusic";
this.menuMusic.Size = new System.Drawing.Size(161, 92);
//
// 打开写真文件夹ToolStripMenuItem
//
this.ToolStripMenuItem.Name = "打开写真文件夹ToolStripMenuItem";
this.ToolStripMenuItem.Size = new System.Drawing.Size(160, 22);
this.ToolStripMenuItem.Text = "打开写真文件夹";
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
//
// 定位歌曲文件ToolStripMenuItem
//
this.ToolStripMenuItem.Name = "定位歌曲文件ToolStripMenuItem";
this.ToolStripMenuItem.Size = new System.Drawing.Size(160, 22);
this.ToolStripMenuItem.Text = "定位歌曲文件";
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
//
// 定位歌词文件ToolStripMenuItem
//
this.ToolStripMenuItem.Name = "定位歌词文件ToolStripMenuItem";
this.ToolStripMenuItem.Size = new System.Drawing.Size(160, 22);
this.ToolStripMenuItem.Text = "定位歌词文件";
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
//
// 编辑歌词ToolStripMenuItem
//
this.ToolStripMenuItem.Name = "编辑歌词ToolStripMenuItem";
this.ToolStripMenuItem.Size = new System.Drawing.Size(160, 22);
this.ToolStripMenuItem.Text = "编辑歌词";
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
//
// tabPage3
//
this.tabPage3.Controls.Add(this.ChkPriority_Krc);
this.tabPage3.Controls.Add(this.LblToPath);
this.tabPage3.Controls.Add(this.BtnCopy);
this.tabPage3.Controls.Add(this.CbbDrive);
this.tabPage3.Controls.Add(this.TxtToFolder);
this.tabPage3.Controls.Add(this.label3);
this.tabPage3.Location = new System.Drawing.Point(1, 29);
this.tabPage3.Name = "tabPage3";
this.tabPage3.Padding = new System.Windows.Forms.Padding(3);
this.tabPage3.Size = new System.Drawing.Size(751, 474);
this.tabPage3.TabIndex = 2;
this.tabPage3.Text = "同步到U盘";
this.tabPage3.UseVisualStyleBackColor = true;
//
// ChkPriority_Krc
//
this.ChkPriority_Krc.AutoSize = true;
this.ChkPriority_Krc.Checked = true;
this.ChkPriority_Krc.CheckState = System.Windows.Forms.CheckState.Checked;
this.ChkPriority_Krc.Location = new System.Drawing.Point(10, 79);
this.ChkPriority_Krc.Name = "ChkPriority_Krc";
this.ChkPriority_Krc.Size = new System.Drawing.Size(138, 16);
this.ChkPriority_Krc.TabIndex = 9;
this.ChkPriority_Krc.Text = "优先复制Krc歌词文件";
this.toolTip1.SetToolTip(this.ChkPriority_Krc, "勾选后如果一首歌存在krc酷狗歌词文件,则进行优先复制否则复制lrc歌词文件\r\n不勾选,则优先复制lrc歌词文件如果lrc歌词文件不存在,则复制krc歌词文" +
"件。");
this.ChkPriority_Krc.UseVisualStyleBackColor = true;
//
// LblToPath
//
this.LblToPath.AutoSize = true;
this.LblToPath.BackColor = System.Drawing.Color.Transparent;
this.LblToPath.ForeColor = System.Drawing.Color.Gray;
this.LblToPath.Location = new System.Drawing.Point(8, 56);
this.LblToPath.Name = "LblToPath";
this.LblToPath.Size = new System.Drawing.Size(65, 12);
this.LblToPath.TabIndex = 8;
this.LblToPath.Text = "将拷贝到..";
//
// BtnCopy
//
this.BtnCopy.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnCopy.Location = new System.Drawing.Point(547, 23);
this.BtnCopy.Name = "BtnCopy";
this.BtnCopy.Size = new System.Drawing.Size(67, 26);
this.BtnCopy.TabIndex = 7;
this.BtnCopy.Text = "同步";
this.BtnCopy.UseVisualStyleBackColor = true;
this.BtnCopy.Click += new System.EventHandler(this.BtnCopy_Click);
//
// CbbDrive
//
this.CbbDrive.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
this.CbbDrive.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.CbbDrive.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.CbbDrive.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.CbbDrive.FormattingEnabled = true;
this.CbbDrive.Location = new System.Drawing.Point(10, 25);
this.CbbDrive.Name = "CbbDrive";
this.CbbDrive.Size = new System.Drawing.Size(196, 24);
this.CbbDrive.TabIndex = 6;
this.CbbDrive.SelectedIndexChanged += new System.EventHandler(this.CbbDrive_SelectedIndexChanged);
//
// TxtToFolder
//
this.TxtToFolder.BackColor = System.Drawing.Color.White;
this.TxtToFolder.EmptyText = "";
this.TxtToFolder.Location = new System.Drawing.Point(212, 24);
this.TxtToFolder.MaxLength = 999999999;
this.TxtToFolder.Multiline = false;
this.TxtToFolder.Name = "TxtToFolder";
this.TxtToFolder.OnlyNumeric = false;
this.TxtToFolder.PasswordChar = '\0';
this.TxtToFolder.ReadOnly = false;
this.TxtToFolder.SelectedText = "";
this.TxtToFolder.SelectionLength = 0;
this.TxtToFolder.SelectionStart = 0;
this.TxtToFolder.Size = new System.Drawing.Size(329, 26);
this.TxtToFolder.TabIndex = 5;
this.TxtToFolder.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.TxtToFolder.ToolTip = "";
this.TxtToFolder.WordWrap = true;
this.TxtToFolder.TextChanged2 += new System.EventHandler(this.TxtToFolder_TextChanged2);
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(8, 9);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(77, 12);
this.label3.TabIndex = 4;
this.label3.Text = "同步到文件夹";
//
// tabPage4
//
this.tabPage4.Controls.Add(this.TxtPreviewRename);
this.tabPage4.Controls.Add(this.label7);
this.tabPage4.Controls.Add(this.BtnNew);
this.tabPage4.Controls.Add(this.BtnRename);
this.tabPage4.Controls.Add(this.TxtNFOPath);
this.tabPage4.Controls.Add(this.label6);
this.tabPage4.Controls.Add(this.TxtSubtitlesPath);
this.tabPage4.Controls.Add(this.label5);
this.tabPage4.Controls.Add(this.TxtMoviePath);
this.tabPage4.Controls.Add(this.label4);
this.tabPage4.Controls.Add(this.TxtMovieRename);
this.tabPage4.Controls.Add(this.label2);
this.tabPage4.Location = new System.Drawing.Point(1, 29);
this.tabPage4.Name = "tabPage4";
this.tabPage4.Padding = new System.Windows.Forms.Padding(3);
this.tabPage4.Size = new System.Drawing.Size(751, 474);
this.tabPage4.TabIndex = 3;
this.tabPage4.Text = "电影命名助手";
this.tabPage4.UseVisualStyleBackColor = true;
//
// TxtPreviewRename
//
this.TxtPreviewRename.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.TxtPreviewRename.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.TxtPreviewRename.EmptyText = "";
this.TxtPreviewRename.Location = new System.Drawing.Point(352, 24);
this.TxtPreviewRename.MaxLength = 999999999;
this.TxtPreviewRename.Multiline = false;
this.TxtPreviewRename.Name = "TxtPreviewRename";
this.TxtPreviewRename.OnlyNumeric = false;
this.TxtPreviewRename.PasswordChar = '\0';
this.TxtPreviewRename.ReadOnly = false;
this.TxtPreviewRename.SelectedText = "";
this.TxtPreviewRename.SelectionLength = 0;
this.TxtPreviewRename.SelectionStart = 0;
this.TxtPreviewRename.Size = new System.Drawing.Size(390, 26);
this.TxtPreviewRename.TabIndex = 16;
this.TxtPreviewRename.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.TxtPreviewRename.ToolTip = "";
this.TxtPreviewRename.WordWrap = true;
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(352, 9);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(29, 12);
this.label7.TabIndex = 15;
this.label7.Text = "预览";
//
// BtnNew
//
this.BtnNew.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.BtnNew.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnNew.Location = new System.Drawing.Point(608, 201);
this.BtnNew.Name = "BtnNew";
this.BtnNew.Size = new System.Drawing.Size(64, 30);
this.BtnNew.TabIndex = 14;
this.BtnNew.Text = "新建";
this.BtnNew.UseVisualStyleBackColor = true;
this.BtnNew.Click += new System.EventHandler(this.BtnNew_Click);
//
// BtnRename
//
this.BtnRename.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.BtnRename.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnRename.Location = new System.Drawing.Point(678, 201);
this.BtnRename.Name = "BtnRename";
this.BtnRename.Size = new System.Drawing.Size(64, 30);
this.BtnRename.TabIndex = 13;
this.BtnRename.Text = "重命名";
this.BtnRename.UseVisualStyleBackColor = true;
this.BtnRename.Click += new System.EventHandler(this.BtnRename_Click);
//
// TxtNFOPath
//
this.TxtNFOPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.TxtNFOPath.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.TxtNFOPath.EmptyText = "";
this.TxtNFOPath.Location = new System.Drawing.Point(17, 160);
this.TxtNFOPath.MaxLength = 999999999;
this.TxtNFOPath.Multiline = false;
this.TxtNFOPath.Name = "TxtNFOPath";
this.TxtNFOPath.OnlyNumeric = false;
this.TxtNFOPath.PasswordChar = '\0';
this.TxtNFOPath.ReadOnly = false;
this.TxtNFOPath.SelectedText = "";
this.TxtNFOPath.SelectionLength = 0;
this.TxtNFOPath.SelectionStart = 0;
this.TxtNFOPath.Size = new System.Drawing.Size(725, 26);
this.TxtNFOPath.TabIndex = 12;
this.TxtNFOPath.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.TxtNFOPath.ToolTip = "";
this.TxtNFOPath.WordWrap = true;
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(15, 145);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(47, 12);
this.label6.TabIndex = 11;
this.label6.Text = "nfo文件";
//
// TxtSubtitlesPath
//
this.TxtSubtitlesPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.TxtSubtitlesPath.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.TxtSubtitlesPath.EmptyText = "";
this.TxtSubtitlesPath.Location = new System.Drawing.Point(17, 114);
this.TxtSubtitlesPath.MaxLength = 999999999;
this.TxtSubtitlesPath.Multiline = false;
this.TxtSubtitlesPath.Name = "TxtSubtitlesPath";
this.TxtSubtitlesPath.OnlyNumeric = false;
this.TxtSubtitlesPath.PasswordChar = '\0';
this.TxtSubtitlesPath.ReadOnly = false;
this.TxtSubtitlesPath.SelectedText = "";
this.TxtSubtitlesPath.SelectionLength = 0;
this.TxtSubtitlesPath.SelectionStart = 0;
this.TxtSubtitlesPath.Size = new System.Drawing.Size(725, 26);
this.TxtSubtitlesPath.TabIndex = 10;
this.TxtSubtitlesPath.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.TxtSubtitlesPath.ToolTip = "";
this.TxtSubtitlesPath.WordWrap = true;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(15, 99);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(53, 12);
this.label5.TabIndex = 9;
this.label5.Text = "字幕文件";
//
// TxtMoviePath
//
this.TxtMoviePath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.TxtMoviePath.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.TxtMoviePath.EmptyText = "";
this.TxtMoviePath.Location = new System.Drawing.Point(17, 68);
this.TxtMoviePath.MaxLength = 999999999;
this.TxtMoviePath.Multiline = false;
this.TxtMoviePath.Name = "TxtMoviePath";
this.TxtMoviePath.OnlyNumeric = false;
this.TxtMoviePath.PasswordChar = '\0';
this.TxtMoviePath.ReadOnly = false;
this.TxtMoviePath.SelectedText = "";
this.TxtMoviePath.SelectionLength = 0;
this.TxtMoviePath.SelectionStart = 0;
this.TxtMoviePath.Size = new System.Drawing.Size(725, 26);
this.TxtMoviePath.TabIndex = 8;
this.TxtMoviePath.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.TxtMoviePath.ToolTip = "";
this.TxtMoviePath.WordWrap = true;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(15, 53);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(53, 12);
this.label4.TabIndex = 7;
this.label4.Text = "电影文件";
//
// TxtMovieRename
//
this.TxtMovieRename.BackColor = System.Drawing.Color.White;
this.TxtMovieRename.EmptyText = "";
this.TxtMovieRename.Location = new System.Drawing.Point(17, 24);
this.TxtMovieRename.MaxLength = 999999999;
this.TxtMovieRename.Multiline = false;
this.TxtMovieRename.Name = "TxtMovieRename";
this.TxtMovieRename.OnlyNumeric = false;
this.TxtMovieRename.PasswordChar = '\0';
this.TxtMovieRename.ReadOnly = false;
this.TxtMovieRename.SelectedText = "";
this.TxtMovieRename.SelectionLength = 0;
this.TxtMovieRename.SelectionStart = 0;
this.TxtMovieRename.Size = new System.Drawing.Size(329, 26);
this.TxtMovieRename.TabIndex = 6;
this.TxtMovieRename.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.TxtMovieRename.ToolTip = "";
this.TxtMovieRename.WordWrap = true;
this.TxtMovieRename.TextChanged2 += new System.EventHandler(this.TxtMovieRename_TextChanged2);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(15, 9);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(77, 12);
this.label2.TabIndex = 0;
this.label2.Text = "请输入文件名";
//
// tabPage5
//
this.tabPage5.Controls.Add(this.rySearch1);
this.tabPage5.Controls.Add(this.BtnKuwo);
this.tabPage5.Controls.Add(this.iconViewEx1);
this.tabPage5.Controls.Add(this.BtnQQMusic);
this.tabPage5.Location = new System.Drawing.Point(1, 29);
this.tabPage5.Name = "tabPage5";
this.tabPage5.Padding = new System.Windows.Forms.Padding(3);
this.tabPage5.Size = new System.Drawing.Size(751, 474);
this.tabPage5.TabIndex = 4;
this.tabPage5.Text = "音乐软件写真";
this.tabPage5.UseVisualStyleBackColor = true;
//
// BtnKuwo
//
this.BtnKuwo.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnKuwo.Location = new System.Drawing.Point(3, 6);
this.BtnKuwo.Name = "BtnKuwo";
this.BtnKuwo.Size = new System.Drawing.Size(84, 30);
this.BtnKuwo.TabIndex = 6;
this.BtnKuwo.Text = "刷新酷我";
this.BtnKuwo.UseVisualStyleBackColor = true;
this.BtnKuwo.Click += new System.EventHandler(this.BtnKuwo_Click);
//
// iconViewEx1
//
this.iconViewEx1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.iconViewEx1.BadgeListImage = ((System.Collections.Generic.List<System.Drawing.Image>)(resources.GetObject("iconViewEx1.BadgeListImage")));
this.iconViewEx1.HideSelection = false;
this.iconViewEx1.Icon = null;
this.iconViewEx1.IconSize = 160;
this.iconViewEx1.IsDrawGridLines = false;
this.iconViewEx1.IsDrawIcon = true;
this.iconViewEx1.Location = new System.Drawing.Point(3, 41);
this.iconViewEx1.MultiSelect = false;
this.iconViewEx1.Name = "iconViewEx1";
this.iconViewEx1.OwnerDraw = true;
this.iconViewEx1.SelectedBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(229)))), ((int)(((byte)(195)))), ((int)(((byte)(101)))));
this.iconViewEx1.SelectedEndBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(236)))), ((int)(((byte)(181)))));
this.iconViewEx1.SelectedForeColor = System.Drawing.Color.Black;
this.iconViewEx1.SelectedStartBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(251)))), ((int)(((byte)(237)))));
this.iconViewEx1.Size = new System.Drawing.Size(742, 430);
this.iconViewEx1.TabIndex = 5;
this.iconViewEx1.TextHeight = 20;
this.iconViewEx1.TileSize = new System.Drawing.Size(170, 170);
this.iconViewEx1.UseCompatibleStateImageBehavior = false;
this.iconViewEx1.View = System.Windows.Forms.View.Tile;
this.iconViewEx1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.iconViewEx1_MouseDoubleClick);
//
// BtnQQMusic
//
this.BtnQQMusic.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnQQMusic.Location = new System.Drawing.Point(93, 6);
this.BtnQQMusic.Name = "BtnQQMusic";
this.BtnQQMusic.Size = new System.Drawing.Size(104, 30);
this.BtnQQMusic.TabIndex = 4;
this.BtnQQMusic.Text = "打开QQ音乐写真";
this.BtnQQMusic.UseVisualStyleBackColor = true;
this.BtnQQMusic.Click += new System.EventHandler(this.BtnQQMusic_Click);
//
// saveFileDialog1
//
this.saveFileDialog1.Filter = "jpg图片|*.jpg";
//
// rySearch1
//
this.rySearch1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244)))));
this.rySearch1.ButtonRoundBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244)))));
this.rySearch1.EmptyText = "请输入歌手名称来搜索";
this.rySearch1.Location = new System.Drawing.Point(203, 6);
this.rySearch1.Name = "rySearch1";
this.rySearch1.Size = new System.Drawing.Size(282, 30);
this.rySearch1.TabIndex = 7;
this.rySearch1.OnSearch += new System.EventHandler(this.rySearch1_OnSearch);
//
// FrmLrcConvert
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(758, 561);
this.Controls.Add(this.chromeTabControl1);
this.Controls.Add(this.LblState);
this.Controls.Add(this.label1);
this.Controls.Add(this.TxtLrcFolder);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmLrcConvert";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "车机音乐管理助手";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmLrcConvert_FormClosing);
this.Load += new System.EventHandler(this.FrmLrcConvert_Load);
((System.ComponentModel.ISupportInitialize)(this.table_lrc)).EndInit();
this.chromeTabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.tabPage2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.table_music)).EndInit();
this.menuMusic.ResumeLayout(false);
this.tabPage3.ResumeLayout(false);
this.tabPage3.PerformLayout();
this.tabPage4.ResumeLayout(false);
this.tabPage4.PerformLayout();
this.tabPage5.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private ryControls.TextBoxEx2 TxtLrcFolder;
private System.Windows.Forms.Label label1;
private XPTable.Models.Table table_lrc;
private XPTable.Models.ColumnModel columnModel1;
private XPTable.Models.TextColumn ColLrcName;
private XPTable.Models.TextColumn ColLrcEncode;
private XPTable.Models.TableModel tableModel1;
private ryControls.ButtonEx BtnScanLrc;
private ryControls.ButtonEx BtnConvert;
private XPTable.Models.TextColumn ColPreview;
private System.Windows.Forms.Label LblState;
private ryControls.ChromeTabControl chromeTabControl1;
private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.TabPage tabPage2;
private XPTable.Models.Table table_music;
private XPTable.Models.TableModel tableModel2;
private ryControls.ButtonEx BtnScanMusic;
private XPTable.Models.ColumnModel columnModel2;
private XPTable.Models.TextColumn ColMFileName;
private XPTable.Models.TextColumn ColSingerPic;
private XPTable.Models.TextColumn ColMHaveLrc;
private System.Windows.Forms.ContextMenuStrip menuMusic;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem;
private System.Windows.Forms.TabPage tabPage3;
private ryControls.RyComboBox CbbDrive;
private ryControls.TextBoxEx2 TxtToFolder;
private System.Windows.Forms.Label label3;
private ryControls.ButtonEx BtnCopy;
private System.Windows.Forms.Label LblToPath;
private System.Windows.Forms.CheckBox ChkPriority_Krc;
private System.Windows.Forms.ToolTip toolTip1;
private System.Windows.Forms.TabPage tabPage4;
private ryControls.ButtonEx BtnNew;
private ryControls.ButtonEx BtnRename;
private ryControls.TextBoxEx2 TxtNFOPath;
private System.Windows.Forms.Label label6;
private ryControls.TextBoxEx2 TxtSubtitlesPath;
private System.Windows.Forms.Label label5;
private ryControls.TextBoxEx2 TxtMoviePath;
private System.Windows.Forms.Label label4;
private ryControls.TextBoxEx2 TxtMovieRename;
private System.Windows.Forms.Label label2;
private ryControls.TextBoxEx2 TxtPreviewRename;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.TabPage tabPage5;
private ryControls.ButtonEx BtnQQMusic;
private ryControls.IconViewEx iconViewEx1;
private ryControls.ButtonEx BtnKuwo;
private System.Windows.Forms.SaveFileDialog saveFileDialog1;
private ryControls.rySearch rySearch1;
}
}

View File

@ -0,0 +1,911 @@
using Microsoft.Win32;
using ryCommon;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Management;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Linq;
namespace CarSongManage
{
public partial class FrmLrcConvert : Form
{
public FrmLrcConvert()
{
InitializeComponent();
}
private void BtnScanLrc_Click(object sender, EventArgs e)
{
var lrc_folder = TxtLrcFolder.Text;
if(!System.IO.Directory.Exists(lrc_folder))
{
MessageBox.Show("歌词路径不存在。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
BtnScanLrc.Text = "扫描中";
BtnScanLrc.Enabled = false;
table_lrc.TableModel.Rows.Clear();
table_lrc.BeginUpdate();
var exts = "*.lrc";
var ext_split = exts.Split(';');
var error_count = 0;
var first_error_row = -1;
for (int i = 0; i < ext_split.Length; i++)
{
if (ext_split[i].Length == 0) { continue; }
var files = System.IO.Directory.GetFiles(lrc_folder, ext_split[i]);
for (int m = 0; m < files.Length; m++)
{
XPTable.Models.Row itemList = new XPTable.Models.Row()
{
Tag = files[m]
};
//需要修改此处
itemList.Cells.Add(new XPTable.Models.Cell(System.IO.Path.GetFileName(files[m])));//示例
var encode = ryCommon.TxtFileEncoder.GetEncoding(files[m]);
itemList.Cells.Add(new XPTable.Models.Cell(encode.WebName));
Lrc lrc = Lrc.InitLrc(files[m]);
var str = "";
var index = 0;
foreach (var item in lrc.LrcWord)
{
index++;
str += item.Value+" ";
if (index > 5) { break; }
}
if (encode != Encoding.UTF8) {
if (first_error_row == -1)
{ first_error_row = table_lrc.RowCount; }
error_count++; itemList.ForeColor = Color.Red;
}
var cell = new XPTable.Models.Cell(str.Trim());
cell.ForeColor = Color.Gray;
itemList.Cells.Add(cell);
tableModel1.Rows.Add(itemList);
}
}
table_lrc.EndUpdate();
if (error_count == 0)
{ LblState.Text = "状态:扫描完成,没有异常。";LblState.ForeColor = Color.Blue; }
else
{
table_lrc.EnsureVisible(first_error_row, 0);
LblState.Text = "状态:扫描完成,共有异常" + error_count + "项。";
LblState.ForeColor = Color.Red;
}
BtnScanLrc.Enabled = true;
BtnScanLrc.Text = "扫描";
}
private void BtnConvert_Click(object sender, EventArgs e)
{
var lrc_folder = TxtLrcFolder.Text;
if (!System.IO.Directory.Exists(lrc_folder))
{
MessageBox.Show("歌词路径不存在。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
var exts = "*.lrc";
var ext_split = exts.Split(';');
for (int i = 0; i < ext_split.Length; i++)
{
if (ext_split[i].Length == 0) { continue; }
var files = System.IO.Directory.GetFiles(lrc_folder, ext_split[i]);
for (int m = 0; m < files.Length; m++)
{
if (ryCommon.TxtFileEncoder.GetEncoding(files[m]) == Encoding.UTF8) { continue; }
ryCommon.RyFiles.WriteAllText(files[m],ryCommon.RyFiles.ReadAllText(files[m]),Encoding.UTF8);
}
}
MessageBox.Show("转换完成。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
BtnScanLrc.PerformClick();
}
private void BtnScanMusic_Click(object sender, EventArgs e)
{
var lrc_folder = TxtLrcFolder.Text;
if (!System.IO.Directory.Exists(lrc_folder))
{
MessageBox.Show("歌曲文件夹不存在。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
BtnScanMusic.Text = "扫描中";
BtnScanMusic.Enabled = false;
table_music.TableModel.Rows.Clear();
table_music.BeginUpdate();
var exts = "*.mp3;*.flac;*.ape;*.aac";
var ext_split = exts.Split(';');
var error_count = 0;
var first_error_row = -1;
var lrc_count = 0;
var krc_count = 0;
var lrc_krc_count = 0;
ColMFileName.Text = "文件名(正在读取中)";
for (int i = 0; i < ext_split.Length; i++)
{
if (ext_split[i].Length == 0) { continue; }
var files = System.IO.Directory.GetFiles(lrc_folder, ext_split[i]);
for (int m = 0; m < files.Length; m++)
{
var music_path = files[m];
var music_folder = System.IO.Path.GetDirectoryName(music_path);
var songfilename = System.IO.Path.GetFileNameWithoutExtension(music_path);
var songname = "";
var singername = "";
var songfn_split = songfilename.Split('-');
if (songfn_split.Length == 2)
{
songname = songfn_split[1];
singername = songfn_split[0];
}
else { continue; }
string have_lrc = "不含歌词";
var lrc_path = music_folder + "\\" + songfilename + ".lrc";
if (System.IO.File.Exists(lrc_path))
{
have_lrc = "Lrc歌词";
lrc_count++;
}
if (System.IO.File.Exists(music_folder + "\\" + songfilename + ".krc"))
{
lrc_path = music_folder + "\\" + songfilename + ".krc";
if(have_lrc != "不含歌词")
{ have_lrc += " ";lrc_krc_count++; }
else { have_lrc = ""; }
have_lrc += "酷狗歌词";
krc_count++;
}
var singer_picount = 0;
var music_info = new MusicInfo()
{
SongPath = music_path,
LrcPath = lrc_path,
SingerFolder = music_folder + "\\写真\\" + singername
};
XPTable.Models.Row itemList = new XPTable.Models.Row()
{
Tag = music_info
};
//需要修改此处
itemList.Cells.Add(new XPTable.Models.Cell(System.IO.Path.GetFileName(music_path)));//示例
if(System.IO.Directory.Exists(music_info.SingerFolder))
{
var singerpic_files = System.IO.Directory.GetFiles(music_info.SingerFolder);
if (singerpic_files != null) { singer_picount = singerpic_files.Length; }
}
var cell_picount = new XPTable.Models.Cell(singer_picount==0?"暂无写真":(singer_picount.ToString()+"个"));
cell_picount.ForeColor = singer_picount == 0?Color.Red: Color.Black;
itemList.Cells.Add(cell_picount);//示例
if(have_lrc=="不含歌词" || singer_picount==0)
{
error_count++;
if (first_error_row == -1)
{ first_error_row = table_music.RowCount; }
}
else
{
if(have_lrc.IndexOfEx("酷狗")<0)
{
error_count++;
if (first_error_row == -1)
{ first_error_row = table_music.RowCount; }
}
}
var cell = new XPTable.Models.Cell(have_lrc);
cell.ForeColor = Color.Gray;
itemList.Cells.Add(cell);
tableModel2.Rows.Add(itemList);
}
}
table_music.EndUpdate();
ColMFileName.Text = "文件名("+table_music.TableModel.Rows.Count+")";
if (error_count == 0)
{ LblState.Text = "状态:扫描完成,没有异常。没有同时具备lrc和krc歌词歌曲共"+ (table_music.TableModel.Rows.Count-lrc_krc_count) + "项"; LblState.ForeColor = Color.Blue; }
else
{
table_music.EnsureVisible(first_error_row, 0);
LblState.Text = "状态:扫描完成,共有异常" + error_count + "项。没有具备krc歌词歌曲共" + (table_music.TableModel.Rows.Count - krc_count) + "项";
LblState.ForeColor = Color.Red;
}
BtnScanMusic.Enabled = true;
BtnScanMusic.Text = "扫描";
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (table_music.SelectedItems.Length == 0) { return; }
var musicinfo = (MusicInfo)table_music.SelectedItems[0].Tag;
ryCommon.RyFiles.OpenFile(musicinfo.SingerFolder);
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (table_music.SelectedItems.Length == 0) { return; }
var musicinfo = (MusicInfo)table_music.SelectedItems[0].Tag;
ryCommon.RyFiles.OpenFolderGotoFile(musicinfo.SongPath);
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (table_music.SelectedItems.Length == 0) { return; }
var musicinfo = (MusicInfo)table_music.SelectedItems[0].Tag;
ryCommon.RyFiles.OpenFolderGotoFile(musicinfo.LrcPath);
}
/// <summary>
/// 获取Notepad++路径
/// </summary>
/// <returns></returns>
private string GetNotepadPlusPath()
{
var path = "";
try
{
RegistryKey LMach = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
RegistryKey softwareRun = LMach.OpenSubKey(@"SOFTWARE\Notepad++", true);
if (softwareRun.GetValue("") != null)
{
string notepad_plus_path = softwareRun.GetValue("").ToString() + "\\notepad++.exe";
if (System.IO.File.Exists(notepad_plus_path))
{
path = notepad_plus_path;
}
}
softwareRun.Close();
LMach.Close();
}
catch
{
}
return path;
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (table_music.SelectedItems.Length == 0) { return; }
var musicinfo = (MusicInfo)table_music.SelectedItems[0].Tag;
var ext = System.IO.Path.GetExtension(musicinfo.LrcPath).ToLower();
if(ext==".lrc")
{
string notepad_plus_path = GetNotepadPlusPath();
if (System.IO.File.Exists(notepad_plus_path))
{
ryCommon.RyFiles.RunFile(notepad_plus_path, "\"" + musicinfo.LrcPath + "\"");
}
else
{
ryCommon.RyFiles.RunFile("notepad.exe",musicinfo.LrcPath);
}
}
else
{
MessageBox.Show("暂不支持编辑该歌词。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
//ryCommon.RyFiles.OpenFolderGotoFile(musicinfo.LrcPath);
}
private IList<Drive_Info> diskList = new List<Drive_Info>();
/// 扫描U口设备
/// </summary>
/// <param name="obj"></param>
private void scanUDisk()
{
diskList.Clear();
DriveInfo[] drives = DriveInfo.GetDrives();
foreach (DriveInfo drive in drives)
{
if ((drive.DriveType == DriveType.Removable) && !drive.Name.Substring(0, 1).Equals("A"))
{
try
{
diskList.Add(new Drive_Info() { Drive = drive.Name, VolumeName = drive.VolumeLabel });
}
catch(Exception ex)
{
MessageBox.Show("当前盘不能正确识别,请重新尝试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
}
public void GetListDisk()
{
try
{
diskList.Clear();
List<string> lstDisk = new List<string>();
ManagementClass mgtCls = new ManagementClass("Win32_DiskDrive");
var disks = mgtCls.GetInstances();
foreach (ManagementObject mo in disks)
{
//if (mo.Properties["InterfaceType"].Value.ToString() != "SCSI"
// && mo.Properties["InterfaceType"].Value.ToString() != "USB"
// )
// continue;
if (mo.Properties["MediaType"].Value == null ||
(mo.Properties["MediaType"].Value.ToString() != "External hard disk media"
&& mo.Properties["MediaType"].Value.ToString() != "Removable Media"))
{
continue;
}
//foreach (var prop in mo.Properties)
//{
// Console.WriteLine(prop.Name + "\t" + prop.Value);
//}
foreach (ManagementObject diskPartition in mo.GetRelated("Win32_DiskPartition"))
{
foreach (ManagementBaseObject disk in diskPartition.GetRelated("Win32_LogicalDisk"))
{
var drive = disk.Properties["Name"].Value.ToString().Substring(0, 1);
var VolumeName = disk.Properties["VolumeName"].Value.ToString();
diskList.Add(new Drive_Info() { Drive = drive, VolumeName = VolumeName });
}
}
//Console.WriteLine("-------------------------------------------------------------------------------------------");
}
}
catch (Exception ex)
{
}
}
public const int WM_DEVICECHANGE = 0x219;
public const int DBT_DEVICEARRIVAL = 0x8000;
public const int DBT_DEVICEREMOVECOMPLETE = 0x8004;
protected override void WndProc(ref Message m)
{
try
{
//WM_DEVICECHANGE系统硬件改变发出的系统消息
if (m.Msg == WM_DEVICECHANGE)
{
switch (m.WParam.ToInt32())
{
case WM_DEVICECHANGE:
break;
//DBT_DEVICEARRIVAL设备检测结束并且可以使用
case DBT_DEVICEARRIVAL:
Thread th2 = new Thread(start2);
th2.Start();
void start2()
{
Thread.Sleep(1000);
this.Invoke(new Action(() =>
{
GetListDisk();
var select_drive2 = CbbDrive.Text;
CbbDrive.Items.Clear();
foreach (var s in diskList)
{
CbbDrive.Items.Add(s);
}
if (CbbDrive.Items.Contains(select_drive2))
{
CbbDrive.Text = select_drive2;
}
else
{
if (CbbDrive.Items.Count > 0)
{
CbbDrive.SelectedIndex = 0;
}
}
}));
}
//MessageBox.Show("设备加入");
break;
//DBT_DEVICEREMOVECOMPLETE,设备卸载或者拔出
case DBT_DEVICEREMOVECOMPLETE:
Thread th = new Thread(start);
th.Start();
void start()
{
Thread.Sleep(1000);
this.Invoke(new Action(() =>
{
GetListDisk();
var select_drive2 = CbbDrive.Text;
CbbDrive.Items.Clear();
foreach (var s in diskList)
{
CbbDrive.Items.Add(s);
}
if (CbbDrive.Items.Contains(select_drive2))
{
CbbDrive.Text = select_drive2;
}
else
{
if (CbbDrive.Items.Count > 0)
{
CbbDrive.SelectedIndex = 0;
}
}
}));
}
//MessageBox.Show("设备移除");
break;
}
}
}
catch (Exception ex)
{
MessageBox.Show("当前盘不能正确识别,请重新尝试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
base.WndProc(ref m);
}
private void FrmLrcConvert_Load(object sender, EventArgs e)
{
Text = "车机与NAS媒体管家 V"+RySoft.VersionStr;
ryCommon.RyFiles.AddDropDrag(TxtMoviePath.Handle).ElevatedDragDrop += ElevatedDragDrop;
ryCommon.RyFiles.AddDropDrag(TxtSubtitlesPath.Handle).ElevatedDragDrop += ElevatedDragDrop;
ryCommon.RyFiles.AddDropDrag(TxtNFOPath.Handle).ElevatedDragDrop += ElevatedDragDrop;
GetListDisk();
CbbDrive.Items.Clear();
foreach (var s in diskList)
{
CbbDrive.Items.Add(s);
}
if (CbbDrive.SelectedIndex == -1 && CbbDrive.Items.Count>0) { CbbDrive.SelectedIndex = 0; }
}
private void ElevatedDragDrop(object sender, ElevatedDragDropArgs e)
{
for (int i = 0; i < e.Files.Count; i++)
{
var path = e.Files[i];
var ext = System.IO.Path.GetExtension(path).ToLower();
if ((";.mp4;.rmvb;.mkv;.avi;").IndexOfEx(";" + ext + ";") >= 0)
{
TxtMoviePath.Text = path;
if (TxtMovieRename.Text.Length == 0)
{
var rename = System.IO.Path.GetFileNameWithoutExtension(path);
rename = rename.Replace(" (1080p x265 EDGE2020)", ".1080p");
rename = rename.Replace("Bones (2005) - ", "识骨寻踪.");
rename = rename.Replace(" - ", ".");
TxtMovieRename.Text = rename;
}
}
else if ((";.ass;.srt;.ssa;.sub;.idx;.vtt;").IndexOfEx(";" + ext + ";") >= 0)
{
TxtSubtitlesPath.Text = path;
}
else if (ext == ".nfo")
{
TxtNFOPath.Text = path;
}
}
}
private void SubtitlesPath_ElevatedDragDrop(object sender, ElevatedDragDropArgs e)
{
}
private void NFOPath_ElevatedDragDrop(object sender, ElevatedDragDropArgs e)
{
}
bool IsRunning = false;
bool IsExit = false;
/// <summary>
/// 是否优先复制krc文件
/// </summary>
bool Priority_Krc = false;
private void BtnCopy_Click(object sender, EventArgs e)
{
if (IsRunning) { IsExit = true; BtnCopy.Text = "停止中"; return; }
if (CbbDrive.SelectedIndex==-1)
{
MessageBox.Show("请先插入可移动设备(U盘、移动硬盘).", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
switch (MessageBox.Show("是否确定要同步?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information))
{
case DialogResult.No:
return;
}
Priority_Krc = ChkPriority_Krc.Checked;
var from_folder = TxtLrcFolder.Text;
string to_folder;
if (TxtToFolder.Text.Length == 0)
{
to_folder = ((Drive_Info)CbbDrive.SelectedItem).Drive + ":\\" + System.IO.Path.GetFileName(TxtLrcFolder.Text);
}
else
{
to_folder = ((Drive_Info)CbbDrive.SelectedItem).Drive + ":\\" + TxtToFolder.Text + "\\" + System.IO.Path.GetFileName(TxtLrcFolder.Text);
}
if(!Directory.Exists(from_folder))
{
MessageBox.Show("原文件夹不存在.", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
ryCommon.RyFiles.CreateDirectory(to_folder);
if (!Directory.Exists(to_folder))
{
MessageBox.Show("同步到的文件夹不存在.", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
IsRunning = true;
BtnCopy.Text = "同步中";
LblState.Text = "状态:正在进行同步..."; LblState.ForeColor = Color.Blue;
Application.DoEvents();
Thread th = new Thread(Start);
th.IsBackground = true;
th.Start();
void Start()
{
SyncFolder(from_folder, to_folder);
this.Invoke(new Action(() =>
{
LblState.Text = "状态:同步完成."; LblState.ForeColor = Color.Blue;
BtnCopy.Text = "同步";
}));
IsRunning = false;
}
}
void SyncFolder(string from_folder,string to_folder)
{
this.Invoke(new Action(() =>
{
LblState.Text = "状态:正在进行同步[" + from_folder + "]...";
}));
try
{
Sync(from_folder);
Sync_Del(to_folder);
}
catch(Exception ex)
{
this.Invoke(new Action(() =>
{
LblState.Text = "状态:同步出错[" + ex.Message + "]...";
}));
}
void Sync(string _folder)
{
var path_item = _folder.Replace(from_folder,"").Trim('\\');
var from_files_list = System.IO.Directory.GetFiles(_folder);
var from_dirs_list = System.IO.Directory.GetDirectories(_folder);
for (int i = 0; i < from_files_list.Length; i++)
{
if (IsExit) { break; }
var item_path = from_files_list[i];
var _path = item_path;
var to_path = (to_folder + "\\" + path_item + "\\" + System.IO.Path.GetFileName(item_path)).Replace("\\\\","\\");
var ext = System.IO.Path.GetExtension(item_path).ToLower();
var filename_noext= System.IO.Path.GetFileNameWithoutExtension(item_path);
this.Invoke(new Action(() =>
{
LblState.Text = "状态:正在进行同步[" + from_folder + "]"+ System.IO.Path.GetFileName(item_path) + "...";
}));
if (ext==".lrc" || ext==".krc")
{
if (Priority_Krc && ext == ".lrc") //如果优先是krc歌词文件而当前是lrc
{
//如果存在krc文件
if(System.IO.File.Exists(System.IO.Path.GetDirectoryName(item_path)+"\\"+ filename_noext+".krc"))
{
_path = System.IO.Path.GetDirectoryName(item_path) + "\\" + filename_noext + ".krc";
to_path= System.IO.Path.GetDirectoryName(to_path) + "\\" + filename_noext + ".krc";
if (System.IO.File.Exists(System.IO.Path.GetDirectoryName(to_path) + "\\" + filename_noext + ext))
{
ryCommon.RyFiles.DeleteFile(System.IO.Path.GetDirectoryName(to_path) + "\\" + filename_noext + ext);
}
}
}
else if (!Priority_Krc && ext == ".krc") //如果优先是lrc歌词文件而当前是krc
{
//如果存在krc文件
if (System.IO.File.Exists(System.IO.Path.GetDirectoryName(item_path) + "\\" + filename_noext + ".lrc"))
{
_path = System.IO.Path.GetDirectoryName(item_path) + "\\" + filename_noext + ".lrc";
to_path = System.IO.Path.GetDirectoryName(to_path) + "\\" + filename_noext + ".lrc";
if (System.IO.File.Exists(System.IO.Path.GetDirectoryName(to_path) + "\\" + filename_noext + ext))
{
ryCommon.RyFiles.DeleteFile(System.IO.Path.GetDirectoryName(to_path) + "\\" + filename_noext + ext);
}
}
}
}
var to_size = ryCommon.RyFiles.GetFileSize(to_path);
var from_size = ryCommon.RyFiles.GetFileSize(_path);
if (to_size != from_size)
{
ryCommon.RyFiles.CreateDirectory(System.IO.Path.GetDirectoryName(to_path));
ryCommon.RyFiles.DeleteFile(to_path);
ryCommon.RyFiles.CopyBigFile(_path, to_path);
}
}
for (int i = 0; i < from_dirs_list.Length; i++)
{
this.Invoke(new Action(() =>
{
LblState.Text = "状态:正在进行同步[" + from_dirs_list[i] + "]...";
}));
Sync(from_dirs_list[i]);
}
}
void Sync_Del(string _folder)
{
var path_item = _folder.Replace(to_folder, "").Trim('\\');
var to_files_list = System.IO.Directory.GetFiles(_folder);
var to_dirs_list = System.IO.Directory.GetDirectories(_folder);
for (int i = 0; i < to_files_list.Length; i++)
{
if (IsExit) { break; }
var from_path = from_folder + "\\" + path_item + "\\" + System.IO.Path.GetFileName(to_files_list[i]);
if(!System.IO.File.Exists(from_path))
{
ryCommon.RyFiles.DeleteFile(to_files_list[i]);
}
}
for (int i = 0; i < to_dirs_list.Length; i++)
{
if (IsExit) { break; }
this.Invoke(new Action(() =>
{
LblState.Text = "状态:正在进行删除多余文件[" + to_dirs_list[i] + "]...";
}));
var from_path = from_folder + "\\" + path_item + "\\" + System.IO.Path.GetFileName(to_dirs_list[i]);
if (!System.IO.Directory.Exists(from_path))
{
ryCommon.RyFiles.DeleteFile(to_dirs_list[i]);
}
else
{
Sync_Del(to_dirs_list[i]);
}
}
}
}
private void ChangedPath()
{
if (CbbDrive.SelectedIndex == -1)
{
LblToPath.Text = "无法进行同步."; LblToPath.ForeColor = Color.Red; return;
}
string to_folder;
if (TxtToFolder.Text.Length == 0)
{
to_folder = ((Drive_Info)CbbDrive.SelectedItem).Drive + ":\\" + System.IO.Path.GetFileName(TxtLrcFolder.Text);
}
else
{
to_folder = ((Drive_Info)CbbDrive.SelectedItem).Drive + ":\\" + TxtToFolder.Text + "\\" + System.IO.Path.GetFileName(TxtLrcFolder.Text);
}
LblToPath.Text = "将同步到 --> " + to_folder; LblToPath.ForeColor = Color.Gray;
}
private void CbbDrive_SelectedIndexChanged(object sender, EventArgs e)
{
ChangedPath();
}
private void TxtToFolder_TextChanged2(object sender, EventArgs e)
{
ChangedPath();
}
private void FrmLrcConvert_FormClosing(object sender, FormClosingEventArgs e)
{
}
private void TxtLrcFolder_TextChanged2(object sender, EventArgs e)
{
ChangedPath();
}
private void BtnNew_Click(object sender, EventArgs e)
{
TxtMoviePath.Text = "";
TxtPreviewRename.Text = "";
TxtMovieRename.Text = "";
TxtSubtitlesPath.Text = "";
TxtNFOPath.Text = "";
}
private void BtnRename_Click(object sender, EventArgs e)
{
var rename = TxtMovieRename.Text;
var movie_path = TxtMoviePath.Text;
var subtitles_path = TxtSubtitlesPath.Text;
var nfo_path = TxtNFOPath.Text;
if(!RyFiles.IsValidFileName(rename))
{
MessageBox.Show("无效的文件名。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (System.IO.File.Exists(movie_path))
{
System.IO.File.Move(movie_path, System.IO.Path.GetDirectoryName(movie_path) +"\\"+ rename + System.IO.Path.GetExtension(movie_path));
}
if (System.IO.File.Exists(subtitles_path))
{
System.IO.File.Move(subtitles_path, System.IO.Path.GetDirectoryName(subtitles_path) + "\\" + rename + ".中文.default" + System.IO.Path.GetExtension(subtitles_path));
}
if (System.IO.File.Exists(nfo_path))
{
System.IO.File.Move(nfo_path, System.IO.Path.GetDirectoryName(nfo_path) + "\\" + rename + System.IO.Path.GetExtension(nfo_path));
}
MessageBox.Show("重命名成功。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void TxtMovieRename_TextChanged2(object sender, EventArgs e)
{
TxtPreviewRename.Text = TxtMovieRename.Text;
}
private void BtnQQMusic_Click(object sender, EventArgs e)
{
ryCommon.RyFiles.OpenFile(@"E:\SysDoc\缓存\QQMusicCache\QQMusicSingerPicture");
}
private void BtnKuwo_Click(object sender, EventArgs e)
{
var searchtext = rySearch1.Text;
var xmllines = RyFiles.ReadAllLines(@"C:\ProgramData\kuwodata\kwmusic2013\Res\cache\DOWNLOAD_LYRIC_PIC\LyricBkConf.xml", Encoding.GetEncoding("gb2312"));
iconViewEx1.Items.Clear();
var folder = @"C:\ProgramData\kuwodata\kwmusic2013\Res\cache\DOWNLOAD_LYRIC_PIC";
var filelist = System.IO.Directory.GetFiles(folder,"*.dat");
if (filelist == null) { return; }
List<ImgInfo> list=new List<ImgInfo>();
for (int i = 0; i < filelist.Length; i++)
{
var file = filelist[i];
var ext = ImgExt.CheckImgFile(file);
if (ext == FileExtension.JPG || ext== FileExtension.BMP || ext== FileExtension.PNG)
{
var filename = System.IO.Path.GetFileName(file);
var singerName = "";
if(xmllines!=null)
{
for (int l = 0; l < xmllines.Length; l++)
{
var line = xmllines[l];
if(line.IndexOfEx("\""+filename+";")>0 || line.IndexOfEx(";" + filename + ";") > 0
|| line.IndexOfEx(";" + filename + "\"") > 0 || line.IndexOfEx("\"" + filename + "\"") > 0)
{
singerName = line.GetStr("Artist=\"", "\"");
break;
}
}
}
if(searchtext.Length>0)
{
if (singerName.IndexOfEx(searchtext) < 0) { continue; }
}
var filedate=RyFiles.GetFileDate(file).LastWriteTime;
var image = RyFiles.LoadPicFromFile(file);
if (image == null) { continue; }
ImgInfo img = new ImgInfo()
{
Image= image,
Text="图"+(i+1),
LastWriteTime=filedate,
FileName= filename,
Singer=singerName,
};
list.Add(img);
}
}
list.Sort((a, b) =>
{
return (a.LastWriteTime<b.LastWriteTime)?1:-1;
});
for (int i = 0; i < list.Count; i++)
{
var img = list[i];
var text = img.Singer;
var fbl = img.Image.Width + "*" + img.Image.Height;
if (img.Image.Width == 1920 && img.Image.Height == 1080)
{ fbl= "1080p"; }
if (text.Length > 0) {
text += "(" + fbl + ")";
}
else { text = fbl; }
ListViewItem item = new ListViewItem(text);
item.Tag = img;
if (fbl != "1080p")
{
item.ForeColor = Color.Red;
}
iconViewEx1.Items.Add(item);
}
}
private void iconViewEx1_MouseDoubleClick(object sender, MouseEventArgs e)
{
if(e.Button!= MouseButtons.Left) { return; }
if (iconViewEx1.SelectedItems.Count == 0) { return; }
if (saveFileDialog1.FileName.Length == 0) { saveFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); }
else
{
saveFileDialog1.InitialDirectory = "";
}
if(saveFileDialog1.ShowDialog()==DialogResult.OK)
{
var path = saveFileDialog1.FileName;
if (System.IO.Path.GetExtension(path).ToLower() != ".jpg") { path += ".jpg"; }
var item =(ImgInfo) iconViewEx1.SelectedItems[0].Tag;
RyFiles.SaveHighQualityImage(item.Image, path);
}
}
private void rySearch1_OnSearch(object sender, EventArgs e)
{
BtnKuwo.PerformClick();
}
}
/// <summary>
/// 图片信息
/// </summary>
public class ImgInfo : ryControls.Interface.IItemInfo
{
/// <summary>
/// 歌手名称
/// </summary>
public string Singer { get; set; }
/// <summary>
/// 文件名
/// </summary>
public string FileName { get; set; }
/// <summary>
/// 最后修改时间
/// </summary>
public DateTime LastWriteTime { get; set; }
/// <summary>
/// 图标
/// </summary>
public Image Image { get; set; }
/// <summary>
/// 角标序号
/// </summary>
public int BadgeImageIndex { get; set; } = -1;
/// <summary>
/// 服务器文件名
/// </summary>
public string Text { get; set; } = "";
}
public class MusicInfo
{
/// <summary>
/// 写真文件夹
/// </summary>
public string SingerFolder { get; set; }
/// <summary>
/// 歌曲路径
/// </summary>
public string SongPath { get; set; }
/// <summary>
/// 歌词路径
/// </summary>
public string LrcPath { get; set; }
}
public class Drive_Info
{
/// <summary>
/// 盘符
/// </summary>
public string Drive { get; set; }
/// <summary>
/// 卷标名
/// </summary>
public string VolumeName { get; set; }
public override string ToString()
{
return Drive+":\\("+ VolumeName + ")";
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,93 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CarSongManage
{
class ImgExt
{
public static FileExtension CheckImgFile(string fileName)
{
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
System.IO.BinaryReader br = new System.IO.BinaryReader(fs);
string fileType = string.Empty;
FileExtension extension;
try
{
byte data = br.ReadByte();
fileType += data.ToString();
data = br.ReadByte();
fileType += data.ToString();
try
{
extension = (FileExtension)Enum.Parse(typeof(FileExtension), fileType);
}
catch
{
extension = FileExtension.VALIDFILE;
}
}
catch
{
extension = FileExtension.VALIDFILE;
}
finally
{
if (fs != null)
{
fs.Close();
br.Close();
}
}
return extension;
}
}
public enum FileExtension
{
JPG = 255216,
GIF = 7173,
PNG = 13780,
SWF = 6787,
RAR = 8297,
ZIP = 8075,
_7Z = 55122,
WebP = 8273,
BMP = 6677,
VALIDFILE = 9999999
// 255216 jpg;
// 7173 gif;
// 6677 bmp,
// 13780 png;
// 6787 swf
// 7790 exe dll,
// 8297 rar
// 8075 zip
// 55122 7z
// 6063 xml
// 6033 html
// 239187 aspx
// 117115 cs
// 119105 js
// 102100 txt
// 255254 sql
}
}

View File

@ -0,0 +1,111 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace CarSongManage
{
public class Lrc
{
/// <summary>
/// 歌曲
/// </summary>
public string Title { get; set; }
/// <summary>
/// 艺术家
/// </summary>
public string Artist { get; set; }
/// <summary>
/// 专辑
/// </summary>
public string Album { get; set; }
/// <summary>
/// 歌词作者
/// </summary>
public string LrcBy { get; set; }
/// <summary>
/// 偏移量
/// </summary>
public string Offset { get; set; }
/// <summary>
/// 歌词
/// </summary>
public Dictionary<double, string> LrcWord = new Dictionary<double, string>();
/// <summary>
/// 获得歌词信息
/// </summary>
/// <param name="LrcPath">歌词路径</param>
/// <returns>返回歌词信息(Lrc实例)</returns>
public static Lrc InitLrc(string LrcPath)
{
Lrc lrc = new Lrc();
Dictionary<double, string> dicword = new Dictionary<double, string>();
using (FileStream fs = new FileStream(LrcPath, FileMode.Open, FileAccess.Read, FileShare.Read))
{
string line;
using (StreamReader sr = new StreamReader(fs, Encoding.UTF8))
{
while ((line = sr.ReadLine()) != null)
{
if (line.StartsWith("[ti:"))
{
lrc.Title = SplitInfo(line);
}
else if (line.StartsWith("[ar:"))
{
lrc.Artist = SplitInfo(line);
}
else if (line.StartsWith("[al:"))
{
lrc.Album = SplitInfo(line);
}
else if (line.StartsWith("[by:"))
{
lrc.LrcBy = SplitInfo(line);
}
else if (line.StartsWith("[offset:"))
{
lrc.Offset = SplitInfo(line);
}
else
{
try
{
Regex regexword = new Regex(@".*\](.*)");
Match mcw = regexword.Match(line);
string word = mcw.Groups[1].Value;
Regex regextime = new Regex(@"\[([0-9.:]*)\]", RegexOptions.Compiled);
MatchCollection mct = regextime.Matches(line);
foreach (Match item in mct)
{
double time = TimeSpan.Parse("00:" + item.Groups[1].Value).TotalSeconds;
dicword.Add(time, word);
}
}
catch
{
continue;
}
}
}
}
}
lrc.LrcWord = dicword.OrderBy(t => t.Key).ToDictionary(t => t.Key, p => p.Value);
return lrc;
}
/// <summary>
/// 处理信息(私有方法)
/// </summary>
/// <param name="line"></param>
/// <returns>返回基础信息</returns>
static string SplitInfo(string line)
{
return line.Substring(line.IndexOf(":") + 1).TrimEnd(']');
}
}
}

View File

@ -0,0 +1,35 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace CarSongManage
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
Application.ThreadException += Application_ThreadException;
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FrmLrcConvert());
}
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
Exception ex = e.ExceptionObject as Exception;
MessageBox.Show(string.Format("捕获到未处理异常:{0}\r\n异常信息{1}\r\n异常堆栈{2}\r\nCLR即将退出{3}", ex.GetType(), ex.Message, ex.StackTrace, e.IsTerminating));
//ryCommon.RyFiles.WriteAllText(Application.StartupPath + "\\错误.txt", DateTime.Now.ToString() + "\r\n\r\n错误描述:" + ex.Message + "\r\n\r\n异常堆栈" + ex.StackTrace + "\r\n\r\n异常方法" + ex.TargetSite, Encoding.UTF8);
}
static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
{
Exception ex = e.Exception;
MessageBox.Show(string.Format("捕获到未处理异常:{0}\r\n异常信息{1}\r\n异常堆栈{2}", ex.GetType(), ex.Message, ex.StackTrace));
//ryCommon.RyFiles.WriteAllText(Application.StartupPath + "\\线程错误.txt",DateTime.Now.ToString()+ "\r\n\r\n错误描述:" + ex.Message + "\r\n\r\n异常堆栈" + ex.StackTrace + "\r\n\r\n异常方法" + ex.TargetSite, Encoding.UTF8);
}
}
}

View File

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

View File

@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace CarSongManage.Properties {
using System;
/// <summary>
/// 一个强类型的资源类,用于查找本地化的字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.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 (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CarSongManage.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,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace CarSongManage.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.2.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>

View File

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/></startup></configuration>

View File

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC 清单选项
如果想要更改 Windows 用户帐户控制级别,请使用
以下节点之一替换 requestedExecutionLevel 节点。n
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
指定 requestedExecutionLevel 元素将禁用文件和注册表虚拟化。
如果你的应用程序需要此虚拟化来实现向后兼容性,则删除此
元素。
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- 设计此应用程序与其一起工作且已针对此应用程序进行测试的
Windows 版本的列表。取消评论适当的元素,
Windows 将自动选择最兼容的环境。 -->
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<!-- Windows 7 -->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<!-- Windows 10 -->
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
</application>
</compatibility>
<!-- 指示该应用程序可感知 DPI 且 Windows 在 DPI 较高时将不会对其进行
自动缩放。Windows Presentation Foundation (WPF)应用程序自动感知 DPI无需
选择加入。选择加入此设置的 Windows 窗体应用程序(面向 .NET Framework 4.6)还应
在其 app.config 中将 "EnableWindowsFormsHighDpiAutoResizing" 设置设置为 "true"。
将应用程序设为感知长路径。请参阅 https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation -->
<!--
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
</windowsSettings>
</application>
-->
<!-- 启用 Windows 公共控件和对话框的主题(Windows XP 和更高版本) -->
<!--
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
-->
</assembly>

View File

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/></startup></configuration>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

6
查看项目.ryp Normal file
View File

@ -0,0 +1,6 @@
[project]
name=车机与NAS媒体管家
engname=CarSongManage
usqver=3
proglang=c#
progID=42cbdcc6-fd8c-4dff-8027-f39da69c98a7