### 2021-09-07更新

------

#### VSoft    V1.0.2109.0701
- *.[新增]新增支持设置软件全局快捷键。
This commit is contained in:
鑫Intel 2021-09-07 17:29:41 +08:00
parent 64e190aa7b
commit 150b39ca18
37 changed files with 7349 additions and 944 deletions

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,5 +1,5 @@
[VSoft] [VSoft]
hwnd=1775930 hwnd=1446336
width=745 width=745
height=543 height=543
[VSoft_Test] [VSoft_Test]

Binary file not shown.

Binary file not shown.

View File

@ -1,3 +1,3 @@
<root> <root>
<list id="LastUpdateTime" Value="2021/7/5 21:41:10" /> <list id="LastUpdateTime" Value="2021/9/7 13:56:03" />
</root> </root>

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -1,4 +1,9 @@
### 2021-07-05更新 ### 2021-09-07更新
------
#### VSoft V1.0.2109.0701
- *.[新增]新增支持设置软件全局快捷键。
### 2021-07-05更新
------ ------
#### VSoft V1.0.2107.0501 #### VSoft V1.0.2107.0501
- *.[新增]新增适配原生64位系统。 - *.[新增]新增适配原生64位系统。

Binary file not shown.

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

Binary file not shown.

View File

@ -8,19 +8,21 @@
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<RootNamespace>DyLine</RootNamespace> <RootNamespace>DyLine</RootNamespace>
<AssemblyName>DyLine</AssemblyName> <AssemblyName>DyLine</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic> <Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<OutputPath>..\..\Bin\Debug\VSoft\</OutputPath> <OutputPath>..\..\Bin\Debug\VSoft\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE;DY</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
@ -30,6 +32,7 @@
<DefineConstants>TRACE</DefineConstants> <DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="System" /> <Reference Include="System" />
@ -45,18 +48,9 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="clsMsg.cs" /> <Compile Include="clsMsg.cs" />
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" /> <Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ryMemoryShare.cs" /> <Compile Include="ryMemoryShare.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx"> <EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator> <Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput> <LastGenOutput>Resources.Designer.cs</LastGenOutput>
@ -65,7 +59,9 @@
<Compile Include="Properties\Resources.Designer.cs"> <Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen> <AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon> <DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile> </Compile>
<None Include="app.config" />
<None Include="Properties\Settings.settings"> <None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator> <Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput> <LastGenOutput>Settings.Designer.cs</LastGenOutput>

View File

@ -1,48 +0,0 @@

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

View File

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

View File

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

View File

@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("DyLine")] [assembly: AssemblyProduct("DyLine")]
[assembly: AssemblyCopyright("Copyright © 2020")] [assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示: //通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyVersion("2.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyFileVersion("2.0.0.0")]

View File

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

View File

@ -1,29 +1,26 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // 此代码由工具生成。
// Runtime Version:4.0.30319.42000 // 运行时版本:4.0.30319.42000
// //
// Changes to this file may cause incorrect behavior and will be lost if // 对此文件的更改可能会导致不正确的行为,并且如果
// the code is regenerated. // 重新生成代码,这些更改将会丢失。
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace DyLine.Properties {
namespace DyLine.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.2.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
public static Settings Default get {
{ return defaultInstance;
get }
{ }
return defaultInstance; }
} }
}
}
}

3
Source/DyLine/app.config Normal file
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>

29
Source/VSoftBox/Init.cs Normal file
View File

@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using VSoft.Config;
namespace VSoftBox
{
class Init
{
static System.Threading.Mutex run;
public static void Show(string[] args)
{
Soft_Info.UserDataFolder = ryCommon.RyFiles.GetRealPath(Soft_Info.UserDataFolder);
run = new System.Threading.Mutex(true, Soft_Info.Soft_Id, out bool runone);
if (!runone) //已经运行了
{
ryCommon.Ini ini = new ryCommon.Ini(Soft_Info.UserDataFolder + "\\Win.dat");
ryControls.Win32.SendMessage((IntPtr)ini.ReadIni(Soft_Info.Soft_Id, "hwnd", 0), 17189, 100, 100);
}
else
{
Application.Run(new VSoft.FrmVSoft(args));
//Application.Run(new WindowsFormsApp2.Form1());
}
}
}
}

View File

@ -18,7 +18,6 @@ namespace VSoftBox
static string ProcessPath; static string ProcessPath;
#endif #endif
static System.Threading.Mutex run;
/// <summary> /// <summary>
/// 应用程序的主入口点。 /// 应用程序的主入口点。
/// </summary> /// </summary>
@ -31,22 +30,12 @@ namespace VSoftBox
{ {
ProcessPath = Application.StartupPath.Substring(0, Application.StartupPath.Length - sub_dir.Length); ProcessPath = Application.StartupPath.Substring(0, Application.StartupPath.Length - sub_dir.Length);
AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve; AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
Soft_Info.UserDataFolder = ProcessPath+"\\UserDb\\VSoft";
} }
#endif #endif
Application.EnableVisualStyles(); Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Application.SetCompatibleTextRenderingDefault(false);
Soft_Info.UserDataFolder = ryCommon.RyFiles.GetRealPath(Soft_Info.UserDataFolder); Init.Show(args);
run = new System.Threading.Mutex(true, Soft_Info.Soft_Id, out bool runone);
if (!runone) //已经运行了
{
ryCommon.Ini ini = new ryCommon.Ini(Soft_Info.UserDataFolder + "\\Win.dat");
ryControls.Win32.SendMessage((IntPtr)ini.ReadIni(Soft_Info.Soft_Id, "hwnd", 0), 17189, 100, 100);
}
else
{
Application.Run(new VSoft.FrmVSoft(args));
//Application.Run(new WindowsFormsApp2.Form1());
}
} }
#if DY #if DY
static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)

View File

@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示: //通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.2107.0501")] [assembly: AssemblyVersion("1.0.2109.0701")]
[assembly: AssemblyFileVersion("1.0.2107.0501")] [assembly: AssemblyFileVersion("1.0.2109.0701")]

View File

@ -18,7 +18,7 @@
<DebugType>full</DebugType> <DebugType>full</DebugType>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<OutputPath>..\..\Bin\Debug\VSoft\</OutputPath> <OutputPath>..\..\Bin\Debug\VSoft\</OutputPath>
<DefineConstants>TRACE;DEBUG</DefineConstants> <DefineConstants>TRACE;DEBUG;DY</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
@ -55,6 +55,7 @@
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Init.cs" />
<Compile Include="Program.cs" /> <Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Properties\Resources.resx"> <EmbeddedResource Include="Properties\Resources.resx">

View File

@ -39,6 +39,13 @@ namespace VSoft.Config
/// 启动软件后隐藏自身 /// 启动软件后隐藏自身
/// </summary> /// </summary>
public static bool HideAfterRun = true; public static bool HideAfterRun = true;
/// <summary>
/// 当前软件加载的热键列表
/// </summary>
public static List<HotKeyItem> HotKeyList = new List<HotKeyItem>();
/// <summary>
/// 获取设置
/// </summary>
public static void LoadSetting() public static void LoadSetting()
{ {
ryCommon.Storage Stor = new Storage(); ryCommon.Storage Stor = new Storage();
@ -51,5 +58,69 @@ namespace VSoft.Config
ShowMainMouseKey = Stor.GetAttrValue("ShowMainMouseKey", 0); ShowMainMouseKey = Stor.GetAttrValue("ShowMainMouseKey", 0);
//low_count = Stor.GetAttrValue("LowCount", 10); //low_count = Stor.GetAttrValue("LowCount", 10);
} }
/// <summary>
/// 设置热键到列表中
/// </summary>
/// <param name="id"></param>
/// <param name="name"></param>
/// <param name="hotkey"></param>
/// <returns>返回热键在列表中的位置</returns>
public static int SetHotKeyList(string id,string name,string hotkey)
{
var index= HotKeyList.FindIndex(a => a.ID == id);
if(index!=-1)
{
HotKeyList[index].Name = name;
HotKeyList[index].HotKey = hotkey;
return index;
}
else
{
HotKeyList.Add(new HotKeyItem() { ID=id, Name=name, HotKey=hotkey });
return HotKeyList.Count - 1;
}
}
/// <summary>
/// 从列表中删除热键
/// </summary>
/// <param name="id"></param>
/// <returns>返回热键在原来列表中的位置</returns>
public static int RemoveHotKeyList(string id)
{
var index = HotKeyList.FindIndex(a => a.ID == id);
if (index != -1)
{
HotKeyList.RemoveAt(index);
}
return index;
}
/// <summary>
/// 在列表中查找热键是否已存在
/// </summary>
/// <param name="hotkey"></param>
/// <returns>返回热键在原来列表中的位置</returns>
public static int IsHotKeyExistInList(string hotkey)
{
var index = HotKeyList.FindIndex(a => a.HotKey == hotkey);
return index;
}
}
public class HotKeyItem
{
/// <summary>
/// ID
/// </summary>
public string ID { get; set; } = "";
/// <summary>
/// 热键名称
/// </summary>
public string Name { get; set; } = "";
/// <summary>
/// 热键
/// </summary>
public string HotKey { get; set; } = "";
} }
} }

View File

@ -1,4 +1,5 @@
using ryCommon; using ryCommon;
using ryCommonDb;
using ryControls; using ryControls;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -8,6 +9,7 @@ using System.Drawing;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Windows.Forms; using System.Windows.Forms;
using VSoft.Prams;
namespace VSoft.Config namespace VSoft.Config
{ {
@ -29,6 +31,26 @@ namespace VSoft.Config
private void BtnOK_Click(object sender, EventArgs e) private void BtnOK_Click(object sender, EventArgs e)
{ {
if (hotkeyTextBox1.HaveHotKey)
{
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.SQLConnStr) == 1)
{
var ds = db.ReadData("select * from Softs where Hotkey='" + hotkeyTextBox1.HotKey + "' limit 1");
if (ds.HaveData())
{
Msg.ShowMsg("当前热键已经存在,请更换热键。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
ds.Dispose(); return;
}
ds.Dispose();
}
db.Free();
Config.Soft_Config.SetHotKeyList("showmain", "显示主界面", hotkeyTextBox1.HotKey);
}
else
{
Config.Soft_Config.RemoveHotKeyList("showmain");
}
mySetting.Save(); mySetting.Save();
ryCommon.RyRegedit.RegRoot = Microsoft.Win32.RegistryHive.CurrentUser; ryCommon.RyRegedit.RegRoot = Microsoft.Win32.RegistryHive.CurrentUser;
ryCommon.RyRegedit.SetAutoRun(ChkAutoRun.Checked, Soft_Info.Soft_Id, "\"" + Application.ExecutablePath.Replace("/","\\") + "\" "+ Soft_Info.Soft_Pram); ryCommon.RyRegedit.SetAutoRun(ChkAutoRun.Checked, Soft_Info.Soft_Id, "\"" + Application.ExecutablePath.Replace("/","\\") + "\" "+ Soft_Info.Soft_Pram);

View File

@ -28,394 +28,417 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmAddSoft)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmAddSoft));
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.contextMenuStrip1 = 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.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.of_File = new System.Windows.Forms.OpenFileDialog(); this.of_File = new System.Windows.Forms.OpenFileDialog();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.TxtCmdId = new ryControls.TextBoxEx2(); this.TxtCmdId = new ryControls.TextBoxEx2();
this.label6 = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label();
this.LblCustomImg = new System.Windows.Forms.Label(); this.LblCustomImg = new System.Windows.Forms.Label();
this.TxtDes = new ryControls.TextBoxEx2(); this.TxtDes = new ryControls.TextBoxEx2();
this.label4 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label();
this.chromeTabControl1 = new ryControls.ChromeTabControl(); this.chromeTabControl1 = new ryControls.ChromeTabControl();
this.tabPage1 = new System.Windows.Forms.TabPage(); this.tabPage1 = new System.Windows.Forms.TabPage();
this.ChkRunAsAdmin = new System.Windows.Forms.CheckBox(); this.label7 = new System.Windows.Forms.Label();
this.BtnBrowser = new ryControls.ButtonEx(); this.hotkeyTextBox1 = new ryControls.HotkeyTextBox();
this.TxtStartPath = new ryControls.TextBoxEx2(); this.ChkRunAsAdmin = new System.Windows.Forms.CheckBox();
this.label5 = new System.Windows.Forms.Label(); this.BtnBrowser = new ryControls.ButtonEx();
this.TxtPath = new ryControls.TextBoxEx2(); this.TxtStartPath = new ryControls.TextBoxEx2();
this.label2 = new System.Windows.Forms.Label(); this.label5 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label(); this.TxtPath = new ryControls.TextBoxEx2();
this.TxtRunPram = new ryControls.TextBoxEx2(); this.label2 = new System.Windows.Forms.Label();
this.BtnCancel = new ryControls.ButtonEx(); this.label3 = new System.Windows.Forms.Label();
this.BtnOK = new ryControls.ButtonEx(); this.TxtRunPram = new ryControls.TextBoxEx2();
this.PicImg = new System.Windows.Forms.PictureBox(); this.BtnCancel = new ryControls.ButtonEx();
this.label1 = new System.Windows.Forms.Label(); this.BtnOK = new ryControls.ButtonEx();
this.TxtName = new ryControls.TextBoxEx2(); this.PicImg = new System.Windows.Forms.PictureBox();
this.contextMenuStrip1.SuspendLayout(); this.label1 = new System.Windows.Forms.Label();
this.chromeTabControl1.SuspendLayout(); this.TxtName = new ryControls.TextBoxEx2();
this.tabPage1.SuspendLayout(); this.contextMenuStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.PicImg)).BeginInit(); this.chromeTabControl1.SuspendLayout();
this.SuspendLayout(); this.tabPage1.SuspendLayout();
// ((System.ComponentModel.ISupportInitialize)(this.PicImg)).BeginInit();
// contextMenuStrip1 this.SuspendLayout();
// //
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { // contextMenuStrip1
this.ToolStripMenuItem, //
this.使ToolStripMenuItem}); this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.contextMenuStrip1.Name = "contextMenuStrip1"; this.ToolStripMenuItem,
this.contextMenuStrip1.Size = new System.Drawing.Size(173, 48); this.使ToolStripMenuItem});
// this.contextMenuStrip1.Name = "contextMenuStrip1";
// 选择图标ToolStripMenuItem this.contextMenuStrip1.Size = new System.Drawing.Size(173, 48);
// //
this.ToolStripMenuItem.Name = "选择图标ToolStripMenuItem"; // 选择图标ToolStripMenuItem
this.ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); //
this.ToolStripMenuItem.Text = "选择自定义图标"; this.ToolStripMenuItem.Name = "选择图标ToolStripMenuItem";
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click); this.ToolStripMenuItem.Size = new System.Drawing.Size(172, 22);
// this.ToolStripMenuItem.Text = "选择自定义图标";
// 使用应用图标ToolStripMenuItem this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
// //
this.使ToolStripMenuItem.Name = "使用应用图标ToolStripMenuItem"; // 使用应用图标ToolStripMenuItem
this.使ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); //
this.使ToolStripMenuItem.Text = "使用当前应用图标"; this.使ToolStripMenuItem.Name = "使用应用图标ToolStripMenuItem";
this.使ToolStripMenuItem.Click += new System.EventHandler(this.使ToolStripMenuItem_Click); this.使ToolStripMenuItem.Size = new System.Drawing.Size(172, 22);
// this.使ToolStripMenuItem.Text = "使用当前应用图标";
// openFileDialog1 this.使ToolStripMenuItem.Click += new System.EventHandler(this.使ToolStripMenuItem_Click);
// //
this.openFileDialog1.Filter = "图片文件|*.jpg;*.gif;*.bmp;*.png;*.jpeg;*.ico|应用程序|*.exe"; // openFileDialog1
// //
// of_File this.openFileDialog1.Filter = "图片文件|*.jpg;*.gif;*.bmp;*.png;*.jpeg;*.ico|应用程序|*.exe";
// //
this.of_File.Filter = "所有文件|*.*"; // of_File
// //
// TxtCmdId this.of_File.Filter = "所有文件|*.*";
// //
this.TxtCmdId.BackColor = System.Drawing.Color.White; // TxtCmdId
this.TxtCmdId.EmptyText = "默认为空"; //
this.TxtCmdId.Location = new System.Drawing.Point(310, 35); this.TxtCmdId.BackColor = System.Drawing.Color.White;
this.TxtCmdId.MaxLength = 999999999; this.TxtCmdId.EmptyText = "默认为空";
this.TxtCmdId.Multiline = false; this.TxtCmdId.Location = new System.Drawing.Point(310, 35);
this.TxtCmdId.Name = "TxtCmdId"; this.TxtCmdId.MaxLength = 999999999;
this.TxtCmdId.OnlyNumeric = false; this.TxtCmdId.Multiline = false;
this.TxtCmdId.PasswordChar = '\0'; this.TxtCmdId.Name = "TxtCmdId";
this.TxtCmdId.ReadOnly = false; this.TxtCmdId.OnlyNumeric = false;
this.TxtCmdId.SelectedText = ""; this.TxtCmdId.PasswordChar = '\0';
this.TxtCmdId.SelectionLength = 0; this.TxtCmdId.ReadOnly = false;
this.TxtCmdId.SelectionStart = 0; this.TxtCmdId.SelectedText = "";
this.TxtCmdId.Size = new System.Drawing.Size(133, 22); this.TxtCmdId.SelectionLength = 0;
this.TxtCmdId.TabIndex = 14; this.TxtCmdId.SelectionStart = 0;
this.TxtCmdId.TextAlign = System.Windows.Forms.HorizontalAlignment.Left; this.TxtCmdId.Size = new System.Drawing.Size(133, 22);
this.TxtCmdId.ToolTip = "当输入了唯一命令ID后用户可以根据该ID来运行当前软件\r\n或执行当前命令。\r\n\r\n*.命令ID只支持英文和数字字符"; this.TxtCmdId.TabIndex = 14;
this.TxtCmdId.WordWrap = true; this.TxtCmdId.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
// this.TxtCmdId.ToolTip = "当输入了唯一命令ID后用户可以根据该ID来运行当前软件\r\n或执行当前命令。\r\n\r\n*.命令ID只支持英文和数字字符";
// label6 this.TxtCmdId.WordWrap = true;
// //
this.label6.AutoSize = true; // label6
this.label6.Location = new System.Drawing.Point(239, 39); //
this.label6.Name = "label6"; this.label6.AutoSize = true;
this.label6.Size = new System.Drawing.Size(65, 12); this.label6.Location = new System.Drawing.Point(239, 39);
this.label6.TabIndex = 13; this.label6.Name = "label6";
this.label6.Text = "唯一命令ID"; this.label6.Size = new System.Drawing.Size(65, 12);
// this.label6.TabIndex = 13;
// LblCustomImg this.label6.Text = "唯一命令ID";
// //
this.LblCustomImg.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); // LblCustomImg
this.LblCustomImg.BackColor = System.Drawing.Color.Transparent; //
this.LblCustomImg.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.LblCustomImg.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.LblCustomImg.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.LblCustomImg.BackColor = System.Drawing.Color.Transparent;
this.LblCustomImg.ForeColor = System.Drawing.Color.DodgerBlue; this.LblCustomImg.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.LblCustomImg.Location = new System.Drawing.Point(448, 125); this.LblCustomImg.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.LblCustomImg.Name = "LblCustomImg"; this.LblCustomImg.ForeColor = System.Drawing.Color.DodgerBlue;
this.LblCustomImg.Size = new System.Drawing.Size(86, 18); this.LblCustomImg.Location = new System.Drawing.Point(576, 125);
this.LblCustomImg.TabIndex = 12; this.LblCustomImg.Name = "LblCustomImg";
this.LblCustomImg.Text = "自动获取"; this.LblCustomImg.Size = new System.Drawing.Size(86, 18);
this.LblCustomImg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.LblCustomImg.TabIndex = 12;
// this.LblCustomImg.Text = "自动获取";
// TxtDes this.LblCustomImg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
this.TxtDes.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) // TxtDes
| System.Windows.Forms.AnchorStyles.Right))); //
this.TxtDes.BackColor = System.Drawing.Color.White; this.TxtDes.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
this.TxtDes.EmptyText = ""; | System.Windows.Forms.AnchorStyles.Right)));
this.TxtDes.Location = new System.Drawing.Point(57, 65); this.TxtDes.BackColor = System.Drawing.Color.White;
this.TxtDes.MaxLength = 999999999; this.TxtDes.EmptyText = "";
this.TxtDes.Multiline = true; this.TxtDes.Location = new System.Drawing.Point(57, 65);
this.TxtDes.Name = "TxtDes"; this.TxtDes.MaxLength = 999999999;
this.TxtDes.OnlyNumeric = false; this.TxtDes.Multiline = true;
this.TxtDes.PasswordChar = '\0'; this.TxtDes.Name = "TxtDes";
this.TxtDes.ReadOnly = false; this.TxtDes.OnlyNumeric = false;
this.TxtDes.SelectedText = ""; this.TxtDes.PasswordChar = '\0';
this.TxtDes.SelectionLength = 0; this.TxtDes.ReadOnly = false;
this.TxtDes.SelectionStart = 0; this.TxtDes.SelectedText = "";
this.TxtDes.Size = new System.Drawing.Size(385, 80); this.TxtDes.SelectionLength = 0;
this.TxtDes.TabIndex = 11; this.TxtDes.SelectionStart = 0;
this.TxtDes.TextAlign = System.Windows.Forms.HorizontalAlignment.Left; this.TxtDes.Size = new System.Drawing.Size(513, 80);
this.TxtDes.ToolTip = ""; this.TxtDes.TabIndex = 11;
this.TxtDes.WordWrap = true; this.TxtDes.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
// this.TxtDes.ToolTip = "";
// label4 this.TxtDes.WordWrap = true;
// //
this.label4.AutoSize = true; // label4
this.label4.Location = new System.Drawing.Point(12, 65); //
this.label4.Name = "label4"; this.label4.AutoSize = true;
this.label4.Size = new System.Drawing.Size(29, 12); this.label4.Location = new System.Drawing.Point(12, 65);
this.label4.TabIndex = 10; this.label4.Name = "label4";
this.label4.Text = "备注"; this.label4.Size = new System.Drawing.Size(29, 12);
// this.label4.TabIndex = 10;
// chromeTabControl1 this.label4.Text = "备注";
// //
this.chromeTabControl1.AllowDragTab = false; // chromeTabControl1
this.chromeTabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) //
| System.Windows.Forms.AnchorStyles.Left) this.chromeTabControl1.AllowDragTab = false;
| System.Windows.Forms.AnchorStyles.Right))); this.chromeTabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
this.chromeTabControl1.BackTabPageImage = null; | System.Windows.Forms.AnchorStyles.Left)
this.chromeTabControl1.Controls.Add(this.tabPage1); | System.Windows.Forms.AnchorStyles.Right)));
this.chromeTabControl1.Cursor = System.Windows.Forms.Cursors.Default; this.chromeTabControl1.BackTabPageImage = null;
this.chromeTabControl1.ItemSize = new System.Drawing.Size(100, 25); this.chromeTabControl1.Controls.Add(this.tabPage1);
this.chromeTabControl1.Location = new System.Drawing.Point(12, 155); this.chromeTabControl1.Cursor = System.Windows.Forms.Cursors.Default;
this.chromeTabControl1.Name = "chromeTabControl1"; this.chromeTabControl1.ItemSize = new System.Drawing.Size(100, 25);
this.chromeTabControl1.SelectedIndex = 0; this.chromeTabControl1.Location = new System.Drawing.Point(12, 155);
this.chromeTabControl1.ShowAddButton = false; this.chromeTabControl1.Name = "chromeTabControl1";
this.chromeTabControl1.ShowCloseButton = false; this.chromeTabControl1.SelectedIndex = 0;
this.chromeTabControl1.Size = new System.Drawing.Size(522, 306); this.chromeTabControl1.ShowAddButton = false;
this.chromeTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed; this.chromeTabControl1.ShowCloseButton = false;
this.chromeTabControl1.TabContextMenuStrip = null; this.chromeTabControl1.Size = new System.Drawing.Size(650, 415);
this.chromeTabControl1.TabIndex = 9; this.chromeTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
this.chromeTabControl1.TabMaxWidth = 100; this.chromeTabControl1.TabContextMenuStrip = null;
// this.chromeTabControl1.TabIndex = 9;
// tabPage1 this.chromeTabControl1.TabMaxWidth = 100;
// //
this.tabPage1.Controls.Add(this.ChkRunAsAdmin); // tabPage1
this.tabPage1.Controls.Add(this.BtnBrowser); //
this.tabPage1.Controls.Add(this.TxtStartPath); this.tabPage1.Controls.Add(this.label7);
this.tabPage1.Controls.Add(this.label5); this.tabPage1.Controls.Add(this.hotkeyTextBox1);
this.tabPage1.Controls.Add(this.TxtPath); this.tabPage1.Controls.Add(this.ChkRunAsAdmin);
this.tabPage1.Controls.Add(this.label2); this.tabPage1.Controls.Add(this.BtnBrowser);
this.tabPage1.Controls.Add(this.label3); this.tabPage1.Controls.Add(this.TxtStartPath);
this.tabPage1.Controls.Add(this.TxtRunPram); this.tabPage1.Controls.Add(this.label5);
this.tabPage1.Location = new System.Drawing.Point(1, 29); this.tabPage1.Controls.Add(this.TxtPath);
this.tabPage1.Name = "tabPage1"; this.tabPage1.Controls.Add(this.label2);
this.tabPage1.Padding = new System.Windows.Forms.Padding(3); this.tabPage1.Controls.Add(this.label3);
this.tabPage1.Size = new System.Drawing.Size(520, 276); this.tabPage1.Controls.Add(this.TxtRunPram);
this.tabPage1.TabIndex = 0; this.tabPage1.Location = new System.Drawing.Point(1, 29);
this.tabPage1.Text = "运行"; this.tabPage1.Name = "tabPage1";
this.tabPage1.UseVisualStyleBackColor = true; this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
// this.tabPage1.Size = new System.Drawing.Size(648, 385);
// ChkRunAsAdmin this.tabPage1.TabIndex = 0;
// this.tabPage1.Text = "运行";
this.ChkRunAsAdmin.AutoSize = true; this.tabPage1.UseVisualStyleBackColor = true;
this.ChkRunAsAdmin.Location = new System.Drawing.Point(8, 131); //
this.ChkRunAsAdmin.Name = "ChkRunAsAdmin"; // label7
this.ChkRunAsAdmin.Size = new System.Drawing.Size(144, 16); //
this.ChkRunAsAdmin.TabIndex = 9; this.label7.AutoSize = true;
this.ChkRunAsAdmin.Text = "强制以管理员方式启动"; this.label7.Location = new System.Drawing.Point(6, 153);
this.ChkRunAsAdmin.UseVisualStyleBackColor = true; this.label7.Name = "label7";
// this.label7.Size = new System.Drawing.Size(53, 12);
// BtnBrowser this.label7.TabIndex = 11;
// this.label7.Text = "运行热键";
this.BtnBrowser.BaseColor = System.Drawing.Color.DarkGreen; //
this.BtnBrowser.ColorGradient = true; // hotkeyTextBox1
this.BtnBrowser.Location = new System.Drawing.Point(463, 20); //
this.BtnBrowser.Name = "BtnBrowser"; this.hotkeyTextBox1.BackColor = System.Drawing.Color.White;
this.BtnBrowser.Size = new System.Drawing.Size(33, 27); this.hotkeyTextBox1.HotKey = "0+0";
this.BtnBrowser.TabIndex = 8; this.hotkeyTextBox1.Location = new System.Drawing.Point(8, 168);
this.BtnBrowser.Text = "..."; this.hotkeyTextBox1.Name = "hotkeyTextBox1";
this.BtnBrowser.UseVisualStyleBackColor = true; this.hotkeyTextBox1.Size = new System.Drawing.Size(244, 26);
this.BtnBrowser.Click += new System.EventHandler(this.BtnBrowser_Click); this.hotkeyTextBox1.T_Key = System.Windows.Forms.Keys.None;
// this.hotkeyTextBox1.T_Modifiers = 0;
// TxtStartPath this.hotkeyTextBox1.TabIndex = 10;
// //
this.TxtStartPath.BackColor = System.Drawing.Color.White; // ChkRunAsAdmin
this.TxtStartPath.EmptyText = "留空则表示使用默认设置"; //
this.TxtStartPath.Location = new System.Drawing.Point(8, 103); this.ChkRunAsAdmin.AutoSize = true;
this.TxtStartPath.MaxLength = 999999999; this.ChkRunAsAdmin.Location = new System.Drawing.Point(8, 131);
this.TxtStartPath.Multiline = false; this.ChkRunAsAdmin.Name = "ChkRunAsAdmin";
this.TxtStartPath.Name = "TxtStartPath"; this.ChkRunAsAdmin.Size = new System.Drawing.Size(144, 16);
this.TxtStartPath.OnlyNumeric = false; this.ChkRunAsAdmin.TabIndex = 9;
this.TxtStartPath.PasswordChar = '\0'; this.ChkRunAsAdmin.Text = "强制以管理员方式启动";
this.TxtStartPath.ReadOnly = false; this.ChkRunAsAdmin.UseVisualStyleBackColor = true;
this.TxtStartPath.SelectedText = ""; //
this.TxtStartPath.SelectionLength = 0; // BtnBrowser
this.TxtStartPath.SelectionStart = 0; //
this.TxtStartPath.Size = new System.Drawing.Size(449, 22); this.BtnBrowser.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(20)))));
this.TxtStartPath.TabIndex = 7; this.BtnBrowser.ColorGradient = true;
this.TxtStartPath.TextAlign = System.Windows.Forms.HorizontalAlignment.Left; this.BtnBrowser.Location = new System.Drawing.Point(463, 20);
this.TxtStartPath.ToolTip = ""; this.BtnBrowser.Name = "BtnBrowser";
this.TxtStartPath.WordWrap = true; this.BtnBrowser.Size = new System.Drawing.Size(33, 27);
// this.BtnBrowser.TabIndex = 8;
// label5 this.BtnBrowser.Text = "...";
// this.BtnBrowser.UseVisualStyleBackColor = true;
this.label5.AutoSize = true; this.BtnBrowser.Click += new System.EventHandler(this.BtnBrowser_Click);
this.label5.Location = new System.Drawing.Point(6, 88); //
this.label5.Name = "label5"; // TxtStartPath
this.label5.Size = new System.Drawing.Size(53, 12); //
this.label5.TabIndex = 6; this.TxtStartPath.BackColor = System.Drawing.Color.White;
this.label5.Text = "当前路径"; this.TxtStartPath.EmptyText = "留空则表示使用默认设置";
// this.TxtStartPath.Location = new System.Drawing.Point(8, 103);
// TxtPath this.TxtStartPath.MaxLength = 999999999;
// this.TxtStartPath.Multiline = false;
this.TxtPath.BackColor = System.Drawing.Color.White; this.TxtStartPath.Name = "TxtStartPath";
this.TxtPath.EmptyText = ""; this.TxtStartPath.OnlyNumeric = false;
this.TxtPath.Location = new System.Drawing.Point(6, 23); this.TxtStartPath.PasswordChar = '\0';
this.TxtPath.MaxLength = 999999999; this.TxtStartPath.ReadOnly = false;
this.TxtPath.Multiline = false; this.TxtStartPath.SelectedText = "";
this.TxtPath.Name = "TxtPath"; this.TxtStartPath.SelectionLength = 0;
this.TxtPath.OnlyNumeric = false; this.TxtStartPath.SelectionStart = 0;
this.TxtPath.PasswordChar = '\0'; this.TxtStartPath.Size = new System.Drawing.Size(449, 22);
this.TxtPath.ReadOnly = false; this.TxtStartPath.TabIndex = 7;
this.TxtPath.SelectedText = ""; this.TxtStartPath.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.TxtPath.SelectionLength = 0; this.TxtStartPath.ToolTip = "";
this.TxtPath.SelectionStart = 0; this.TxtStartPath.WordWrap = true;
this.TxtPath.Size = new System.Drawing.Size(451, 22); //
this.TxtPath.TabIndex = 3; // label5
this.TxtPath.TextAlign = System.Windows.Forms.HorizontalAlignment.Left; //
this.TxtPath.ToolTip = ""; this.label5.AutoSize = true;
this.TxtPath.WordWrap = true; this.label5.Location = new System.Drawing.Point(6, 88);
this.TxtPath.TextChanged2 += new System.EventHandler(this.TxtPath_TextChanged2); this.label5.Name = "label5";
// this.label5.Size = new System.Drawing.Size(53, 12);
// label2 this.label5.TabIndex = 6;
// this.label5.Text = "当前路径";
this.label2.AutoSize = true; //
this.label2.Location = new System.Drawing.Point(6, 8); // TxtPath
this.label2.Name = "label2"; //
this.label2.Size = new System.Drawing.Size(29, 12); this.TxtPath.BackColor = System.Drawing.Color.White;
this.label2.TabIndex = 2; this.TxtPath.EmptyText = "";
this.label2.Text = "路径"; this.TxtPath.Location = new System.Drawing.Point(6, 23);
// this.TxtPath.MaxLength = 999999999;
// label3 this.TxtPath.Multiline = false;
// this.TxtPath.Name = "TxtPath";
this.label3.AutoSize = true; this.TxtPath.OnlyNumeric = false;
this.label3.Location = new System.Drawing.Point(6, 48); this.TxtPath.PasswordChar = '\0';
this.label3.Name = "label3"; this.TxtPath.ReadOnly = false;
this.label3.Size = new System.Drawing.Size(29, 12); this.TxtPath.SelectedText = "";
this.label3.TabIndex = 4; this.TxtPath.SelectionLength = 0;
this.label3.Text = "参数"; this.TxtPath.SelectionStart = 0;
// this.TxtPath.Size = new System.Drawing.Size(451, 22);
// TxtRunPram this.TxtPath.TabIndex = 3;
// this.TxtPath.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.TxtRunPram.BackColor = System.Drawing.Color.White; this.TxtPath.ToolTip = "";
this.TxtRunPram.EmptyText = ""; this.TxtPath.WordWrap = true;
this.TxtRunPram.Location = new System.Drawing.Point(6, 63); this.TxtPath.TextChanged2 += new System.EventHandler(this.TxtPath_TextChanged2);
this.TxtRunPram.MaxLength = 999999999; //
this.TxtRunPram.Multiline = false; // label2
this.TxtRunPram.Name = "TxtRunPram"; //
this.TxtRunPram.OnlyNumeric = false; this.label2.AutoSize = true;
this.TxtRunPram.PasswordChar = '\0'; this.label2.Location = new System.Drawing.Point(6, 8);
this.TxtRunPram.ReadOnly = false; this.label2.Name = "label2";
this.TxtRunPram.SelectedText = ""; this.label2.Size = new System.Drawing.Size(29, 12);
this.TxtRunPram.SelectionLength = 0; this.label2.TabIndex = 2;
this.TxtRunPram.SelectionStart = 0; this.label2.Text = "路径";
this.TxtRunPram.Size = new System.Drawing.Size(451, 22); //
this.TxtRunPram.TabIndex = 5; // label3
this.TxtRunPram.TextAlign = System.Windows.Forms.HorizontalAlignment.Left; //
this.TxtRunPram.ToolTip = ""; this.label3.AutoSize = true;
this.TxtRunPram.WordWrap = true; this.label3.Location = new System.Drawing.Point(6, 48);
// this.label3.Name = "label3";
// BtnCancel this.label3.Size = new System.Drawing.Size(29, 12);
// this.label3.TabIndex = 4;
this.BtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.label3.Text = "参数";
this.BtnCancel.BaseColor = System.Drawing.Color.DarkGreen; //
this.BtnCancel.ColorGradient = true; // TxtRunPram
this.BtnCancel.Location = new System.Drawing.Point(458, 467); //
this.BtnCancel.Name = "BtnCancel"; this.TxtRunPram.BackColor = System.Drawing.Color.White;
this.BtnCancel.Size = new System.Drawing.Size(75, 27); this.TxtRunPram.EmptyText = "";
this.BtnCancel.TabIndex = 8; this.TxtRunPram.Location = new System.Drawing.Point(6, 63);
this.BtnCancel.Text = "取消"; this.TxtRunPram.MaxLength = 999999999;
this.BtnCancel.UseVisualStyleBackColor = true; this.TxtRunPram.Multiline = false;
this.BtnCancel.Click += new System.EventHandler(this.BtnCancel_Click); this.TxtRunPram.Name = "TxtRunPram";
// this.TxtRunPram.OnlyNumeric = false;
// BtnOK this.TxtRunPram.PasswordChar = '\0';
// this.TxtRunPram.ReadOnly = false;
this.BtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.TxtRunPram.SelectedText = "";
this.BtnOK.BaseColor = System.Drawing.Color.DarkGreen; this.TxtRunPram.SelectionLength = 0;
this.BtnOK.ColorGradient = true; this.TxtRunPram.SelectionStart = 0;
this.BtnOK.Location = new System.Drawing.Point(377, 467); this.TxtRunPram.Size = new System.Drawing.Size(451, 22);
this.BtnOK.Name = "BtnOK"; this.TxtRunPram.TabIndex = 5;
this.BtnOK.Size = new System.Drawing.Size(75, 27); this.TxtRunPram.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.BtnOK.TabIndex = 7; this.TxtRunPram.ToolTip = "";
this.BtnOK.Text = "确定"; this.TxtRunPram.WordWrap = true;
this.BtnOK.UseVisualStyleBackColor = true; //
this.BtnOK.Click += new System.EventHandler(this.BtnOK_Click); // BtnCancel
// //
// PicImg this.BtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
// this.BtnCancel.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(20)))));
this.PicImg.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.BtnCancel.ColorGradient = true;
this.PicImg.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.BtnCancel.Location = new System.Drawing.Point(586, 576);
this.PicImg.ContextMenuStrip = this.contextMenuStrip1; this.BtnCancel.Name = "BtnCancel";
this.PicImg.Cursor = System.Windows.Forms.Cursors.Hand; this.BtnCancel.Size = new System.Drawing.Size(75, 27);
this.PicImg.Location = new System.Drawing.Point(448, 36); this.BtnCancel.TabIndex = 8;
this.PicImg.Name = "PicImg"; this.BtnCancel.Text = "取消";
this.PicImg.Size = new System.Drawing.Size(86, 86); this.BtnCancel.UseVisualStyleBackColor = true;
this.PicImg.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; this.BtnCancel.Click += new System.EventHandler(this.BtnCancel_Click);
this.PicImg.TabIndex = 6; //
this.PicImg.TabStop = false; // BtnOK
this.PicImg.Click += new System.EventHandler(this.PicImg_Click); //
// this.BtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
// label1 this.BtnOK.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(20)))));
// this.BtnOK.ColorGradient = true;
this.label1.AutoSize = true; this.BtnOK.Location = new System.Drawing.Point(505, 576);
this.label1.Location = new System.Drawing.Point(10, 39); this.BtnOK.Name = "BtnOK";
this.label1.Name = "label1"; this.BtnOK.Size = new System.Drawing.Size(75, 27);
this.label1.Size = new System.Drawing.Size(41, 12); this.BtnOK.TabIndex = 7;
this.label1.TabIndex = 1; this.BtnOK.Text = "确定";
this.label1.Text = "软件名"; this.BtnOK.UseVisualStyleBackColor = true;
// this.BtnOK.Click += new System.EventHandler(this.BtnOK_Click);
// TxtName //
// // PicImg
this.TxtName.BackColor = System.Drawing.Color.White; //
this.TxtName.EmptyText = ""; this.PicImg.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.TxtName.Location = new System.Drawing.Point(57, 35); this.PicImg.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.TxtName.MaxLength = 999999999; this.PicImg.ContextMenuStrip = this.contextMenuStrip1;
this.TxtName.Multiline = false; this.PicImg.Cursor = System.Windows.Forms.Cursors.Hand;
this.TxtName.Name = "TxtName"; this.PicImg.Location = new System.Drawing.Point(576, 36);
this.TxtName.OnlyNumeric = false; this.PicImg.Name = "PicImg";
this.TxtName.PasswordChar = '\0'; this.PicImg.Size = new System.Drawing.Size(86, 86);
this.TxtName.ReadOnly = false; this.PicImg.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.TxtName.SelectedText = ""; this.PicImg.TabIndex = 6;
this.TxtName.SelectionLength = 0; this.PicImg.TabStop = false;
this.TxtName.SelectionStart = 0; this.PicImg.Click += new System.EventHandler(this.PicImg_Click);
this.TxtName.Size = new System.Drawing.Size(175, 22); //
this.TxtName.TabIndex = 0; // label1
this.TxtName.TextAlign = System.Windows.Forms.HorizontalAlignment.Left; //
this.TxtName.ToolTip = ""; this.label1.AutoSize = true;
this.TxtName.WordWrap = true; this.label1.Location = new System.Drawing.Point(10, 39);
// this.label1.Name = "label1";
// FrmAddSoft this.label1.Size = new System.Drawing.Size(41, 12);
// this.label1.TabIndex = 1;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.label1.Text = "软件名";
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; //
this.ClientSize = new System.Drawing.Size(543, 506); // TxtName
this.Controls.Add(this.TxtCmdId); //
this.Controls.Add(this.label6); this.TxtName.BackColor = System.Drawing.Color.White;
this.Controls.Add(this.LblCustomImg); this.TxtName.EmptyText = "";
this.Controls.Add(this.TxtDes); this.TxtName.Location = new System.Drawing.Point(57, 35);
this.Controls.Add(this.label4); this.TxtName.MaxLength = 999999999;
this.Controls.Add(this.chromeTabControl1); this.TxtName.Multiline = false;
this.Controls.Add(this.BtnCancel); this.TxtName.Name = "TxtName";
this.Controls.Add(this.BtnOK); this.TxtName.OnlyNumeric = false;
this.Controls.Add(this.PicImg); this.TxtName.PasswordChar = '\0';
this.Controls.Add(this.label1); this.TxtName.ReadOnly = false;
this.Controls.Add(this.TxtName); this.TxtName.SelectedText = "";
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.TxtName.SelectionLength = 0;
this.Name = "FrmAddSoft"; this.TxtName.SelectionStart = 0;
this.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224))))); this.TxtName.Size = new System.Drawing.Size(175, 22);
this.ShadowWidth = 1; this.TxtName.TabIndex = 0;
this.ShowShadow = false; this.TxtName.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.TxtName.ToolTip = "";
this.Text = "添加软件"; this.TxtName.WordWrap = true;
this.Load += new System.EventHandler(this.FrmAddSoft_Load); //
this.contextMenuStrip1.ResumeLayout(false); // FrmAddSoft
this.chromeTabControl1.ResumeLayout(false); //
this.tabPage1.ResumeLayout(false); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.tabPage1.PerformLayout(); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
((System.ComponentModel.ISupportInitialize)(this.PicImg)).EndInit(); this.ClientSize = new System.Drawing.Size(671, 615);
this.ResumeLayout(false); this.Controls.Add(this.TxtCmdId);
this.PerformLayout(); this.Controls.Add(this.label6);
this.Controls.Add(this.LblCustomImg);
this.Controls.Add(this.TxtDes);
this.Controls.Add(this.label4);
this.Controls.Add(this.chromeTabControl1);
this.Controls.Add(this.BtnCancel);
this.Controls.Add(this.BtnOK);
this.Controls.Add(this.PicImg);
this.Controls.Add(this.label1);
this.Controls.Add(this.TxtName);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmAddSoft";
this.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "添加软件";
this.Load += new System.EventHandler(this.FrmAddSoft_Load);
this.contextMenuStrip1.ResumeLayout(false);
this.chromeTabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.tabPage1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.PicImg)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
} }
#endregion #endregion
@ -445,6 +468,8 @@
private System.Windows.Forms.CheckBox ChkRunAsAdmin; private System.Windows.Forms.CheckBox ChkRunAsAdmin;
private System.Windows.Forms.Label label6; private System.Windows.Forms.Label label6;
private ryControls.TextBoxEx2 TxtCmdId; private ryControls.TextBoxEx2 TxtCmdId;
private System.Windows.Forms.ToolTip toolTip1; private System.Windows.Forms.ToolTip toolTip1;
private System.Windows.Forms.Label label7;
public ryControls.HotkeyTextBox hotkeyTextBox1;
} }
} }

View File

@ -65,6 +65,7 @@ namespace VSoft
TxtPath.Text = reader["Path"].ToString(); TxtPath.Text = reader["Path"].ToString();
TxtRunPram.Text = reader["RunPram"].ToString(); TxtRunPram.Text = reader["RunPram"].ToString();
TxtStartPath.Text = reader["StartPath"].ToString(); TxtStartPath.Text = reader["StartPath"].ToString();
hotkeyTextBox1.HotKey = reader["Hotkey"].ToString();
Json json = new Json(reader["SetJson"].ToString()); Json json = new Json(reader["SetJson"].ToString());
ChkRunAsAdmin.Checked = json.GetJsonValue("RunAsAdmin", false); ChkRunAsAdmin.Checked = json.GetJsonValue("RunAsAdmin", false);
var _IconPath = reader["IconPath"].ToString(); var _IconPath = reader["IconPath"].ToString();
@ -84,7 +85,10 @@ namespace VSoft
} }
db.Free(); db.Free();
} }
/// <summary>
/// 当前操作的id
/// </summary>
public int Op_Id { get; set; } = -1;
private void BtnOK_Click(object sender, EventArgs e) private void BtnOK_Click(object sender, EventArgs e)
{ {
if (TxtName.Text.Length == 0) if (TxtName.Text.Length == 0)
@ -126,6 +130,24 @@ namespace VSoft
} }
ds.Dispose(); ds.Dispose();
} }
if (hotkeyTextBox1.HaveHotKey)
{
var ds = db.ReadData("select * from " + tableName + " where Hotkey='" + hotkeyTextBox1.HotKey + "' and id<>" + SelectId + " limit 1");
if (mydb.HaveData(ds))
{
Msg.ShowMsg("当前热键已经存在,请更换热键。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
ds.Dispose(); return;
}
else
{
if(Config.Soft_Config.IsHotKeyExistInList(hotkeyTextBox1.HotKey)>=0)
{
Msg.ShowMsg("当前热键已经存在,请更换热键。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
ds.Dispose(); return;
}
}
ds.Dispose();
}
RyQuickSQL mySQL = new RyQuickSQL(tableName); RyQuickSQL mySQL = new RyQuickSQL(tableName);
mySQL.AddField("Name", TxtName.Text); mySQL.AddField("Name", TxtName.Text);
mySQL.AddField("CmdId", TxtCmdId.Text); mySQL.AddField("CmdId", TxtCmdId.Text);
@ -136,7 +158,8 @@ namespace VSoft
Json json = new Json(""); Json json = new Json("");
json.Add("RunAsAdmin", ChkRunAsAdmin.Checked); json.Add("RunAsAdmin", ChkRunAsAdmin.Checked);
mySQL.AddField("SetJson", json.Text);//设置 mySQL.AddField("SetJson", json.Text);//设置
mySQL.AddField("Des", TxtDes.Text);//备注 mySQL.AddField("Des", TxtDes.Text);//备注
mySQL.AddField("Hotkey", hotkeyTextBox1.HaveHotKey?hotkeyTextBox1.HotKey:"");//快捷键
mySQL.AddField("Pinyin", ryCommon.PinYin.Convert(TxtName.Text) + "\r\n" + ryCommon.PinYin.ConvertFirstPY(TxtName.Text)); mySQL.AddField("Pinyin", ryCommon.PinYin.Convert(TxtName.Text) + "\r\n" + ryCommon.PinYin.ConvertFirstPY(TxtName.Text));
mySQL.AddField("editTime", DateTime.Now); mySQL.AddField("editTime", DateTime.Now);
if (IsAdd >= 1) if (IsAdd >= 1)
@ -146,11 +169,17 @@ namespace VSoft
mySQL.AddField("ColumnId",ColumnId); mySQL.AddField("ColumnId",ColumnId);
mySQL.AddField("sortindex",Itrycn_Db.GetSoftCount(db, ColumnId) + 1); mySQL.AddField("sortindex",Itrycn_Db.GetSoftCount(db, ColumnId) + 1);
mySQL.AddField("addTime", DateTime.Now); mySQL.AddField("addTime", DateTime.Now);
db.ExecuteNonQuery(mySQL.GetInsertSQL(), mySQL); var ds= db.ReadData(mySQL.GetInsertSQL()+";select last_insert_rowid();", mySQL);
if (ds.HaveData())
{
Op_Id = ds.GetFirstRowCellValue();
}
ds.Dispose();
} }
else else
{ {
db.ExecuteNonQuery(mySQL.GetUpdateSQL() + " where id=" + SelectId, mySQL); db.ExecuteNonQuery(mySQL.GetUpdateSQL() + " where id=" + SelectId, mySQL);
Op_Id = SelectId;
} }
} }
db.Free(); db.Free();

View File

@ -1,209 +1,209 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, 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="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="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <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> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : 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:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <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:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>254, 17</value> <value>254, 17</value>
</metadata> </metadata>
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="of_File.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="of_File.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>165, 17</value> <value>165, 17</value>
</metadata> </metadata>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>419, 17</value> <value>419, 17</value>
</metadata> </metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAACMuAAAjLgAAAAAAAAAA AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAACMuAAAjLgAAAAAAAAAA
AAAAAAAAAAAAAKizMQCVogAAoKscAJ2pFQCVowUAtrpDAqmwKAWmriMGpq4kB6auJAemriQHpq4kB6au AAAAAAAAAAAAAKizMQCVogAAoKscAJ2pFQCVowUAtrpDAqmwKAWmriMGpq4kB6auJAemriQHpq4kB6au
JAemriQHpq4kB6auJAemriQHpq4kB6auJAemriQHpq4jBqiwKAW0uT4Ck6IBAJ2pFQCgrBwAh5QAAKey JAemriQHpq4kB6auJAemriQHpq4kB6auJAemriQHpq4jBqiwKAW0uT4Ck6IBAJ2pFQCgrBwAh5QAAKey
LgAAAAAAAAAAAAAAAACfriQAorApAJupFgCgrB0Tn6oYU56pFomeqRalnqkVsJ6pFbSeqRW0nqkVtJ6p LgAAAAAAAAAAAAAAAACfriQAorApAJupFgCgrB0Tn6oYU56pFomeqRalnqkVsJ6pFbSeqRW0nqkVtJ6p
FbSeqRW0nqkVtJ6pFbSeqRW0nqkVtJ6pFbSeqRW0nqkVtJ6pFbSeqRW0nqkVsZ6pFqaeqRaLn6oYVqCs FbSeqRW0nqkVtJ6pFbSeqRW0nqkVtJ6pFbSeqRW0nqkVtJ6pFbSeqRW0nqkVsZ6pFqaeqRaLn6oYVqCs
HRaaqRUAoa8mAJ+tIwAAAAAAo7IwAKGwKQCVpQsAnqscQp2qGMScqRf7nKkW/5ypFv+cqRb/nKkW/5yp HRaaqRUAoa8mAJ+tIwAAAAAAo7IwAKGwKQCVpQsAnqscQp2qGMScqRf7nKkW/5ypFv+cqRb/nKkW/5yp
Fv+cqRb/nKkW/5ypFv+cqRb/nKkW/5ypFv+cqRb/nKkW/5ypFv+cqRb/nKkW/5ypFv+cqRb/nKkW/5yp Fv+cqRb/nKkW/5ypFv+cqRb/nKkW/5ypFv+cqRb/nKkW/5ypFv+cqRb/nKkW/5ypFv+cqRb/nKkW/5yp
Fv+cqRf8naoYyZ2rHEiKnQAAoK4lAKCxKwCGogAAmaoZAJysHkSbqhvjm6oa/5uqGv+bqhr/m6oa/5uq Fv+cqRf8naoYyZ2rHEiKnQAAoK4lAKCxKwCGogAAmaoZAJysHkSbqhvjm6oa/5uqGv+bqhr/m6oa/5uq
Gv+bqhr/m6oa/5uqGv+bqhr/m6oa/5uqGv+bqhr/m6oa/5uqGv+bqhr/m6oa/5uqGv+bqhr/m6oa/5uq Gv+bqhr/m6oa/5uqGv+bqhr/m6oa/5uqGv+bqhr/m6oa/5uqGv+bqhr/m6oa/5uqGv+bqhr/m6oa/5uq
Gv+bqhr/m6oa/5uqGv+bqhr/m6ob6JyrHk2YqRYA1s2DAJyuJACcriYZmqwfy5mrHf+Zqx3/masd/5mr Gv+bqhr/m6oa/5uqGv+bqhr/m6ob6JyrHk2YqRYA1s2DAJyuJACcriYZmqwfy5mrHf+Zqx3/masd/5mr
Hf+Zqx3/masd/5mrHf+Zqx3/masd/5mrHf+Zqx3/masc/5mrHP+Zqxz/masc/5mrHf+Zqx3/masd/5mr Hf+Zqx3/masd/5mrHf+Zqx3/masd/5mrHf+Zqx3/masc/5mrHP+Zqxz/masc/5mrHf+Zqx3/masd/5mr
Hf+Zqx3/masd/5mrHf+Zqx3/masd/5mrHf+Zqx3/mqwe0puuJB6brSMAl6sfAJmtJGGYrCD+mKwg/5is Hf+Zqx3/masd/5mrHf+Zqx3/masd/5mrHf+Zqx3/mqwe0puuJB6brSMAl6sfAJmtJGGYrCD+mKwg/5is
IP+YrCD/mKwg/5isIP+YrCD/mKwg/5isIP+XrB//lqsd/5isIv+dsCz/obM1/6GzNP+dsCv/mKwh/5ar IP+YrCD/mKwg/5isIP+YrCD/mKwg/5isIP+XrB//lqsd/5isIv+dsCz/obM1/6GzNP+dsCv/mKwh/5ar
Hf+XrB//mKwg/5esH/+YrCH/mKwg/5esH/+YrCD/mKwg/5isIP+YrCD/ma0jbJaqHAD///8Al64mm5et Hf+XrB//mKwg/5esH/+YrCH/mKwg/5esH/+YrCD/mKwg/5isIP+YrCD/ma0jbJaqHAD///8Al64mm5et
JP+XrST/l60k/5etJP+XrST/l60k/5etJP+WrSP/lawi/6G1Ov+9y3X/2eGu/+jt0P/v8t3/7/Lc/+fs JP+XrST/l60k/5etJP+XrST/l60k/5etJP+WrSP/lawi/6G1Ov+9y3X/2eGu/+jt0P/v8t3/7/Lc/+fs
zf/W36n/uslu/5+zNf+UqyD/p7lG/9bfqf/Z4a7/tcRj/5asIv+XrST/l60k/5etJP+XriamprtJA520 zf/W36n/uslu/5+zNf+UqyD/p7lG/9bfqf/Z4a7/tcRj/5asIv+XrST/l60k/5etJP+XriamprtJA520
OgiWryu4la4p/5WuKf+Vrin/la4p/5WuKf+Vrin/la0o/5mxMP+/zXz/7PDY//7+/f////////////// OgiWryu4la4p/5WuKf+Vrin/la4p/5WuKf+Vrin/la0o/5mxMP+/zXz/7PDY//7+/f//////////////
///////////////////9/vz/6O3Q/8LQg//l68v////////////R3KP/lK0n/5WuKf+Vrin/la4p/5au ///////////////////9/vz/6O3Q/8LQg//l68v////////////R3KP/lK0n/5WuKf+Vrin/la4p/5au
K8KbszYNm7Q8DZWvMMOUry//lK8v/5SvL/+Ury//lK8v/5SuLf+ctT7/1N6r//39+/////////////// K8KbszYNm7Q8DZWvMMOUry//lK8v/5SvL/+Ury//lK8v/5SuLf+ctT7/1N6r//39+///////////////
///7/Pj/9vnv//f57//8/fn//////////////////////////////////////8vYm/+Uri3/lK8v/5Sv ///7/Pj/9vnv//f57//8/fn//////////////////////////////////////8vYm/+Uri3/lK8v/5Sv
L/+Ury//la8wzJqzOxOctkYPlLA2x5OwNP+TsDT/k7A0/5OwNP+TrzP/mLM+/9bhsv////////////// L/+Ury//la8wzJqzOxOctkYPlLA2x5OwNP+TsDT/k7A0/5OwNP+TrzP/mLM+/9bhsv//////////////
///t8t//ydic/6/Fa/+lvVf/pr1Y/7HGbv/M2qL/8/bq///////////////////////b5Lz/nbdH/5Kv ///t8t//ydic/6/Fa/+lvVf/pr1Y/7HGbv/M2qL/8/bq///////////////////////b5Lz/nbdH/5Kv
M/+TsDT/k7A0/5OwNP+TsDXQlrI6FZy4TBCTsT3HkrA6/5KxOv+SsTr/krA6/5KwOv/E1JT//v79//// M/+TsDT/k7A0/5OwNP+TsDXQlrI6FZy4TBCTsT3HkrA6/5KxOv+SsTr/krA6/5KwOv/E1JT//v79////
///9/vz/0+Cy/5+6U/+RsDj/kK83/5GwOP+RsDj/j641/6K8WP/r8Nr//////////////////v7+/7/R ///9/vz/0+Cy/5+6U/+RsDj/kK83/5GwOP+RsDj/j641/6K8WP/r8Nr//////////////////v7+/7/R
jP+Qrzf/krE6/5KxOv+SsTr/krA6/5KxO9CUsj4Wm7lREJKyQseRskD/kbJA/5GyQP+QsT7/o75f//L2 jP+Qrzf/krE6/5KxOv+SsTr/krA6/5KxO9CUsj4Wm7lREJKyQseRskD/kbJA/5GyQP+QsT7/o75f//L2
6P///////////9Derv+VtEf/kLE+/5GyQP+RskD/kbJA/4+xPv+hvV3/5ezS//////////////////// 6P///////////9Derv+VtEf/kLE+/5GyQP+RskD/kbJA/4+xPv+hvV3/5ezS////////////////////
////////6/Hd/526Vf+QsT//kbJA/5GyQP+RskD/kbJA0JOzQxaZulcQkbRIx4+zRv+Ps0b/j7NG/46y ////////6/Hd/526Vf+QsT//kbJA/5GyQP+RskD/kbJA0JOzQxaZulcQkbRIx4+zRv+Ps0b/j7NG/46y
RP/H2aL////////////m7tb/mblW/46yRP+Ps0b/j7NG/4+zRv+OskT/oL5h/+Xt0/////////////// RP/H2aL////////////m7tb/mblW/46yRP+Ps0b/j7NG/4+zRv+OskT/oL5h/+Xt0///////////////
///g6s3/7vTk////////////vdKR/46yQ/+Ps0b/j7NG/4+zRv+Qs0bQkbRJFpi6WxCPtE3HjrRL/460 ///g6s3/7vTk////////////vdKR/46yQ/+Ps0b/j7NG/4+zRv+Qs0bQkbRJFpi6WxCPtE3HjrRL/460
S/+Ns0r/lLdU/+Xt1f///////v79/7nQkP+Mskj/jrRL/460S/+OtEv/jbNJ/5+/Zv/k7dT///////// S/+Ns0r/lLdU/+Xt1f///////v79/7nQkP+Mskj/jrRL/460S/+OtEv/jbNJ/5+/Zv/k7dT/////////
////////2ebD/5e5Wf/C15/////////////c58f/kLVP/46zS/+OtEv/jrRL/460S9CQtU4WlrtfEI22 ////////2ebD/5e5Wf/C15/////////////c58f/kLVP/46zS/+OtEv/jrRL/460S9CQtU4WlrtfEI22
UceMtU//jLVP/4u0Tf+dwGn/9Pju///////y9+z/nL9o/4u0Tf+MtU//jLVP/4u0Tv+bvmb/5O3V//// UceMtU//jLVP/4u0Tf+dwGn/9Pju///////y9+z/nL9o/4u0Tf+MtU//jLVP/4u0Tv+bvmb/5O3V////
/////////////9jmxf+Wu17/irNL/6TEdP/4+vT//////+3z5P+XvF//i7RO/4y1T/+MtU//jLVP0I62 /////////////9jmxf+Wu17/irNL/6TEdP/4+vT//////+3z5P+XvF//i7RO/4y1T/+MtU//jLVP0I62
UhaVvGIQjLdVx4q2Uv+LtlP/ibVQ/6XGef/5+/f//////+fw3P+Rul3/irZS/4u2U/+LtlP/ibVQ/8PZ UhaVvGIQjLdVx4q2Uv+LtlP/ibVQ/6XGef/5+/f//////+fw3P+Rul3/irZS/4u2U/+LtlP/ibVQ/8PZ
pv/////////////////Y58b/lLxi/4m1Uf+KtVH/l71l/+/15///////9Pjv/5zBbf+JtVH/i7ZT/4u2 pv/////////////////Y58b/lLxi/4m1Uf+KtVH/l71l/+/15///////9Pjv/5zBbf+JtVH/i7ZT/4u2
U/+LtlPQjbdWFpS9ZRCKt1jHibdW/4m3Vv+HtlT/pch+//r8+P//////5e/Z/4+6Xv+Jtlb/ibdW/4m3 U/+LtlPQjbdWFpS9ZRCKt1jHibdW/4m3Vv+HtlT/pch+//r8+P//////5e/Z/4+6Xv+Jtlb/ibdW/4m3
Vv+HtlT/ttKX//3+/P//////1+fG/5O9Zf+ItlT/ibdW/4i2Vf+UvWb/7fTl///////1+fH/nMNy/4i2 Vv+HtlT/ttKX//3+/P//////1+fG/5O9Zf+ItlT/ibdW/4i2Vf+UvWb/7fTl///////1+fH/nMNy/4i2
VP+Jt1b/ibdW/4m3VtCLuFkWkr5pEIm4XMeHt1r/h7da/4a3WP+dxXj/9vrz///////t9Ob/k75q/4e3 VP+Jt1b/ibdW/4m3VtCLuFkWkr5pEIm4XMeHt1r/h7da/4a3WP+dxXj/9vrz///////t9Ob/k75q/4e3
Wf+Ht1r/h7da/4e3Wf+MumD/sdCU/7bUm/+RvWf/hrdY/4e4Wv+Ht1r/hrdY/5rDdP/0+PD///////D2 Wf+Ht1r/h7da/4e3Wf+MumD/sdCU/7bUm/+RvWf/hrdY/4e4Wv+Ht1r/hrdY/5rDdP/0+PD///////D2
6/+WwG7/h7dY/4e3Wv+Ht1r/iLha0Iq5XRaRv2wQh7lfx4a4Xf+GuF3/hbhd/5C+bP/r8+T///////r8 6/+WwG7/h7dY/4e3Wv+Ht1r/iLha0Iq5XRaRv2wQh7lfx4a4Xf+GuF3/hbhd/5C+bP/r8+T///////r8
+f+my4n/hLdb/4a4Xf+GuF3/hrhd/4a4Xf+Et1v/hLdb/4W4Xf+GuF3/hrhd/4a4Xf+Et1v/sNGW//3+ +f+my4n/hLdb/4a4Xf+GuF3/hrhd/4a4Xf+Et1v/hLdb/4W4Xf+GuF3/hrhd/4a4Xf+Et1v/sNGW//3+
/f//////4u7Y/4u8Zf+GuF3/hrhd/4a4Xf+GuF7QiLphFo+/bxCGumPHhLlh/4S5Yf+EuWH/hbpi/9Dk /f//////4u7Y/4u8Zf+GuF3/hrhd/4a4Xf+GuF7QiLphFo+/bxCGumPHhLlh/4S5Yf+EuWH/hbpi/9Dk
wv///////////9HlxP+GumP/hLlh/4S5Yf+EuWH/hLlh/4S5Yf+EuWH/hLlh/4S5Yf+EuWH/hLlg/4m8 wv///////////9HlxP+GumP/hLlh/4S5Yf+EuWH/hLlh/4S5Yf+EuWH/hLlh/4S5Yf+EuWH/hLlg/4m8
aP/b6tH////////////E3rT/g7lg/4S5Yf+EuWH/hLlh/4W5YdCHumQWjsByEIS7ZseDumT/g7pk/4O6 aP/b6tH////////////E3rT/g7lg/4S5Yf+EuWH/hLlh/4W5YdCHumQWjsByEIS7ZseDumT/g7pk/4O6
ZP+BuWL/pc2Q//r8+P//////+fz4/67Smv+BuWL/g7pk/4O6ZP+DumT/g7pk/4O6ZP+DumT/g7pk/4K6 ZP+BuWL/pc2Q//r8+P//////+fz4/67Smv+BuWL/g7pk/4O6ZP+DumT/g7pk/4O6ZP+DumT/g7pk/4K6
ZP+CumP/uNem//z9/P//////9fnz/5zIhP+BuWL/g7pk/4O6ZP+DumT/g7pk0IW7ZxaMwXQQg7xox4G7 ZP+CumP/uNem//z9/P//////9fnz/5zIhP+BuWL/g7pk/4O6ZP+DumT/g7pk0IW7ZxaMwXQQg7xox4G7
Z/+Bu2f/gbtn/4G7Zv+FvWv/0ufJ////////////8vjv/6vSmf+CvGj/f7tl/4G7Zv+Bu2f/gbtn/4G7 Z/+Bu2f/gbtn/4G7Zv+FvWv/0ufJ////////////8vjv/6vSmf+CvGj/f7tl/4G7Zv+Bu2f/gbtn/4G7
Zv9/umX/g71q/7PWo//2+vT////////////H4bz/grxo/4G7Z/+Bu2f/gbtn/4G7Z/+BvGfQg71qFovD Zv9/umX/g71q/7PWo//2+vT////////////H4bz/grxo/4G7Z/+Bu2f/gbtn/4G7Z/+BvGfQg71qFovD
dxCBvWvHf71q/3+9av9/vWr/f71q/368aP+Tx4H/6PPk////////////+Pv2/8njv/+ay4n/hsBy/4G+ dxCBvWvHf71q/3+9av9/vWr/f71q/368aP+Tx4H/6PPk////////////+Pv2/8njv/+ay4n/hsBy/4G+
bP+Bvmz/h8Fz/57Mjf/P5sb/+v35////////////4O/b/43Eev9+vGn/f71q/3+9av9/vWr/f71q/4C9 bP+Bvmz/h8Fz/57Mjf/P5sb/+v35////////////4O/b/43Eev9+vGn/f71q/3+9av9/vWr/f71q/4C9
atCCvm0WhsJ3Dn++bsV+vm3/fr5t/36+bf9+vm3/fr5t/3y9a/+bzY7/6fTm//////////////////b6 atCCvm0WhsJ3Dn++bsV+vm3/fr5t/36+bf9+vm3/fr5t/3y9a/+bzY7/6fTm//////////////////b6
9f/j8d//1urQ/9fq0f/l8uH/+Pv3/////////////////+Lx3/+UyYb/fL1r/36+bf9+vm3/fr5t/36+ 9f/j8d//1urQ/9fq0f/l8uH/+Pv3/////////////////+Lx3/+UyYb/fL1r/36+bf9+vm3/fr5t/36+
bf9+vm3/f75uzoXBdRSFw3kKfb9xvHy/cP98v3D/fL9w/3y/cP98v3D/fL9w/3u+bv+Syoj/1evR//z9 bf9+vm3/f75uzoXBdRSFw3kKfb9xvHy/cP98v3D/fL9w/3y/cP98v3D/fL9w/3u+bv+Syoj/1evR//z9
+/////////////////////////////////////////////r8+f/O58r/jceD/3u+bv98v3D/fL9w/3y/ +/////////////////////////////////////////////r8+f/O58r/jceD/3u+bv98v3D/fL9w/3y/
cP98v3D/fL9w/3y/cP99v3HGg8J4D5XNjQJ7wXSlesBz/3rAc/96wHP/esBz/3rAc/96wHP/esBz/3nA cP98v3D/fL9w/3y/cP99v3HGg8J4D5XNjQJ7wXSlesBz/3rAc/96wHP/esBz/3rAc/96wHP/esBz/3nA
cf+Aw3n/ptWi/9Tr0//w+O//+/37//7+/v/+/v7/+v36/+737f/Q6c7/odOc/37Cdv95wHH/esBz/3rA cf+Aw3n/ptWi/9Tr0//w+O//+/37//7+/v/+/v7/+v36/+737f/Q6c7/odOc/37Cdv95wHH/esBz/3rA
c/96wHP/esBz/3rAc/96wHP/esBz/3vBdLCIxoAFdcByAHrCd3J4wXb/eMF2/3jBdv94wXb/eMF2/3jB c/96wHP/esBz/3rAc/96wHP/esBz/3vBdLCIxoAFdcByAHrCd3J4wXb/eMF2/3jBdv94wXb/eMF2/3jB
dv94wXb/eMF2/3jBdf92wHT/e8N5/4vKif+b0pr/pdak/6XWpP+a0Zn/icmH/3rCeP92wHT/eMF1/3jB dv94wXb/eMF2/3jBdf92wHT/e8N5/4vKif+b0pr/pdak/6XWpP+a0Zn/icmH/3rCeP92wHT/eMF1/3jB
dv94wXb/eMF2/3jBdv94wXb/eMF2/3jBdv94wXb/esJ3fnG+bwB5w3oAesR7KXfDeOB2wnj/dsJ4/3bC dv94wXb/eMF2/3jBdv94wXb/eMF2/3jBdv94wXb/esJ3fnG+bwB5w3oAesR7KXfDeOB2wnj/dsJ4/3bC
eP92wnj/dsJ4/3bCeP92wnj/dsJ4/3bCeP92wnj/dcJ3/3TBdv90wXb/dMF2/3TBdv91wnf/dsJ4/3bC eP92wnj/dsJ4/3bCeP92wnj/dsJ4/3bCeP92wnj/dcJ3/3TBdv90wXb/dMF2/3TBdv91wnf/dsJ4/3bC
eP92wnj/dsJ4/3bCeP92wnj/dsJ4/3bCeP92wnj/dsJ4/3fDeOd5w3sxeMN5AIHJhgBbuWYAdsR8aXTE eP92wnj/dsJ4/3bCeP92wnj/dsJ4/3bCeP92wnj/dsJ4/3fDeOd5w3sxeMN5AIHJhgBbuWYAdsR8aXTE
e/d0xHv/dMR7/3TEe/90xHv/dMR7/3TEe/90xHv/dMR7/3TEe/90xHv/dMR7/3TEe/90xHv/dMR7/3TE e/d0xHv/dMR7/3TEe/90xHv/dMR7/3TEe/90xHv/dMR7/3TEe/90xHv/dMR7/3TEe/90xHv/dMR7/3TE
e/90xHv/dMR7/3TEe/90xHv/dMR7/3TEe/90xHv/dMR7/3TEe/90xHv5dsR8c8vlvQB/x4MAfseBAHjG e/90xHv/dMR7/3TEe/90xHv/dMR7/3TEe/90xHv/dMR7/3TEe/90xHv5dsR8c8vlvQB/x4MAfseBAHjG
gAB5yIUEdMV/bnPFfuhyxX7/csV+/3LFfv9yxX7/csV+/3LFfv9yxX7/csV+/3LFfv9yxX7/csV+/3LF gAB5yIUEdMV/bnPFfuhyxX7/csV+/3LFfv9yxX7/csV+/3LFfv9yxX7/csV+/3LFfv9yxX7/csV+/3LF
fv9yxX7/csV+/3LFfv9yxX7/csV+/3LFfv9yxX7/csV+/3LFfv9yxX7/c8V+63TFf3Z6yIUHeMaAAH3G fv9yxX7/csV+/3LFfv9yxX7/csV+/3LFfv9yxX7/csV+/3LFfv9yxX7/c8V+63TFf3Z6yIUHeMaAAH3G
gAAAAAAAdsV/AHfGgQDZ//wAdMaCNHLGgYpyxoG+ccaB1HHGgd1xxoHfccaB33HGgd9xxoHfccaB33HG gAAAAAAAdsV/AHfGgQDZ//wAdMaCNHLGgYpyxoG+ccaB1HHGgd1xxoHfccaB33HGgd9xxoHfccaB33HG
gd9xxoHfccaB33HGgd9xxoHfccaB33HGgd9xxoHfccaB33HGgd1xxoHVcsaBwHLGgY10xoI5iNKaAXfG gd9xxoHfccaB33HGgd9xxoHfccaB33HGgd9xxoHfccaB33HGgd1xxoHVcsaBwHLGgY10xoI5iNKaAXfG
gQB3xoAAAAAAAAAAAAAAAAAAeciFAHzJhwBzxoEAYLtqAHjKigx2yYcZdMiGIXbIhyR2yYgkdsmIJHbJ gQB3xoAAAAAAAAAAAAAAAAAAeciFAHzJhwBzxoEAYLtqAHjKigx2yYcZdMiGIXbIhyR2yYgkdsmIJHbJ
iCR2yYgkdsmIJHbJiCR2yYgkdsmIJHbJiCR2yYgkdsmIJHbJiCR2yIckdMiGIXbJhxp4yooMV7VfAHPG iCR2yYgkdsmIJHbJiCR2yYgkdsmIJHbJiCR2yYgkdsmIJHbJiCR2yIckdMiGIXbJhxp4yooMV7VfAHPG
gAB6yIYAeMeEAAAAAAAAAAAAwAAAA4AAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA gAB6yIYAeMeEAAAAAAAAAAAAwAAAA4AAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAgAAAAcAAAAM= AAAAAAAAAAAAAAAAAAAAAAAAgAAAAcAAAAM=
</value> </value>
</data> </data>
</root> </root>

View File

@ -29,6 +29,9 @@ namespace VSoft
//配置软件信息 //配置软件信息
notifyIcon1.Text = Config.Soft_Info.Soft_Title; notifyIcon1.Text = Config.Soft_Info.Soft_Title;
Text = Config.Soft_Info.Soft_Title + " V" + RySoft.VersionStr; Text = Config.Soft_Info.Soft_Title + " V" + RySoft.VersionStr;
#if TEST
Text +=" V内部测试版";
#endif
if (!Config.Soft_Info.ShowTray) { notifyIcon1.Visible = false; } if (!Config.Soft_Info.ShowTray) { notifyIcon1.Visible = false; }
#if DY #if DY
ToolStripMenuItem.Text = "关于"; ToolStripMenuItem.Text = "关于";
@ -160,6 +163,7 @@ namespace VSoft
} }
else { LblEmpty.Visible = false; } else { LblEmpty.Visible = false; }
} }
db.Free();
} }
private void LoadColumn() private void LoadColumn()
{ {
@ -239,6 +243,31 @@ namespace VSoft
TabList_Type.Items[0].Selected = true; TabList_Type.Items[0].Selected = true;
} }
} }
/// <summary>
/// 注册热键
/// </summary>
private void RegisterHotkey()
{
hotkey.UnHotKey();
IDbInterface db2 = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db2.ConnDb(SQLConnStr) == 1)
{
HotkeyValue hot = new HotkeyValue(Soft_Config.ShowMainHotKey);
hotkey.RegHotKey(100, hot.Modifiers_Int, hot.KeyCode);
var ds = db2.ReadData("select * from Softs where Hotkey<>''");
if (ds.HaveData())
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
var item = ds.GetRow(i);
hot.LoadHotKeyStr(item["HotKey"].ToString());
hotkey.RegHotKey(100 + item["id"].ToInt(), hot.Modifiers_Int, hot.KeyCode);
}
}
ds.Dispose();
}
db2.Free();
}
SysFuns.WinHotReg hotkey; SysFuns.WinHotReg hotkey;
private void FrmVSoft_Load(object sender, EventArgs e) private void FrmVSoft_Load(object sender, EventArgs e)
{ {
@ -299,9 +328,8 @@ namespace VSoft
// Msg.ShowMsg("管理员模式下启动本软件,可能会导致无法拖放图标到本软件。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); // Msg.ShowMsg("管理员模式下启动本软件,可能会导致无法拖放图标到本软件。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
//} //}
hotkey = new SysFuns.WinHotReg(Handle); hotkey = new SysFuns.WinHotReg(Handle);
HotkeyValue hot = new HotkeyValue(Soft_Config.ShowMainHotKey);
hotkey.RegHotKey(100,hot.Modifiers_Int, hot.KeyCode);
hotkey.OnHotkey += Hotkey_OnHotkey; hotkey.OnHotkey += Hotkey_OnHotkey;
RegisterHotkey();
ryCommon.RyRegedit.RegRoot = Microsoft.Win32.RegistryHive.CurrentUser; ryCommon.RyRegedit.RegRoot = Microsoft.Win32.RegistryHive.CurrentUser;
//如果开机启动没有启动 //如果开机启动没有启动
if(!ryCommon.RyRegedit.IsAutoRun(Soft_Info.Soft_Id, "\"" + Application.ExecutablePath.Replace("/", "\\") + "\" " + Soft_Info.Soft_Pram)) if(!ryCommon.RyRegedit.IsAutoRun(Soft_Info.Soft_Id, "\"" + Application.ExecutablePath.Replace("/", "\\") + "\" " + Soft_Info.Soft_Pram))
@ -314,8 +342,11 @@ namespace VSoft
} }
} }
ShowInCenter(null); ShowInCenter(null);
#if DY
#else
LiveUpdate.RyUpdate update = new LiveUpdate.RyUpdate(Soft_Info.Update_Url); LiveUpdate.RyUpdate update = new LiveUpdate.RyUpdate(Soft_Info.Update_Url);
update.CheckUpdate(); update.CheckUpdate();
#endif
mouse.OnMouseActivity += Mouse_OnMouseActivity; mouse.OnMouseActivity += Mouse_OnMouseActivity;
mouse.Start(); mouse.Start();
} }
@ -327,6 +358,32 @@ namespace VSoft
case 100: case 100:
ShowOrHideUI(); ShowOrHideUI();
break; break;
default:
var id = HotKeyID - 100;
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(SQLConnStr) == 1)
{
var sql = "select * from Softs where id="+id;
DataSet ds = db.ReadData("select * from Softs where id=" + id);
if(ds.HaveData())
{
DataRow row = ds.GetFirstRowData();
SoftInfo info = new SoftInfo();
info.Id = row["id"].ToInt();
info.SoftType = row["SoftType"].ToInt();
info.ColumnId = row["ColumnId"].ToInt();
info.Name = row["Name"].ToString();
info.Path = row["Path"].ToString();
info.RunPram = row["RunPram"].ToString();
info.SetJson = row["SetJson"].ToString();
info.StartPath = row["StartPath"].ToString();
info.IconPath = row["IconPath"].ToString();
VSoft.Prams.Run.Open(info, false);
}
db.Free();
}
db.Free();
break;
} }
} }
[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SetForegroundWindow")] [System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SetForegroundWindow")]
@ -719,6 +776,12 @@ namespace VSoft
frm.ShowInCenter(this); frm.ShowInCenter(this);
if (frm.ShowDialog() == DialogResult.OK) if (frm.ShowDialog() == DialogResult.OK)
{ {
if(frm.hotkeyTextBox1.HaveHotKey)
{
hotkey.UnHotKey(frm.Op_Id+00);
HotkeyValue hot = new HotkeyValue(frm.hotkeyTextBox1.HotKey);
hotkey.RegHotKey(frm.Op_Id+100, hot.Modifiers_Int, hot.KeyCode);
}
LoadDb(); LoadDb();
} }
frm.Dispose(); frm.Dispose();
@ -735,6 +798,16 @@ namespace VSoft
frm.ShowInCenter(this); frm.ShowInCenter(this);
if (frm.ShowDialog() == DialogResult.OK) if (frm.ShowDialog() == DialogResult.OK)
{ {
if (frm.hotkeyTextBox1.HaveHotKey)
{
hotkey.UnHotKey(frm.Op_Id + 100);
HotkeyValue hot = new HotkeyValue(frm.hotkeyTextBox1.HotKey);
hotkey.RegHotKey(frm.Op_Id +100, hot.Modifiers_Int, hot.KeyCode);
}
else
{
hotkey.UnHotKey(frm.Op_Id +100);
}
SetSoftRow(info.Id, IconViewEx1.SelectedItems[0].Index); SetSoftRow(info.Id, IconViewEx1.SelectedItems[0].Index);
} }
frm.Dispose(); frm.Dispose();
@ -756,6 +829,7 @@ namespace VSoft
{ {
RyFiles.DeleteFile(RyFiles.GetRealPath(info.IconPath)); RyFiles.DeleteFile(RyFiles.GetRealPath(info.IconPath));
} }
hotkey.UnHotKey(info.Id+100);
db.DelById("Softs", info.Id.ToString()); db.DelById("Softs", info.Id.ToString());
IconViewEx1.SelectedItems[i].Remove(); IconViewEx1.SelectedItems[i].Remove();
if (IconViewEx1.Items.Count == 0) if (IconViewEx1.Items.Count == 0)
@ -1308,7 +1382,7 @@ namespace VSoft
if (frm.ShowDialog() == DialogResult.OK) if (frm.ShowDialog() == DialogResult.OK)
{ {
VSoft.Config.Soft_Config.LoadSetting(); VSoft.Config.Soft_Config.LoadSetting();
hotkey.UnHotKey(); hotkey.UnHotKey(100);
HotkeyValue hot = new HotkeyValue(Soft_Config.ShowMainHotKey); HotkeyValue hot = new HotkeyValue(Soft_Config.ShowMainHotKey);
hotkey.RegHotKey(100, hot.Modifiers_Int, hot.KeyCode); hotkey.RegHotKey(100, hot.Modifiers_Int, hot.KeyCode);
} }

View File

@ -5,6 +5,7 @@ using System.Collections.Generic;
using System.Data; using System.Data;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using VSoft.Config;
using static ryCommonDb.DataProvider; using static ryCommonDb.DataProvider;
namespace VSoft.Prams namespace VSoft.Prams
@ -12,8 +13,8 @@ namespace VSoft.Prams
public class Itrycn_Db public class Itrycn_Db
{ {
public static string SQLConnStr_SysDb = "<app>\\SysDb\\SysConfig.dat"; public static string SQLConnStr_SysDb = "<app>\\SysDb\\SysConfig.dat";
public static string SQLConnStr = "<app>\\UserDb\\Softs.dat|"; public static string SQLConnStr = Soft_Info.UserDataFolder+ "\\Softs.dat|";
public static string SQLConnStr_Logs = "<app>\\UserDb\\logs.dat|"; public static string SQLConnStr_Logs = Soft_Info.UserDataFolder + "\\logs.dat|";
public static DataProvider.DataProviderType dataType = DataProvider.DataProviderType.SQLiteDataProvider; public static DataProvider.DataProviderType dataType = DataProvider.DataProviderType.SQLiteDataProvider;
public static IDbInterface CreateDataProvider(DataProviderType dataProviderType) public static IDbInterface CreateDataProvider(DataProviderType dataProviderType)
{ {
@ -164,6 +165,7 @@ namespace VSoft.Prams
mySQL.AddField("ClickCount",0);//点击量 mySQL.AddField("ClickCount",0);//点击量
mySQL.AddField("SetJson", "");//设置 mySQL.AddField("SetJson", "");//设置
mySQL.AddField("Des", "");//备注 mySQL.AddField("Des", "");//备注
mySQL.AddField("Hotkey", "");//快捷键
mySQL.AddField("PinYin", "");//拼音 mySQL.AddField("PinYin", "");//拼音
mySQL.AddField("ColumnId", 0);//栏目ID mySQL.AddField("ColumnId", 0);//栏目ID
mySQL.AddField("sortindex", 0); mySQL.AddField("sortindex", 0);

View File

@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示: //通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.2107.0501")] [assembly: AssemblyVersion("1.0.2109.0701")]
[assembly: AssemblyFileVersion("1.0.2107.0501")] [assembly: AssemblyFileVersion("1.0.2109.0701")]

View File

@ -18,7 +18,7 @@
<DebugType>full</DebugType> <DebugType>full</DebugType>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<OutputPath>..\..\Bin\Debug\VSoft\</OutputPath> <OutputPath>..\..\Bin\Debug\VSoft\</OutputPath>
<DefineConstants>TRACE;DEBUG</DefineConstants> <DefineConstants>TRACE;DEBUG;DY</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>