Compare commits
9 Commits
3869ec013b
...
0e070635ae
Author | SHA1 | Date | |
---|---|---|---|
0e070635ae | |||
4afd0f7c6f | |||
28d84616e8 | |||
|
96e9feaa03 | ||
|
8648407df3 | ||
|
a4462136c9 | ||
|
574e29870d | ||
|
150b39ca18 | ||
64e190aa7b |
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -4,3 +4,4 @@ Res/
|
|||
*.pdb
|
||||
**/dcu
|
||||
*.dcu
|
||||
/Source/.vs
|
||||
|
|
Binary file not shown.
3
Bin/Debug/VSoft/DyLine.exe.config
Normal file
3
Bin/Debug/VSoft/DyLine.exe.config
Normal file
|
@ -0,0 +1,3 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/></startup></configuration>
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
@ -358,6 +358,30 @@
|
|||
<param name="Parameter"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommonDb.SQLiteDataProvider.ExecuteNonQuery(ryCommonDb.RyQuickSQL,System.String,System.Boolean)">
|
||||
<summary>
|
||||
执行SQL语句
|
||||
</summary>
|
||||
<param name="mySQL"></param>
|
||||
<param name="wheresql">只针对IsAdd为false才生效,where 以后的sql语句</param>
|
||||
<param name="IsAdd">是新增还是更新</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommonDb.SQLiteDataProvider.Insert(ryCommonDb.RyQuickSQL)">
|
||||
<summary>
|
||||
插入数据库
|
||||
</summary>
|
||||
<param name="mySQL"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommonDb.SQLiteDataProvider.Update(ryCommonDb.RyQuickSQL,System.String)">
|
||||
<summary>
|
||||
更新数据库
|
||||
</summary>
|
||||
<param name="mySQL"></param>
|
||||
<param name="wheresql">where 以后的sql语句</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommonDb.SQLiteDataProvider.ExecuteNonQuery(System.String,ryCommonDb.RyQuickSQL)">
|
||||
<summary>
|
||||
|
||||
|
|
Binary file not shown.
BIN
Bin/Debug/VSoft/RaUI.dll
Normal file
BIN
Bin/Debug/VSoft/RaUI.dll
Normal file
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 4.5 KiB |
Binary file not shown.
Binary file not shown.
|
@ -1,3 +1,3 @@
|
|||
<root>
|
||||
<list id="Setting" ShowMainHotKey="1+88" OpenByClick="0" HideAfterRun="1" ShowMainMouseKeyOn="1" ShowMainMouseKey="1" />
|
||||
<list id="Setting" ShowMainHotKey="1+88" OpenByClick="0" HideAfterRun="1" ShowMainMouseKeyOn="1" ShowMainMouseKey="2" />
|
||||
</root>
|
BIN
Bin/Debug/VSoft/UserDb/SoftLogos/20210907135620.exe
Normal file
BIN
Bin/Debug/VSoft/UserDb/SoftLogos/20210907135620.exe
Normal file
Binary file not shown.
Binary file not shown.
|
@ -1,8 +1,8 @@
|
|||
[VSoft]
|
||||
hwnd=1577024
|
||||
width=733
|
||||
height=570
|
||||
hwnd=331696
|
||||
width=745
|
||||
height=543
|
||||
[VSoft_Test]
|
||||
hwnd=987400
|
||||
hwnd=657946
|
||||
width=733
|
||||
height=570
|
||||
|
|
Binary file not shown.
Binary file not shown.
3
Bin/Debug/VSoft/VSoftBox.exe.config
Normal file
3
Bin/Debug/VSoft/VSoftBox.exe.config
Normal 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>
|
|
@ -1,3 +1,3 @@
|
|||
<root>
|
||||
<list id="LastUpdateTime" Value="2021/6/15 10:04:53" />
|
||||
<list id="LastUpdateTime" Value="2021/9/7 13:56:03" />
|
||||
</root>
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
BIN
Bin/Debug/VSoft/x64/SQLite.Interop.dll
Normal file
BIN
Bin/Debug/VSoft/x64/SQLite.Interop.dll
Normal file
Binary file not shown.
BIN
Bin/Debug/VSoft/x86/SQLite.Interop.dll
Normal file
BIN
Bin/Debug/VSoft/x86/SQLite.Interop.dll
Normal file
Binary file not shown.
54
CHANGELOG.md
54
CHANGELOG.md
|
@ -1,4 +1,56 @@
|
|||
### 2021-03-08更新
|
||||
### 2022-11-30更新
|
||||
------
|
||||
#### VSoft V1.0.2211.3001
|
||||
- *.[改进]翻译多线程进行,并解决不能多行翻译的BUG。
|
||||
|
||||
### 2022-04-16更新
|
||||
------
|
||||
#### VSoft V1.0.2204.1601
|
||||
- *.[改进]启动时加载图标缓存,增加切换分组的流畅度。
|
||||
|
||||
### 2022-02-20更新
|
||||
------
|
||||
#### VSoft V1.0.2202.2001
|
||||
- *.[改进]删除鼠标移上去提示功能。
|
||||
|
||||
### 2022-02-10更新
|
||||
------
|
||||
#### VSoft V1.0.2202.1001
|
||||
- *.[改进]优化点击分组时的卡顿问题。
|
||||
|
||||
### 2021-10-18更新
|
||||
------
|
||||
#### VSoft V1.0.2110.1801
|
||||
- *.[修复]修复在流程软件目录下,无法准确获取数据库目录的BUG。
|
||||
### 2021-10-09更新
|
||||
------
|
||||
#### VSoft V1.0.2110.0901
|
||||
- *.[修复]修复添加软件和添加分类时,相同热键依然能添加的BUG。
|
||||
|
||||
### 2021-10-08更新
|
||||
------
|
||||
#### VSoft V1.0.2110.0801
|
||||
- *.[新增]新增支持将分类绑定快捷键。
|
||||
- *.[修复]修复新增软件后,热键可能设置不正确的BUG
|
||||
|
||||
### 2021-09-07更新
|
||||
------
|
||||
#### VSoft V1.0.2109.0701
|
||||
- *.[新增]新增支持设置软件全局快捷键。
|
||||
|
||||
### 2021-07-05更新
|
||||
------
|
||||
#### VSoft V1.0.2107.0501
|
||||
- *.[新增]新增适配原生64位系统。
|
||||
- *.[修复]修复将侧键作为热键时,点击两个侧键都会激活软件的BUG。
|
||||
- *.[修复]修复点击主界面中设置按钮,设置按钮没在父窗体居中的BUG。
|
||||
- *.[修复]修复在右键菜单中无法编辑和新增软件的BUG。
|
||||
- *.[修复]修复主界面右键菜单打开的窗体没居中的BUG。
|
||||
|
||||
#### VSoftBox V1.0.2107.0401
|
||||
- *.[新增]新增适配原生64位系统。
|
||||
|
||||
### 2021-03-08更新
|
||||
------
|
||||
#### VSoft V1.0.2103.0801
|
||||
- *.[改进]改进公司条件下的皮肤,更美观。
|
||||
|
|
Binary file not shown.
|
@ -8,19 +8,21 @@
|
|||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>DyLine</RootNamespace>
|
||||
<AssemblyName>DyLine</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\Bin\Debug\VSoft\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DefineConstants>DEBUG;TRACE;DY;TEST</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
|
@ -30,6 +32,7 @@
|
|||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
|
@ -45,18 +48,9 @@
|
|||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="clsMsg.cs" />
|
||||
<Compile Include="Form1.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Form1.Designer.cs">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="ryMemoryShare.cs" />
|
||||
<EmbeddedResource Include="Form1.resx">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
|
@ -65,7 +59,9 @@
|
|||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<None Include="app.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
|
|
48
Source/DyLine/Form1.Designer.cs
generated
48
Source/DyLine/Form1.Designer.cs
generated
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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>
|
|
@ -26,6 +26,7 @@ namespace DyLine
|
|||
clsMsg ryMsg = new clsMsg();
|
||||
ryMsg.SendMsgToryProcess(0, item);//向流程软件发送连接信息
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
|||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("DyLine")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2020")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2021")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
|
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
||||
//通过使用 "*",如下所示:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
[assembly: AssemblyVersion("2.0.2110.1801")]
|
||||
[assembly: AssemblyFileVersion("2.0.2110.1801")]
|
43
Source/DyLine/Properties/Resources.Designer.cs
generated
43
Source/DyLine/Properties/Resources.Designer.cs
generated
|
@ -1,48 +1,44 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 此代码由工具生成。
|
||||
// 运行时版本: 4.0.30319.42000
|
||||
// 运行时版本:4.0.30319.42000
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace DyLine.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
namespace DyLine.Properties
|
||||
{
|
||||
/// <summary>
|
||||
/// 强类型资源类,用于查找本地化字符串等。
|
||||
/// 一个强类型的资源类,用于查找本地化的字符串等。
|
||||
/// </summary>
|
||||
// 此类是由 StronglyTypedResourceBuilder
|
||||
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
|
||||
// 若要添加或删除成员,请编辑 .ResX 文件,然后重新运行 ResGen
|
||||
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
|
||||
// (以 /str 作为命令选项),或重新生成 VS 项目。
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources
|
||||
{
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources()
|
||||
{
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 返回此类使用的缓存 ResourceManager 实例。
|
||||
/// 返回此类使用的缓存的 ResourceManager 实例。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager
|
||||
{
|
||||
get
|
||||
{
|
||||
if ((resourceMan == null))
|
||||
{
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("DyLine.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
|
@ -55,14 +51,11 @@ namespace DyLine.Properties
|
|||
/// 使用此强类型资源类的所有资源查找执行重写。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture
|
||||
{
|
||||
get
|
||||
{
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set
|
||||
{
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
|
23
Source/DyLine/Properties/Settings.Designer.cs
generated
23
Source/DyLine/Properties/Settings.Designer.cs
generated
|
@ -1,27 +1,24 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <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>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace DyLine.Properties {
|
||||
|
||||
|
||||
namespace DyLine.Properties
|
||||
{
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
|
||||
{
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.2.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default
|
||||
{
|
||||
get
|
||||
{
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
|
|
3
Source/DyLine/app.config
Normal file
3
Source/DyLine/app.config
Normal 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
29
Source/VSoftBox/Init.cs
Normal 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());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,6 +1,9 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
#if DY
|
||||
using System.Reflection;
|
||||
#endif
|
||||
using System.Windows.Forms;
|
||||
using VSoft.Config;
|
||||
|
||||
|
@ -8,27 +11,49 @@ namespace VSoftBox
|
|||
{
|
||||
static class Program
|
||||
{
|
||||
static System.Threading.Mutex run;
|
||||
#if DY
|
||||
/// <summary>
|
||||
/// 流程软件路径
|
||||
/// </summary>
|
||||
static string ProcessPath;
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// 应用程序的主入口点。
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main(string[] args)
|
||||
{
|
||||
#if DY
|
||||
var sub_dir = @"\SysDb\Tools\VSoft";
|
||||
if (Application.StartupPath.EndsWith(sub_dir, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
ProcessPath = Application.StartupPath.Substring(0, Application.StartupPath.Length - sub_dir.Length);
|
||||
AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
|
||||
Soft_Info.UserDataFolder = ProcessPath+"\\UserDb\\Tools\\VSoft";
|
||||
}
|
||||
#endif
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Soft_Info.UserDataFolder = ryCommon.RyFiles.GetRealPath(Soft_Info.UserDataFolder);
|
||||
run = new System.Threading.Mutex(true, Soft_Info.Soft_Id, out bool runone);
|
||||
if (!runone) //已经运行了
|
||||
Init.Show(args);
|
||||
}
|
||||
#if DY
|
||||
static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
|
||||
{
|
||||
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);
|
||||
AssemblyName assemblyName = new AssemblyName(args.Name);
|
||||
if (System.IO.File.Exists(ProcessPath + @"\" + assemblyName.Name + ".dll"))
|
||||
{
|
||||
return Assembly.LoadFrom(ProcessPath + @"\" + assemblyName.Name + ".dll");
|
||||
}
|
||||
else if (System.IO.File.Exists(ProcessPath + @"\Bin\dlls\" + assemblyName.Name + ".dll"))
|
||||
{
|
||||
return Assembly.LoadFrom(ProcessPath + @"\Bin\dlls\" + assemblyName.Name + ".dll");
|
||||
}
|
||||
else
|
||||
{
|
||||
Application.Run(new VSoft.FrmVSoft(args));
|
||||
//Application.Run(new WindowsFormsApp2.Form1());
|
||||
return args.RequestingAssembly;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
||||
//通过使用 "*",如下所示:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.2103.0801")]
|
||||
[assembly: AssemblyFileVersion("1.0.2103.0801")]
|
||||
[assembly: AssemblyVersion("1.0.2302.1501")]
|
||||
[assembly: AssemblyFileVersion("1.0.2302.1501")]
|
46
Source/VSoftBox/Properties/Resources.Designer.cs
generated
46
Source/VSoftBox/Properties/Resources.Designer.cs
generated
|
@ -1,49 +1,44 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 此代码由工具生成。
|
||||
// 运行时版本: 4.0.30319.42000
|
||||
// 运行时版本:4.0.30319.42000
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace VSoftBox.Properties
|
||||
{
|
||||
namespace VSoftBox.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 强类型资源类,用于查找本地化字符串等。
|
||||
/// 一个强类型的资源类,用于查找本地化的字符串等。
|
||||
/// </summary>
|
||||
// 此类是由 StronglyTypedResourceBuilder
|
||||
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
|
||||
// 若要添加或删除成员,请编辑 .ResX 文件,然后重新运行 ResGen
|
||||
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
|
||||
// (以 /str 作为命令选项),或重新生成 VS 项目。
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources
|
||||
{
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources()
|
||||
{
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 返回此类使用的缓存 ResourceManager 实例。
|
||||
/// 返回此类使用的缓存的 ResourceManager 实例。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager
|
||||
{
|
||||
get
|
||||
{
|
||||
if ((resourceMan == null))
|
||||
{
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("VSoftBox.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
|
@ -52,18 +47,15 @@ namespace VSoftBox.Properties
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// 覆盖当前线程的 CurrentUICulture 属性
|
||||
/// 使用此强类型的资源类的资源查找。
|
||||
/// 重写当前线程的 CurrentUICulture 属性,对
|
||||
/// 使用此强类型资源类的所有资源查找执行重写。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture
|
||||
{
|
||||
get
|
||||
{
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set
|
||||
{
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
|
22
Source/VSoftBox/Properties/Settings.Designer.cs
generated
22
Source/VSoftBox/Properties/Settings.Designer.cs
generated
|
@ -1,28 +1,24 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <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>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace VSoftBox.Properties
|
||||
{
|
||||
namespace VSoftBox.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
|
||||
{
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.5.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default
|
||||
{
|
||||
get
|
||||
{
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,19 +8,21 @@
|
|||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>VSoftBox</RootNamespace>
|
||||
<AssemblyName>VSoftBox</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\Bin\Debug\VSoft\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;DY</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
|
@ -30,18 +32,15 @@
|
|||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>项目5.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="MyDb, Version=2.1.2011.901, Culture=neutral, processorArchitecture=MSIL">
|
||||
<Reference Include="RaUI, Version=4.0.2302.1401, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Bin\Debug\VSoft\MyDb.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="ryControls, Version=2.1.2006.3001, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Bin\Debug\VSoft\ryControls.dll</HintPath>
|
||||
<HintPath>..\..\Bin\Debug\VSoft\RaUI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
|
@ -55,6 +54,7 @@
|
|||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Init.cs" />
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
|
@ -65,7 +65,9 @@
|
|||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<None Include="app.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
|
|
3
Source/VSoftBox/app.config
Normal file
3
Source/VSoftBox/app.config
Normal 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>
|
|
@ -3,6 +3,7 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace VSoft.Config
|
||||
{
|
||||
|
@ -39,6 +40,14 @@ namespace VSoft.Config
|
|||
/// 启动软件后隐藏自身
|
||||
/// </summary>
|
||||
public static bool HideAfterRun = true;
|
||||
public static Form MainForm { get; set; }
|
||||
/// <summary>
|
||||
/// 当前软件加载的热键列表
|
||||
/// </summary>
|
||||
public static List<HotKeyItem> HotKeyList = new List<HotKeyItem>();
|
||||
/// <summary>
|
||||
/// 获取设置
|
||||
/// </summary>
|
||||
public static void LoadSetting()
|
||||
{
|
||||
ryCommon.Storage Stor = new Storage();
|
||||
|
@ -51,5 +60,69 @@ namespace VSoft.Config
|
|||
ShowMainMouseKey = Stor.GetAttrValue("ShowMainMouseKey", 0);
|
||||
//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; } = "";
|
||||
|
||||
}
|
||||
}
|
||||
|
|
18
Source/VSoft_Dll/Config/frmSetting.Designer.cs
generated
18
Source/VSoft_Dll/Config/frmSetting.Designer.cs
generated
|
@ -60,8 +60,9 @@
|
|||
// btnCancel
|
||||
//
|
||||
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)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
|
||||
this.btnCancel.Location = new System.Drawing.Point(488, 462);
|
||||
this.btnCancel.BaseColor = System.Drawing.Color.Teal;
|
||||
this.btnCancel.ColorGradient = true;
|
||||
this.btnCancel.Location = new System.Drawing.Point(393, 389);
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.Size = new System.Drawing.Size(79, 30);
|
||||
this.btnCancel.TabIndex = 22;
|
||||
|
@ -72,8 +73,9 @@
|
|||
// btnOK
|
||||
//
|
||||
this.btnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnOK.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
|
||||
this.btnOK.Location = new System.Drawing.Point(403, 462);
|
||||
this.btnOK.BaseColor = System.Drawing.Color.Teal;
|
||||
this.btnOK.ColorGradient = true;
|
||||
this.btnOK.Location = new System.Drawing.Point(308, 389);
|
||||
this.btnOK.Name = "btnOK";
|
||||
this.btnOK.Size = new System.Drawing.Size(79, 30);
|
||||
this.btnOK.TabIndex = 21;
|
||||
|
@ -96,7 +98,7 @@
|
|||
this.chromeTabControl1.SelectedIndex = 0;
|
||||
this.chromeTabControl1.ShowAddButton = false;
|
||||
this.chromeTabControl1.ShowCloseButton = false;
|
||||
this.chromeTabControl1.Size = new System.Drawing.Size(568, 426);
|
||||
this.chromeTabControl1.Size = new System.Drawing.Size(473, 353);
|
||||
this.chromeTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
|
||||
this.chromeTabControl1.TabContextMenuStrip = null;
|
||||
this.chromeTabControl1.TabIndex = 23;
|
||||
|
@ -115,7 +117,7 @@
|
|||
this.tabPage2.Location = new System.Drawing.Point(1, 29);
|
||||
this.tabPage2.Name = "tabPage2";
|
||||
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage2.Size = new System.Drawing.Size(566, 396);
|
||||
this.tabPage2.Size = new System.Drawing.Size(471, 323);
|
||||
this.tabPage2.TabIndex = 0;
|
||||
this.tabPage2.Text = "普通";
|
||||
this.tabPage2.UseVisualStyleBackColor = true;
|
||||
|
@ -203,13 +205,13 @@
|
|||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(577, 504);
|
||||
this.ClientSize = new System.Drawing.Size(482, 431);
|
||||
this.Controls.Add(this.chromeTabControl1);
|
||||
this.Controls.Add(this.btnCancel);
|
||||
this.Controls.Add(this.btnOK);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "FrmSetting";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "设置";
|
||||
this.Load += new System.EventHandler(this.FrmSetting_Load);
|
||||
this.Resize += new System.EventHandler(this.FrmSetting_Resize);
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using ryCommon;
|
||||
using ryCommonDb;
|
||||
using ryControls;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
@ -8,6 +9,7 @@ using System.Drawing;
|
|||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using VSoft.Prams;
|
||||
|
||||
namespace VSoft.Config
|
||||
{
|
||||
|
@ -29,6 +31,26 @@ namespace VSoft.Config
|
|||
|
||||
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();
|
||||
ryCommon.RyRegedit.RegRoot = Microsoft.Win32.RegistryHive.CurrentUser;
|
||||
ryCommon.RyRegedit.SetAutoRun(ChkAutoRun.Checked, Soft_Info.Soft_Id, "\"" + Application.ExecutablePath.Replace("/","\\") + "\" "+ Soft_Info.Soft_Pram);
|
||||
|
|
11
Source/VSoft_Dll/FrmAbout.Designer.cs
generated
11
Source/VSoft_Dll/FrmAbout.Designer.cs
generated
|
@ -78,7 +78,7 @@
|
|||
this.label7.AutoSize = true;
|
||||
this.label7.BackColor = System.Drawing.Color.Transparent;
|
||||
this.label7.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||
this.label7.Location = new System.Drawing.Point(13, 321);
|
||||
this.label7.Location = new System.Drawing.Point(13, 333);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(467, 12);
|
||||
this.label7.TabIndex = 20;
|
||||
|
@ -101,7 +101,7 @@
|
|||
this.label3.AutoSize = true;
|
||||
this.label3.BackColor = System.Drawing.Color.Transparent;
|
||||
this.label3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||
this.label3.Location = new System.Drawing.Point(12, 343);
|
||||
this.label3.Location = new System.Drawing.Point(12, 355);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(365, 12);
|
||||
this.label3.TabIndex = 18;
|
||||
|
@ -164,7 +164,7 @@
|
|||
this.pnlTopLogo.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.pnlTopLogo.Location = new System.Drawing.Point(1, 27);
|
||||
this.pnlTopLogo.Name = "pnlTopLogo";
|
||||
this.pnlTopLogo.Size = new System.Drawing.Size(491, 59);
|
||||
this.pnlTopLogo.Size = new System.Drawing.Size(493, 59);
|
||||
this.pnlTopLogo.TabIndex = 8;
|
||||
//
|
||||
// lblTitle
|
||||
|
@ -184,7 +184,7 @@
|
|||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.Color.White;
|
||||
this.ClientSize = new System.Drawing.Size(493, 362);
|
||||
this.ClientSize = new System.Drawing.Size(495, 374);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.label7);
|
||||
this.Controls.Add(this.label6);
|
||||
|
@ -196,11 +196,10 @@
|
|||
this.Controls.Add(this.lblVisitUrl);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.pnlTopLogo);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.Name = "FrmAbout";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "关于";
|
||||
this.Load += new System.EventHandler(this.FrmAbout_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
|
|
14
Source/VSoft_Dll/FrmAddColumn.Designer.cs
generated
14
Source/VSoft_Dll/FrmAddColumn.Designer.cs
generated
|
@ -40,8 +40,9 @@
|
|||
// BtnCancel
|
||||
//
|
||||
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)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
|
||||
this.BtnCancel.Location = new System.Drawing.Point(264, 131);
|
||||
this.BtnCancel.BaseColor = System.Drawing.Color.Teal;
|
||||
this.BtnCancel.ColorGradient = true;
|
||||
this.BtnCancel.Location = new System.Drawing.Point(262, 130);
|
||||
this.BtnCancel.Name = "BtnCancel";
|
||||
this.BtnCancel.Size = new System.Drawing.Size(75, 27);
|
||||
this.BtnCancel.TabIndex = 10;
|
||||
|
@ -52,8 +53,9 @@
|
|||
// BtnOK
|
||||
//
|
||||
this.BtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.BtnOK.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
|
||||
this.BtnOK.Location = new System.Drawing.Point(183, 131);
|
||||
this.BtnOK.BaseColor = System.Drawing.Color.Teal;
|
||||
this.BtnOK.ColorGradient = true;
|
||||
this.BtnOK.Location = new System.Drawing.Point(181, 130);
|
||||
this.BtnOK.Name = "BtnOK";
|
||||
this.BtnOK.Size = new System.Drawing.Size(75, 27);
|
||||
this.BtnOK.TabIndex = 9;
|
||||
|
@ -123,14 +125,14 @@
|
|||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(350, 165);
|
||||
this.ClientSize = new System.Drawing.Size(348, 164);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.TxtDes);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.TxtName);
|
||||
this.Controls.Add(this.BtnCancel);
|
||||
this.Controls.Add(this.BtnOK);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.Name = "FrmAddColumn";
|
||||
|
|
54
Source/VSoft_Dll/FrmAddSoft.Designer.cs
generated
54
Source/VSoft_Dll/FrmAddSoft.Designer.cs
generated
|
@ -43,6 +43,8 @@
|
|||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.chromeTabControl1 = new ryControls.ChromeTabControl();
|
||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.hotkeyTextBox1 = new ryControls.HotkeyTextBox();
|
||||
this.ChkRunAsAdmin = new System.Windows.Forms.CheckBox();
|
||||
this.BtnBrowser = new ryControls.ButtonEx();
|
||||
this.TxtStartPath = new ryControls.TextBoxEx2();
|
||||
|
@ -115,7 +117,7 @@
|
|||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(239, 39);
|
||||
this.label6.Location = new System.Drawing.Point(239, 38);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(65, 12);
|
||||
this.label6.TabIndex = 13;
|
||||
|
@ -128,7 +130,7 @@
|
|||
this.LblCustomImg.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.LblCustomImg.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.LblCustomImg.ForeColor = System.Drawing.Color.DodgerBlue;
|
||||
this.LblCustomImg.Location = new System.Drawing.Point(448, 125);
|
||||
this.LblCustomImg.Location = new System.Drawing.Point(576, 125);
|
||||
this.LblCustomImg.Name = "LblCustomImg";
|
||||
this.LblCustomImg.Size = new System.Drawing.Size(86, 18);
|
||||
this.LblCustomImg.TabIndex = 12;
|
||||
|
@ -151,7 +153,7 @@
|
|||
this.TxtDes.SelectedText = "";
|
||||
this.TxtDes.SelectionLength = 0;
|
||||
this.TxtDes.SelectionStart = 0;
|
||||
this.TxtDes.Size = new System.Drawing.Size(385, 80);
|
||||
this.TxtDes.Size = new System.Drawing.Size(513, 80);
|
||||
this.TxtDes.TabIndex = 11;
|
||||
this.TxtDes.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
||||
this.TxtDes.ToolTip = "";
|
||||
|
@ -181,7 +183,7 @@
|
|||
this.chromeTabControl1.SelectedIndex = 0;
|
||||
this.chromeTabControl1.ShowAddButton = false;
|
||||
this.chromeTabControl1.ShowCloseButton = false;
|
||||
this.chromeTabControl1.Size = new System.Drawing.Size(522, 306);
|
||||
this.chromeTabControl1.Size = new System.Drawing.Size(650, 415);
|
||||
this.chromeTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
|
||||
this.chromeTabControl1.TabContextMenuStrip = null;
|
||||
this.chromeTabControl1.TabIndex = 9;
|
||||
|
@ -189,6 +191,8 @@
|
|||
//
|
||||
// tabPage1
|
||||
//
|
||||
this.tabPage1.Controls.Add(this.label7);
|
||||
this.tabPage1.Controls.Add(this.hotkeyTextBox1);
|
||||
this.tabPage1.Controls.Add(this.ChkRunAsAdmin);
|
||||
this.tabPage1.Controls.Add(this.BtnBrowser);
|
||||
this.tabPage1.Controls.Add(this.TxtStartPath);
|
||||
|
@ -200,11 +204,31 @@
|
|||
this.tabPage1.Location = new System.Drawing.Point(1, 29);
|
||||
this.tabPage1.Name = "tabPage1";
|
||||
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage1.Size = new System.Drawing.Size(520, 276);
|
||||
this.tabPage1.Size = new System.Drawing.Size(648, 385);
|
||||
this.tabPage1.TabIndex = 0;
|
||||
this.tabPage1.Text = "运行";
|
||||
this.tabPage1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(6, 153);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(53, 12);
|
||||
this.label7.TabIndex = 11;
|
||||
this.label7.Text = "运行热键";
|
||||
//
|
||||
// hotkeyTextBox1
|
||||
//
|
||||
this.hotkeyTextBox1.BackColor = System.Drawing.Color.White;
|
||||
this.hotkeyTextBox1.HotKey = "0+0";
|
||||
this.hotkeyTextBox1.Location = new System.Drawing.Point(8, 168);
|
||||
this.hotkeyTextBox1.Name = "hotkeyTextBox1";
|
||||
this.hotkeyTextBox1.Size = new System.Drawing.Size(244, 26);
|
||||
this.hotkeyTextBox1.T_Key = System.Windows.Forms.Keys.None;
|
||||
this.hotkeyTextBox1.T_Modifiers = 0;
|
||||
this.hotkeyTextBox1.TabIndex = 10;
|
||||
//
|
||||
// ChkRunAsAdmin
|
||||
//
|
||||
this.ChkRunAsAdmin.AutoSize = true;
|
||||
|
@ -217,7 +241,7 @@
|
|||
//
|
||||
// BtnBrowser
|
||||
//
|
||||
this.BtnBrowser.BaseColor = System.Drawing.Color.DarkGreen;
|
||||
this.BtnBrowser.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(20)))));
|
||||
this.BtnBrowser.ColorGradient = true;
|
||||
this.BtnBrowser.Location = new System.Drawing.Point(463, 20);
|
||||
this.BtnBrowser.Name = "BtnBrowser";
|
||||
|
@ -318,9 +342,9 @@
|
|||
// BtnCancel
|
||||
//
|
||||
this.BtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.BtnCancel.BaseColor = System.Drawing.Color.DarkGreen;
|
||||
this.BtnCancel.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(20)))));
|
||||
this.BtnCancel.ColorGradient = true;
|
||||
this.BtnCancel.Location = new System.Drawing.Point(458, 467);
|
||||
this.BtnCancel.Location = new System.Drawing.Point(586, 576);
|
||||
this.BtnCancel.Name = "BtnCancel";
|
||||
this.BtnCancel.Size = new System.Drawing.Size(75, 27);
|
||||
this.BtnCancel.TabIndex = 8;
|
||||
|
@ -331,9 +355,9 @@
|
|||
// BtnOK
|
||||
//
|
||||
this.BtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.BtnOK.BaseColor = System.Drawing.Color.DarkGreen;
|
||||
this.BtnOK.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(20)))));
|
||||
this.BtnOK.ColorGradient = true;
|
||||
this.BtnOK.Location = new System.Drawing.Point(377, 467);
|
||||
this.BtnOK.Location = new System.Drawing.Point(505, 576);
|
||||
this.BtnOK.Name = "BtnOK";
|
||||
this.BtnOK.Size = new System.Drawing.Size(75, 27);
|
||||
this.BtnOK.TabIndex = 7;
|
||||
|
@ -347,7 +371,7 @@
|
|||
this.PicImg.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.PicImg.ContextMenuStrip = this.contextMenuStrip1;
|
||||
this.PicImg.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.PicImg.Location = new System.Drawing.Point(448, 36);
|
||||
this.PicImg.Location = new System.Drawing.Point(576, 36);
|
||||
this.PicImg.Name = "PicImg";
|
||||
this.PicImg.Size = new System.Drawing.Size(86, 86);
|
||||
this.PicImg.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
|
@ -358,7 +382,7 @@
|
|||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(10, 39);
|
||||
this.label1.Location = new System.Drawing.Point(10, 38);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(41, 12);
|
||||
this.label1.TabIndex = 1;
|
||||
|
@ -388,7 +412,7 @@
|
|||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(543, 506);
|
||||
this.ClientSize = new System.Drawing.Size(671, 615);
|
||||
this.Controls.Add(this.TxtCmdId);
|
||||
this.Controls.Add(this.label6);
|
||||
this.Controls.Add(this.LblCustomImg);
|
||||
|
@ -403,8 +427,6 @@
|
|||
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.ShadowWidth = 0;
|
||||
this.ShowShadow = true;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "添加软件";
|
||||
this.Load += new System.EventHandler(this.FrmAddSoft_Load);
|
||||
|
@ -446,5 +468,7 @@
|
|||
private System.Windows.Forms.Label label6;
|
||||
private ryControls.TextBoxEx2 TxtCmdId;
|
||||
private System.Windows.Forms.ToolTip toolTip1;
|
||||
private System.Windows.Forms.Label label7;
|
||||
public ryControls.HotkeyTextBox hotkeyTextBox1;
|
||||
}
|
||||
}
|
|
@ -65,6 +65,7 @@ namespace VSoft
|
|||
TxtPath.Text = reader["Path"].ToString();
|
||||
TxtRunPram.Text = reader["RunPram"].ToString();
|
||||
TxtStartPath.Text = reader["StartPath"].ToString();
|
||||
hotkeyTextBox1.HotKey = reader["Hotkey"].ToString();
|
||||
Json json = new Json(reader["SetJson"].ToString());
|
||||
ChkRunAsAdmin.Checked = json.GetJsonValue("RunAsAdmin", false);
|
||||
var _IconPath = reader["IconPath"].ToString();
|
||||
|
@ -84,7 +85,10 @@ namespace VSoft
|
|||
}
|
||||
db.Free();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 当前操作的id
|
||||
/// </summary>
|
||||
public int Op_Id { get; set; } = -1;
|
||||
private void BtnOK_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (TxtName.Text.Length == 0)
|
||||
|
@ -126,6 +130,26 @@ namespace VSoft
|
|||
}
|
||||
ds.Dispose();
|
||||
}
|
||||
if (hotkeyTextBox1.HaveHotKey)
|
||||
{
|
||||
var ds_soft = db.ReadData("select * from " + tableName + " where Hotkey='" + hotkeyTextBox1.HotKey + "' and id<>" + SelectId + " limit 1");
|
||||
var ds_type = db.ReadData("select * from Columns where Hotkey='" + hotkeyTextBox1.HotKey + "' limit 1");
|
||||
if (mydb.HaveData(ds_soft) || ds_type.HaveData())
|
||||
{
|
||||
Msg.ShowMsg("当前热键已经存在,请更换热键。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
ds_soft.Dispose(); ds_type.Dispose(); return;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(Config.Soft_Config.IsHotKeyExistInList(hotkeyTextBox1.HotKey)>=0)
|
||||
{
|
||||
Msg.ShowMsg("当前热键已经存在,请更换热键。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
ds_soft.Dispose(); ds_type.Dispose(); return;
|
||||
}
|
||||
}
|
||||
ds_soft.Dispose();
|
||||
ds_type.Dispose();
|
||||
}
|
||||
RyQuickSQL mySQL = new RyQuickSQL(tableName);
|
||||
mySQL.AddField("Name", TxtName.Text);
|
||||
mySQL.AddField("CmdId", TxtCmdId.Text);
|
||||
|
@ -137,6 +161,7 @@ namespace VSoft
|
|||
json.Add("RunAsAdmin", ChkRunAsAdmin.Checked);
|
||||
mySQL.AddField("SetJson", json.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("editTime", DateTime.Now);
|
||||
if (IsAdd >= 1)
|
||||
|
@ -146,11 +171,17 @@ namespace VSoft
|
|||
mySQL.AddField("ColumnId",ColumnId);
|
||||
mySQL.AddField("sortindex",Itrycn_Db.GetSoftCount(db, ColumnId) + 1);
|
||||
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
|
||||
{
|
||||
db.ExecuteNonQuery(mySQL.GetUpdateSQL() + " where id=" + SelectId, mySQL);
|
||||
Op_Id = SelectId;
|
||||
}
|
||||
}
|
||||
db.Free();
|
||||
|
|
45
Source/VSoft_Dll/FrmAddType.Designer.cs
generated
45
Source/VSoft_Dll/FrmAddType.Designer.cs
generated
|
@ -35,12 +35,14 @@
|
|||
this.TxtName = new ryControls.TextBoxEx2();
|
||||
this.BtnCancel = new ryControls.ButtonEx();
|
||||
this.BtnOK = new ryControls.ButtonEx();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.hotkeyTextBox1 = new ryControls.HotkeyTextBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(12, 81);
|
||||
this.label2.Location = new System.Drawing.Point(12, 77);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(29, 12);
|
||||
this.label2.TabIndex = 16;
|
||||
|
@ -50,7 +52,7 @@
|
|||
//
|
||||
this.TxtDes.BackColor = System.Drawing.Color.White;
|
||||
this.TxtDes.EmptyText = "";
|
||||
this.TxtDes.Location = new System.Drawing.Point(12, 101);
|
||||
this.TxtDes.Location = new System.Drawing.Point(12, 95);
|
||||
this.TxtDes.MaxLength = 999999999;
|
||||
this.TxtDes.Multiline = false;
|
||||
this.TxtDes.Name = "TxtDes";
|
||||
|
@ -79,7 +81,7 @@
|
|||
//
|
||||
this.TxtName.BackColor = System.Drawing.Color.White;
|
||||
this.TxtName.EmptyText = "";
|
||||
this.TxtName.Location = new System.Drawing.Point(12, 54);
|
||||
this.TxtName.Location = new System.Drawing.Point(12, 50);
|
||||
this.TxtName.MaxLength = 999999999;
|
||||
this.TxtName.Multiline = false;
|
||||
this.TxtName.Name = "TxtName";
|
||||
|
@ -98,8 +100,9 @@
|
|||
// BtnCancel
|
||||
//
|
||||
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)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
|
||||
this.BtnCancel.Location = new System.Drawing.Point(264, 128);
|
||||
this.BtnCancel.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(20)))));
|
||||
this.BtnCancel.ColorGradient = true;
|
||||
this.BtnCancel.Location = new System.Drawing.Point(263, 180);
|
||||
this.BtnCancel.Name = "BtnCancel";
|
||||
this.BtnCancel.Size = new System.Drawing.Size(75, 27);
|
||||
this.BtnCancel.TabIndex = 10;
|
||||
|
@ -110,8 +113,9 @@
|
|||
// BtnOK
|
||||
//
|
||||
this.BtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.BtnOK.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
|
||||
this.BtnOK.Location = new System.Drawing.Point(183, 128);
|
||||
this.BtnOK.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(20)))));
|
||||
this.BtnOK.ColorGradient = true;
|
||||
this.BtnOK.Location = new System.Drawing.Point(182, 180);
|
||||
this.BtnOK.Name = "BtnOK";
|
||||
this.BtnOK.Size = new System.Drawing.Size(75, 27);
|
||||
this.BtnOK.TabIndex = 9;
|
||||
|
@ -119,18 +123,39 @@
|
|||
this.BtnOK.UseVisualStyleBackColor = true;
|
||||
this.BtnOK.Click += new System.EventHandler(this.BtnOK_Click);
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(12, 121);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(53, 12);
|
||||
this.label7.TabIndex = 18;
|
||||
this.label7.Text = "运行热键";
|
||||
//
|
||||
// hotkeyTextBox1
|
||||
//
|
||||
this.hotkeyTextBox1.BackColor = System.Drawing.Color.White;
|
||||
this.hotkeyTextBox1.HotKey = "0+0";
|
||||
this.hotkeyTextBox1.Location = new System.Drawing.Point(12, 140);
|
||||
this.hotkeyTextBox1.Name = "hotkeyTextBox1";
|
||||
this.hotkeyTextBox1.Size = new System.Drawing.Size(244, 26);
|
||||
this.hotkeyTextBox1.T_Key = System.Windows.Forms.Keys.None;
|
||||
this.hotkeyTextBox1.T_Modifiers = 0;
|
||||
this.hotkeyTextBox1.TabIndex = 17;
|
||||
//
|
||||
// FrmAddType
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(350, 162);
|
||||
this.ClientSize = new System.Drawing.Size(349, 214);
|
||||
this.Controls.Add(this.label7);
|
||||
this.Controls.Add(this.hotkeyTextBox1);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.TxtDes);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.TxtName);
|
||||
this.Controls.Add(this.BtnCancel);
|
||||
this.Controls.Add(this.BtnOK);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.Name = "FrmAddType";
|
||||
|
@ -149,5 +174,7 @@
|
|||
public ryControls.TextBoxEx2 TxtName;
|
||||
private System.Windows.Forms.Label label2;
|
||||
public ryControls.TextBoxEx2 TxtDes;
|
||||
private System.Windows.Forms.Label label7;
|
||||
public ryControls.HotkeyTextBox hotkeyTextBox1;
|
||||
}
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
using ryCommonDb;
|
||||
using ryCommon;
|
||||
using ryCommonDb;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
|
@ -22,6 +23,10 @@ namespace VSoft
|
|||
public int IsAdd { get; set; } = 1;
|
||||
public int SelectId { get; set; } = -1;
|
||||
public int ParentId { get; set; } = -1;
|
||||
/// <summary>
|
||||
/// 当前操作的id
|
||||
/// </summary>
|
||||
public int Op_Id { get; set; } = -1;
|
||||
public void GetInfo(int id)
|
||||
{
|
||||
SelectId = id;
|
||||
|
@ -37,6 +42,7 @@ namespace VSoft
|
|||
#region 读取信息
|
||||
TxtName.Text = reader["Name"].ToString();
|
||||
TxtDes.Text = reader["Des"].ToString();
|
||||
hotkeyTextBox1.HotKey = reader["Hotkey"].ToString();
|
||||
#endregion
|
||||
}
|
||||
ds.Dispose();
|
||||
|
@ -58,20 +64,47 @@ namespace VSoft
|
|||
RyQuickSQL mySQL = new RyQuickSQL(tableName);
|
||||
mySQL.AddField("Name", TxtName.Text);
|
||||
mySQL.AddField("Des", TxtDes.Text);
|
||||
mySQL.AddField("Hotkey", hotkeyTextBox1.HaveHotKey ? hotkeyTextBox1.HotKey : "");//快捷键
|
||||
mySQL.AddField("editTime", DateTime.Now);
|
||||
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
|
||||
if (db.ConnDb(SQLConnStr) == 1)
|
||||
{
|
||||
if (hotkeyTextBox1.HaveHotKey)
|
||||
{
|
||||
var ds_type = db.ReadData("select * from " + tableName + " where Hotkey='" + hotkeyTextBox1.HotKey + "' and id<>" + SelectId + " limit 1");
|
||||
var ds_soft = db.ReadData("select * from Softs where Hotkey='" + hotkeyTextBox1.HotKey + "' limit 1");
|
||||
if (ds_soft.HaveData() || ds_type.HaveData())
|
||||
{
|
||||
Msg.ShowMsg("当前热键已经存在,请更换热键。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
ds_soft.Dispose(); ds_type.Dispose(); return;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Config.Soft_Config.IsHotKeyExistInList(hotkeyTextBox1.HotKey) >= 0)
|
||||
{
|
||||
Msg.ShowMsg("当前热键已经存在,请更换热键。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
ds_soft.Dispose(); ds_type.Dispose(); return;
|
||||
}
|
||||
}
|
||||
ds_soft.Dispose();
|
||||
ds_type.Dispose();
|
||||
}
|
||||
if (IsAdd >= 1)
|
||||
{
|
||||
mySQL.AddField("sortindex", Itrycn_Db.GetColumnCount(db, ParentId) + 1);
|
||||
mySQL.AddField("parentId", ParentId);
|
||||
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
|
||||
{
|
||||
db.ExecuteNonQuery(mySQL.GetUpdateSQL() + " where id=" + SelectId, mySQL);
|
||||
Op_Id = SelectId;
|
||||
}
|
||||
}
|
||||
db.Free();
|
||||
|
|
14
Source/VSoft_Dll/FrmInCMD.Designer.cs
generated
14
Source/VSoft_Dll/FrmInCMD.Designer.cs
generated
|
@ -78,7 +78,7 @@
|
|||
this.panelEx1.Name = "panelEx1";
|
||||
this.panelEx1.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.panelEx1.RoundeStyle = ryControls.RoundStyle.None;
|
||||
this.panelEx1.Size = new System.Drawing.Size(587, 417);
|
||||
this.panelEx1.Size = new System.Drawing.Size(730, 474);
|
||||
this.panelEx1.TabIndex = 1;
|
||||
this.panelEx1.TileBackColor = System.Drawing.Color.White;
|
||||
//
|
||||
|
@ -106,7 +106,7 @@
|
|||
this.IconViewEx1.SelectedForeColor = System.Drawing.Color.Black;
|
||||
this.IconViewEx1.SelectedStartBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(251)))), ((int)(((byte)(237)))));
|
||||
this.IconViewEx1.ShowItemToolTips = true;
|
||||
this.IconViewEx1.Size = new System.Drawing.Size(581, 381);
|
||||
this.IconViewEx1.Size = new System.Drawing.Size(724, 438);
|
||||
this.IconViewEx1.TabIndex = 0;
|
||||
this.IconViewEx1.TextHeight = 20;
|
||||
this.IconViewEx1.TileSize = new System.Drawing.Size(90, 90);
|
||||
|
@ -192,7 +192,7 @@
|
|||
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.panel1.Location = new System.Drawing.Point(3, 3);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(581, 30);
|
||||
this.panel1.Size = new System.Drawing.Size(724, 30);
|
||||
this.panel1.TabIndex = 1;
|
||||
this.panel1.Visible = false;
|
||||
//
|
||||
|
@ -222,7 +222,7 @@
|
|||
//
|
||||
this.BtnAddColumn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.BtnAddColumn.Image = ((System.Drawing.Image)(resources.GetObject("BtnAddColumn.Image")));
|
||||
this.BtnAddColumn.Location = new System.Drawing.Point(649, 65);
|
||||
this.BtnAddColumn.Location = new System.Drawing.Point(792, 65);
|
||||
this.BtnAddColumn.Name = "BtnAddColumn";
|
||||
this.BtnAddColumn.Size = new System.Drawing.Size(27, 28);
|
||||
this.BtnAddColumn.TabIndex = 3;
|
||||
|
@ -323,7 +323,7 @@
|
|||
this.TabList_Type.SelectedEndBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(236)))), ((int)(((byte)(181)))));
|
||||
this.TabList_Type.SelectedForeColor = System.Drawing.Color.Black;
|
||||
this.TabList_Type.SelectedStartBackColor = System.Drawing.Color.LightSkyBlue;
|
||||
this.TabList_Type.Size = new System.Drawing.Size(83, 414);
|
||||
this.TabList_Type.Size = new System.Drawing.Size(83, 471);
|
||||
this.TabList_Type.TabIndex = 4;
|
||||
this.TabList_Type.TileSize = new System.Drawing.Size(80, 28);
|
||||
this.TabList_Type.UseCompatibleStateImageBehavior = false;
|
||||
|
@ -361,7 +361,7 @@
|
|||
this.TabList_Column.SelectedEndBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(236)))), ((int)(((byte)(181)))));
|
||||
this.TabList_Column.SelectedForeColor = System.Drawing.Color.Black;
|
||||
this.TabList_Column.SelectedStartBackColor = System.Drawing.Color.LightSkyBlue;
|
||||
this.TabList_Column.Size = new System.Drawing.Size(556, 29);
|
||||
this.TabList_Column.Size = new System.Drawing.Size(699, 29);
|
||||
this.TabList_Column.TabIndex = 1;
|
||||
this.TabList_Column.TileSize = new System.Drawing.Size(70, 28);
|
||||
this.TabList_Column.UseCompatibleStateImageBehavior = false;
|
||||
|
@ -377,7 +377,7 @@
|
|||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(689, 529);
|
||||
this.ClientSize = new System.Drawing.Size(832, 586);
|
||||
this.Controls.Add(this.LblDrag);
|
||||
this.Controls.Add(this.pictureBox1);
|
||||
this.Controls.Add(this.TabList_Type);
|
||||
|
|
|
@ -199,6 +199,8 @@ namespace VSoft
|
|||
private void FrmVSoft_Load(object sender, EventArgs e)
|
||||
{
|
||||
Config.Soft_Info.UserDataFolder = ryCommon.RyFiles.GetRealPath(Config.Soft_Info.UserDataFolder);
|
||||
Itrycn_Db.SQLConnStr = Config.Soft_Info.UserDataFolder + "\\Softs.dat|";
|
||||
Itrycn_Db.SQLConnStr_Logs = Config.Soft_Info.UserDataFolder + "\\logs.dat|";
|
||||
VSoft.Prams.Itrycn_Db.CreateTable();
|
||||
VSoft.Config.Soft_Config.LoadSetting();
|
||||
LoadColumn();
|
||||
|
@ -528,6 +530,7 @@ namespace VSoft
|
|||
ColumnId = ColumnId,
|
||||
TopMost=TopMost
|
||||
};
|
||||
frm.ShowInCenter(this);
|
||||
if (frm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
LoadDb();
|
||||
|
@ -546,6 +549,7 @@ namespace VSoft
|
|||
TopMost=TopMost
|
||||
};
|
||||
frm.GetInfo(info.Id);
|
||||
frm.ShowInCenter(this);
|
||||
if (frm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
SetSoftRow(info.Id, IconViewEx1.SelectedItems[0].Index);
|
||||
|
|
|
@ -136,7 +136,7 @@
|
|||
<data name="IconViewEx1.Icon" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL
|
||||
EwAACxMBAJqcGAAABvRJREFUeF7tnE2IHEUUxwcjIjkE1JMREnMWD7phd7uzfuBJEPSkd0+55BLQc9ds
|
||||
DwAACw8BkvkDpQAABvRJREFUeF7tnE2IHEUUxwcjIjkE1JMREnMWD7phd7uzfuBJEPSkd0+55BLQc9ds
|
||||
ooIXT+bix8kgbtSYgxA1hsWLImLAPYTEXBRUNGiMEojpnpTvdWpIT2/Nm+6e7uqerv+DH0tPVfVs7/t1
|
||||
ffTHDopEoPS9QTQ6FKrkbKjiC/TzCqFBp6CcpLk5G6h4GK7rYKD0HSaF1WL5iN4XqOR4ECU3cl8GFoAg
|
||||
ii8eWNePmXQWjyWld4ZRcox2kuR3ChYPOonfeVLpu0165TgQ6d3UlWzZdgQWF+oNvufcmjTbIzyq99KZ
|
||||
|
@ -188,7 +188,7 @@
|
|||
<data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAFAAAAA8CAYAAADxJz2MAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAu
|
||||
IwAALiMBeKU/dgAABJxJREFUeF7tmM1tGzEQhX3OIYDvObkFt6ACcnELbkFIBVEJcQtqQYc0ICBpwC24
|
||||
IgAALiIBquLdkgAABJxJREFUeF7tmM1tGzEQhX3OIYDvObkFt6ACcnELbkFIBVEJcQtqQYc0ICBpwC24
|
||||
BeW9zcxiyB2Rsz/6WYMDfIA05JIzs49c7j6cTqfGDFxnI47rbMRxnY04rrMRx3U24rjORhzX2YjjOhtx
|
||||
XGcjzk3ty5+fe3AAr15wa+BmxqKBk+GdPi/Ie+ZmhmIdTfHyQj57wd4jNzEUaGMK5tEKWDIUiPueVzhy
|
||||
8AK9V65uKFBNfRsv0Hvl6oYCldT37gV5z2hSj2ALPiSR7f+WZQ3jPsn451jfUxhB28Ip/P8oeS9mGPPN
|
||||
|
|
39
Source/VSoft_Dll/FrmVSoft.Designer.cs
generated
39
Source/VSoft_Dll/FrmVSoft.Designer.cs
generated
|
@ -52,7 +52,6 @@
|
|||
this.新增分类ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.Menu修改分类 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.Menu删除分类 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.LblDrag = new System.Windows.Forms.Label();
|
||||
this.timer1 = new System.Windows.Forms.Timer(this.components);
|
||||
this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);
|
||||
this.MenuTray = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
|
@ -153,7 +152,7 @@
|
|||
//
|
||||
this.BtnAddColumn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.BtnAddColumn.Image = ((System.Drawing.Image)(resources.GetObject("BtnAddColumn.Image")));
|
||||
this.BtnAddColumn.Location = new System.Drawing.Point(685, 36);
|
||||
this.BtnAddColumn.Location = new System.Drawing.Point(681, 36);
|
||||
this.BtnAddColumn.Name = "BtnAddColumn";
|
||||
this.BtnAddColumn.Size = new System.Drawing.Size(27, 28);
|
||||
this.BtnAddColumn.TabIndex = 3;
|
||||
|
@ -222,15 +221,6 @@
|
|||
this.Menu删除分类.Text = "删除分类";
|
||||
this.Menu删除分类.Click += new System.EventHandler(this.Menu删除分类_Click);
|
||||
//
|
||||
// LblDrag
|
||||
//
|
||||
this.LblDrag.BackColor = System.Drawing.Color.Black;
|
||||
this.LblDrag.Location = new System.Drawing.Point(123, 54);
|
||||
this.LblDrag.Name = "LblDrag";
|
||||
this.LblDrag.Size = new System.Drawing.Size(2, 89);
|
||||
this.LblDrag.TabIndex = 6;
|
||||
this.LblDrag.Visible = false;
|
||||
//
|
||||
// notifyIcon1
|
||||
//
|
||||
this.notifyIcon1.ContextMenuStrip = this.MenuTray;
|
||||
|
@ -297,7 +287,7 @@
|
|||
this.LblSetting.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.LblSetting.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.LblSetting.ForeColor = System.Drawing.Color.White;
|
||||
this.LblSetting.Location = new System.Drawing.Point(580, 9);
|
||||
this.LblSetting.Location = new System.Drawing.Point(576, 9);
|
||||
this.LblSetting.Name = "LblSetting";
|
||||
this.LblSetting.Size = new System.Drawing.Size(29, 12);
|
||||
this.LblSetting.TabIndex = 7;
|
||||
|
@ -311,7 +301,7 @@
|
|||
this.PnlLeft.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.PnlLeft.Location = new System.Drawing.Point(2, 32);
|
||||
this.PnlLeft.Name = "PnlLeft";
|
||||
this.PnlLeft.Size = new System.Drawing.Size(81, 497);
|
||||
this.PnlLeft.Size = new System.Drawing.Size(81, 509);
|
||||
this.PnlLeft.TabIndex = 8;
|
||||
//
|
||||
// TabList_Type
|
||||
|
@ -340,7 +330,7 @@
|
|||
this.TabList_Type.SelectedEndBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(236)))), ((int)(((byte)(181)))));
|
||||
this.TabList_Type.SelectedForeColor = System.Drawing.Color.Black;
|
||||
this.TabList_Type.SelectedStartBackColor = System.Drawing.Color.LightSkyBlue;
|
||||
this.TabList_Type.Size = new System.Drawing.Size(77, 394);
|
||||
this.TabList_Type.Size = new System.Drawing.Size(77, 406);
|
||||
this.TabList_Type.TabIndex = 4;
|
||||
this.TabList_Type.TileSize = new System.Drawing.Size(77, 28);
|
||||
this.TabList_Type.UseCompatibleStateImageBehavior = false;
|
||||
|
@ -364,12 +354,12 @@
|
|||
this.rySearch1.ButtonRoundBackColor = System.Drawing.SystemColors.Control;
|
||||
this.rySearch1.ColorGradient = true;
|
||||
this.rySearch1.EmptyText = "输入名称或拼音搜索";
|
||||
this.rySearch1.Location = new System.Drawing.Point(537, 36);
|
||||
this.rySearch1.Location = new System.Drawing.Point(533, 36);
|
||||
this.rySearch1.Name = "rySearch1";
|
||||
this.rySearch1.Size = new System.Drawing.Size(142, 27);
|
||||
this.rySearch1.TabIndex = 2;
|
||||
this.rySearch1.OnSearch += new System.EventHandler(this.rySearch1_OnSearch);
|
||||
this.rySearch1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.rySearch1_KeyDown);
|
||||
this.rySearch1.OnSearch += new System.EventHandler(this.RySearch1_OnSearch);
|
||||
this.rySearch1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.RySearch1_KeyDown);
|
||||
//
|
||||
// panelEx1
|
||||
//
|
||||
|
@ -378,17 +368,16 @@
|
|||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.panelEx1.BackColor = System.Drawing.Color.White;
|
||||
this.panelEx1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(213)))), ((int)(((byte)(216)))), ((int)(((byte)(223)))));
|
||||
this.panelEx1.Controls.Add(this.LblDrag);
|
||||
this.panelEx1.Controls.Add(this.LblEmpty);
|
||||
this.panelEx1.Controls.Add(this.IconViewEx1);
|
||||
this.panelEx1.Location = new System.Drawing.Point(84, 65);
|
||||
this.panelEx1.Name = "panelEx1";
|
||||
this.panelEx1.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.panelEx1.RoundeStyle = ryControls.RoundStyle.None;
|
||||
this.panelEx1.Size = new System.Drawing.Size(628, 462);
|
||||
this.panelEx1.Size = new System.Drawing.Size(656, 473);
|
||||
this.panelEx1.TabIndex = 1;
|
||||
this.panelEx1.TileBackColor = System.Drawing.Color.White;
|
||||
this.panelEx1.Resize += new System.EventHandler(this.panelEx1_Resize);
|
||||
this.panelEx1.Resize += new System.EventHandler(this.PanelEx1_Resize);
|
||||
//
|
||||
// LblEmpty
|
||||
//
|
||||
|
@ -426,7 +415,8 @@
|
|||
this.IconViewEx1.SelectedEndBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(236)))), ((int)(((byte)(181)))));
|
||||
this.IconViewEx1.SelectedForeColor = System.Drawing.Color.Black;
|
||||
this.IconViewEx1.SelectedStartBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(251)))), ((int)(((byte)(237)))));
|
||||
this.IconViewEx1.Size = new System.Drawing.Size(622, 456);
|
||||
this.IconViewEx1.ShowGroups = false;
|
||||
this.IconViewEx1.Size = new System.Drawing.Size(650, 467);
|
||||
this.IconViewEx1.TabIndex = 0;
|
||||
this.IconViewEx1.TextHeight = 20;
|
||||
this.IconViewEx1.TileSize = new System.Drawing.Size(100, 100);
|
||||
|
@ -439,6 +429,7 @@
|
|||
this.IconViewEx1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.IconViewEx1_KeyDown);
|
||||
this.IconViewEx1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.IconViewEx1_MouseClick);
|
||||
this.IconViewEx1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.IconViewEx1_MouseDoubleClick);
|
||||
this.IconViewEx1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.IconViewEx1_MouseMove);
|
||||
this.IconViewEx1.Resize += new System.EventHandler(this.IconViewEx1_Resize);
|
||||
//
|
||||
// TabList_Column
|
||||
|
@ -464,7 +455,7 @@
|
|||
this.TabList_Column.SelectedEndBackColor = System.Drawing.Color.SkyBlue;
|
||||
this.TabList_Column.SelectedForeColor = System.Drawing.Color.Black;
|
||||
this.TabList_Column.SelectedStartBackColor = System.Drawing.Color.PowderBlue;
|
||||
this.TabList_Column.Size = new System.Drawing.Size(450, 29);
|
||||
this.TabList_Column.Size = new System.Drawing.Size(446, 29);
|
||||
this.TabList_Column.TabIndex = 1;
|
||||
this.TabList_Column.TileSize = new System.Drawing.Size(70, 30);
|
||||
this.TabList_Column.UseCompatibleStateImageBehavior = false;
|
||||
|
@ -483,7 +474,7 @@
|
|||
this.BackColor = System.Drawing.Color.White;
|
||||
this.BorderWidth = 2;
|
||||
this.CaptionHeight = 30;
|
||||
this.ClientSize = new System.Drawing.Size(717, 531);
|
||||
this.ClientSize = new System.Drawing.Size(745, 543);
|
||||
this.ControlBoxOffset = new System.Drawing.Point(8, 8);
|
||||
this.Controls.Add(this.rySearch1);
|
||||
this.Controls.Add(this.PnlLeft);
|
||||
|
@ -495,7 +486,6 @@
|
|||
this.MinimumSize = new System.Drawing.Size(160, 60);
|
||||
this.Name = "FrmVSoft";
|
||||
this.SideResizeWidth = 4;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "VSoft";
|
||||
themeForm1.BorderWidth = 2;
|
||||
themeForm1.CaptionBackColorBottom = System.Drawing.Color.White;
|
||||
|
@ -662,7 +652,6 @@
|
|||
private System.Windows.Forms.ToolStripMenuItem Menu修改分类;
|
||||
private System.Windows.Forms.ToolStripMenuItem Menu删除分类;
|
||||
private System.Windows.Forms.ColumnHeader columnHeader1;
|
||||
private System.Windows.Forms.Label LblDrag;
|
||||
private System.Windows.Forms.Timer timer1;
|
||||
private System.Windows.Forms.ColumnHeader columnHeader2;
|
||||
private System.Windows.Forms.NotifyIcon notifyIcon1;
|
||||
|
|
|
@ -10,25 +10,31 @@ using System.Diagnostics;
|
|||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using VSoft.Config;
|
||||
using VSoft.Prams;
|
||||
using VSoft.Skins;
|
||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
|
||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Header;
|
||||
|
||||
namespace VSoft
|
||||
{
|
||||
public partial class FrmVSoft : SKinForm
|
||||
{
|
||||
string[] prog_args;
|
||||
string SQLConnStr = Itrycn_Db.SQLConnStr;
|
||||
MouseHook mouse = new MouseHook();
|
||||
readonly string[] prog_args;
|
||||
readonly string SQLConnStr = Itrycn_Db.SQLConnStr;
|
||||
readonly MouseHook mouse = new MouseHook();
|
||||
public FrmVSoft(string[] args)
|
||||
{
|
||||
InitializeComponent();
|
||||
prog_args = args;
|
||||
//配置软件信息
|
||||
notifyIcon1.Text = Config.Soft_Info.Soft_Title;
|
||||
Text = Config.Soft_Info.Soft_Title + " V" + RySoft.VersionStr;
|
||||
Text = Config.Soft_Info.Soft_Title + " V" + RySoft.GetVersionStr(Application.ExecutablePath);
|
||||
#if TEST
|
||||
Text +=" V内部测试版";
|
||||
#endif
|
||||
if (!Config.Soft_Info.ShowTray) { notifyIcon1.Visible = false; }
|
||||
#if DY
|
||||
捐助ToolStripMenuItem.Text = "关于";
|
||||
|
@ -45,6 +51,7 @@ namespace VSoft
|
|||
PnlLeft.BackColor = backcolor;
|
||||
|
||||
}
|
||||
private readonly System.Windows.Forms.ToolTip lvTp = new System.Windows.Forms.ToolTip();
|
||||
private void FrmVSoft_FormClosed(object sender, FormClosedEventArgs e)
|
||||
{
|
||||
mouse.Stop();
|
||||
|
@ -65,7 +72,7 @@ namespace VSoft
|
|||
}
|
||||
if (e.Button== button)
|
||||
{
|
||||
ryCommon.RyFiles.WriteAllText(Application.StartupPath+"\\1.txt",e.Button.ToString(),Encoding.UTF8);
|
||||
//ryCommon.RyFiles.WriteAllText(Application.StartupPath+"\\1.txt",e.Button.ToString(),Encoding.UTF8);
|
||||
if(Math.Abs((dt_lastMouse-DateTime.Now).TotalMilliseconds)<500)
|
||||
{
|
||||
clickcount++;
|
||||
|
@ -90,7 +97,8 @@ namespace VSoft
|
|||
{
|
||||
LoadDb(false);
|
||||
}
|
||||
Dictionary<string, Image> dictCacheImg = new Dictionary<string, Image>();
|
||||
|
||||
readonly Dictionary<string, Image> dictCacheImg = new Dictionary<string, Image>();
|
||||
private void LoadDb(bool isSearch)
|
||||
{
|
||||
IconViewEx1.Items.Clear();
|
||||
|
@ -122,16 +130,18 @@ namespace VSoft
|
|||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||||
{
|
||||
DataRow row = ds.Tables[0].Rows[i];
|
||||
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();
|
||||
SoftInfo info = new SoftInfo
|
||||
{
|
||||
Id = row["id"].ToInt(),
|
||||
SoftType = row["SoftType"].ToInt(),
|
||||
ColumnId = row["ColumnId"].ToInt(),
|
||||
Name = row["Name"].ToString(),
|
||||
Path = row["Path"].ToString(),
|
||||
RunPram = row["RunPram"].ToString(),
|
||||
SetJson = row["SetJson"].ToString(),
|
||||
StartPath = row["StartPath"].ToString(),
|
||||
IconPath = row["IconPath"].ToString()
|
||||
};
|
||||
string img_path;
|
||||
if (info.IconPath.Length == 0)
|
||||
{
|
||||
|
@ -139,7 +149,7 @@ namespace VSoft
|
|||
}
|
||||
else
|
||||
{
|
||||
img_path = RyFiles.GetRealPath(row["IconPath"].ToString());
|
||||
img_path = RyFiles.GetRealPath(info.IconPath);
|
||||
}
|
||||
if(dictCacheImg.ContainsKey(img_path))
|
||||
{
|
||||
|
@ -150,6 +160,7 @@ namespace VSoft
|
|||
info.Image = API.GetImg(img_path, 128);
|
||||
dictCacheImg.Add(img_path, info.Image);
|
||||
}
|
||||
Application.DoEvents();
|
||||
IconViewEx1.Items.Add(info.Name).Tag = info ;
|
||||
}
|
||||
IconViewEx1.EndUpdate();
|
||||
|
@ -160,6 +171,7 @@ namespace VSoft
|
|||
}
|
||||
else { LblEmpty.Visible = false; }
|
||||
}
|
||||
db.Free();
|
||||
}
|
||||
private void LoadColumn()
|
||||
{
|
||||
|
@ -239,12 +251,57 @@ namespace VSoft
|
|||
TabList_Type.Items[0].Selected = true;
|
||||
}
|
||||
}
|
||||
int hot_index = 0;
|
||||
/// <summary>
|
||||
/// 注册热键
|
||||
/// </summary>
|
||||
private void RegisterHotkey()
|
||||
{
|
||||
hotkey.UnHotKey();
|
||||
IDbInterface db2 = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
|
||||
if (db2.ConnDb(SQLConnStr) == 1)
|
||||
{
|
||||
var index = 100;
|
||||
HotkeyValue hot = new HotkeyValue(Soft_Config.ShowMainHotKey);
|
||||
hotkey.RegHotKey(100, hot.Modifiers_Int, hot.KeyCode);
|
||||
var ds_type = db2.ReadData("select * from Columns where Hotkey<>''");
|
||||
if (ds_type.HaveData())
|
||||
{
|
||||
for (int i = 0; i < ds_type.Tables[0].Rows.Count; i++)
|
||||
{
|
||||
index++;
|
||||
var item = ds_type.GetRow(i);
|
||||
hot.LoadHotKeyStr(item["HotKey"].ToString());
|
||||
hotkey.RegHotKey(index, "type_" + item["id"].ToInt(), hot.Modifiers_Int, hot.KeyCode);
|
||||
}
|
||||
}
|
||||
ds_type.Dispose();
|
||||
var ds = db2.ReadData("select * from Softs where Hotkey<>''");
|
||||
if (ds.HaveData())
|
||||
{
|
||||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||||
{
|
||||
index++;
|
||||
var item = ds.GetRow(i);
|
||||
hot.LoadHotKeyStr(item["HotKey"].ToString());
|
||||
hotkey.RegHotKey(index, "soft_" + item["id"].ToInt(), hot.Modifiers_Int, hot.KeyCode);
|
||||
}
|
||||
}
|
||||
ds.Dispose();
|
||||
hot_index = index;
|
||||
}
|
||||
db2.Free();
|
||||
}
|
||||
SysFuns.WinHotReg hotkey;
|
||||
private void FrmVSoft_Load(object sender, EventArgs e)
|
||||
{
|
||||
//IconViewEx1.SetInterval(100, 100);
|
||||
Config.Soft_Config.MainForm = this;
|
||||
MinimumSize = new Size(400, 200);
|
||||
LblEmpty.Left =((panelEx1.Width - LblEmpty.Width) / 2);
|
||||
Config.Soft_Info.UserDataFolder = ryCommon.RyFiles.GetRealPath(Config.Soft_Info.UserDataFolder);
|
||||
Itrycn_Db.SQLConnStr = Soft_Info.UserDataFolder + "\\Softs.dat|";
|
||||
Itrycn_Db.SQLConnStr_Logs = Soft_Info.UserDataFolder + "\\logs.dat|";
|
||||
VSoft.Prams.Itrycn_Db.CreateTable();
|
||||
var dbver = Itrycn_Db.GetDbVer();
|
||||
if (dbver == 2) //当前要求的数据库
|
||||
|
@ -299,9 +356,37 @@ namespace VSoft
|
|||
// Msg.ShowMsg("管理员模式下启动本软件,可能会导致无法拖放图标到本软件。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
//}
|
||||
hotkey = new SysFuns.WinHotReg(Handle);
|
||||
HotkeyValue hot = new HotkeyValue(Soft_Config.ShowMainHotKey);
|
||||
hotkey.RegHotKey(100,hot.Modifiers_Int, hot.KeyCode);
|
||||
hotkey.OnHotkey += Hotkey_OnHotkey;
|
||||
RegisterHotkey();
|
||||
#region 加载图标缓存
|
||||
IDbInterface db2 = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
|
||||
if (db2.ConnDb(SQLConnStr) == 1)
|
||||
{
|
||||
DataSet ds = db2.ReadData("select * from Softs");
|
||||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||||
{
|
||||
DataRow row = ds.Tables[0].Rows[i];
|
||||
var IconPath = row["IconPath"].ToString();
|
||||
var TruePath = RyFiles.GetRealPath(row["Path"].ToString());
|
||||
string img_path;
|
||||
Image image;
|
||||
if (IconPath.Length == 0)
|
||||
{
|
||||
img_path = TruePath;
|
||||
}
|
||||
else
|
||||
{
|
||||
img_path = RyFiles.GetRealPath(IconPath);
|
||||
}
|
||||
if (!dictCacheImg.ContainsKey(img_path))
|
||||
{
|
||||
image = API.GetImg(img_path, 128);
|
||||
dictCacheImg.Add(img_path, image);
|
||||
}
|
||||
}
|
||||
}
|
||||
db2.Free();
|
||||
#endregion
|
||||
ryCommon.RyRegedit.RegRoot = Microsoft.Win32.RegistryHive.CurrentUser;
|
||||
//如果开机启动没有启动
|
||||
if(!ryCommon.RyRegedit.IsAutoRun(Soft_Info.Soft_Id, "\"" + Application.ExecutablePath.Replace("/", "\\") + "\" " + Soft_Info.Soft_Pram))
|
||||
|
@ -313,8 +398,12 @@ namespace VSoft
|
|||
break;
|
||||
}
|
||||
}
|
||||
ShowInCenter(null);
|
||||
#if DY
|
||||
#else
|
||||
LiveUpdate.RyUpdate update = new LiveUpdate.RyUpdate(Soft_Info.Update_Url);
|
||||
update.CheckUpdate();
|
||||
#endif
|
||||
mouse.OnMouseActivity += Mouse_OnMouseActivity;
|
||||
mouse.Start();
|
||||
}
|
||||
|
@ -326,6 +415,79 @@ namespace VSoft
|
|||
case 100:
|
||||
ShowOrHideUI();
|
||||
break;
|
||||
default:
|
||||
var ids=hotkey.GetTag(HotKeyID);
|
||||
if(ids.IndexOfEx("type_")==0)
|
||||
{
|
||||
#region 软件热键
|
||||
var id = ids.Substring(5).ToInt();
|
||||
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
|
||||
if (db.ConnDb(SQLConnStr) == 1)
|
||||
{
|
||||
//var sql = "select * from Columns where id=" + id;
|
||||
DataSet ds = db.ReadData("select * from Columns where id=" + id);
|
||||
if (ds.HaveData())
|
||||
{
|
||||
DataRow row = ds.GetFirstRowData();
|
||||
var parentId=row["parentId"].ToInt();
|
||||
if(parentId>0)
|
||||
{
|
||||
for (int i = 0; i < TabList_Column.Items.Count; i++)
|
||||
{
|
||||
if (TabList_Column.Items[i].Tag.ToInt()==parentId)
|
||||
{
|
||||
TabList_Column.Items[i].Selected = true;
|
||||
for (int m = 0; m < TabList_Type.Items.Count; m++)
|
||||
{
|
||||
if (TabList_Type.Items[m].Tag.ToInt() == row["id"].ToInt())
|
||||
{
|
||||
TabList_Type.Items[m].Selected = true;
|
||||
ShowOrHideUI(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
db.Free();
|
||||
}
|
||||
db.Free();
|
||||
#endregion
|
||||
}
|
||||
else if (ids.IndexOfEx("soft_") == 0)
|
||||
{
|
||||
#region 软件热键
|
||||
var id = ids.Substring(5).ToInt();
|
||||
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
|
||||
{
|
||||
Id = row["id"].ToInt(),
|
||||
SoftType = row["SoftType"].ToInt(),
|
||||
ColumnId = row["ColumnId"].ToInt(),
|
||||
Name = row["Name"].ToString(),
|
||||
Path = row["Path"].ToString(),
|
||||
RunPram = row["RunPram"].ToString(),
|
||||
SetJson = row["SetJson"].ToString(),
|
||||
StartPath = row["StartPath"].ToString(),
|
||||
IconPath = row["IconPath"].ToString()
|
||||
};
|
||||
VSoft.Prams.Run.Open(info, false);
|
||||
}
|
||||
db.Free();
|
||||
}
|
||||
db.Free();
|
||||
#endregion
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SetForegroundWindow")]
|
||||
|
@ -333,9 +495,9 @@ namespace VSoft
|
|||
/// <summary>
|
||||
/// 显示或隐藏UI
|
||||
/// </summary>
|
||||
private void ShowOrHideUI()
|
||||
private void ShowOrHideUI(bool ForceShow=false)
|
||||
{
|
||||
if (this.Visible && RyForm.GetActiveWindow() == Handle)
|
||||
if (this.Visible && RyForm.GetActiveWindow() == Handle && !ForceShow)
|
||||
{
|
||||
this.Hide();
|
||||
}
|
||||
|
@ -405,7 +567,7 @@ namespace VSoft
|
|||
}
|
||||
}
|
||||
|
||||
private void rySearch1_OnSearch(object sender, EventArgs e)
|
||||
private void RySearch1_OnSearch(object sender, EventArgs e)
|
||||
{
|
||||
if(rySearch1.Text.Length==0)
|
||||
{
|
||||
|
@ -441,8 +603,11 @@ namespace VSoft
|
|||
}
|
||||
private void BtnAddColumn_Click(object sender, EventArgs e)
|
||||
{
|
||||
FrmAddColumn frm = new FrmAddColumn();
|
||||
frm.TopMost = TopMost;
|
||||
FrmAddColumn frm = new FrmAddColumn
|
||||
{
|
||||
TopMost = TopMost
|
||||
};
|
||||
frm.ShowInCenter(this);
|
||||
if (frm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
|
||||
|
@ -464,10 +629,13 @@ namespace VSoft
|
|||
private void 修改栏目ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (TabList_Column.SelectedItems.Count == 0) { return; }
|
||||
FrmAddColumn frm = new FrmAddColumn();
|
||||
frm.TopMost = TopMost;
|
||||
frm.IsAdd = 0;
|
||||
FrmAddColumn frm = new FrmAddColumn
|
||||
{
|
||||
TopMost = TopMost,
|
||||
IsAdd = 0
|
||||
};
|
||||
frm.GetInfo(TabList_Column.SelectedItems[0].Tag.ToInt());
|
||||
frm.ShowInCenter(this);
|
||||
if (frm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
SetColumnRow(TabList_Column.SelectedItems[0].Tag.ToInt(), TabList_Column.SelectedItems[0].Index);
|
||||
|
@ -550,14 +718,20 @@ namespace VSoft
|
|||
return;
|
||||
}
|
||||
var id = TabList_Column.SelectedItems[0].Tag.ToInt();
|
||||
FrmAddType frm = new FrmAddType();
|
||||
frm.TopMost = TopMost;
|
||||
frm.ParentId = id;
|
||||
FrmAddType frm = new FrmAddType
|
||||
{
|
||||
TopMost = TopMost,
|
||||
ParentId = id
|
||||
};
|
||||
frm.ShowInCenter(this);
|
||||
if (frm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
|
||||
if (db.ConnDb(SQLConnStr) == 1)
|
||||
{
|
||||
hot_index++;
|
||||
HotkeyValue hot = new HotkeyValue(frm.hotkeyTextBox1.HotKey);
|
||||
hotkey.RegHotKey(hot_index,"type_"+frm.Op_Id, hot.Modifiers_Int, hot.KeyCode);
|
||||
DataSet ds = db.ReadData("select * from Columns where parentId=" + id + " order by sortindex desc limit 1");
|
||||
TabList_Type.BeginUpdate();
|
||||
if(ds.Tables[0].Rows.Count>0)
|
||||
|
@ -565,6 +739,7 @@ namespace VSoft
|
|||
DataRow row = ds.Tables[0].Rows[0];
|
||||
TabList_Type.Items.Add(row["Name"].ToString()).Tag = row["id"].ToInt();
|
||||
}
|
||||
ds.Dispose();
|
||||
TabList_Type.EndUpdate();
|
||||
db.Free();
|
||||
}
|
||||
|
@ -589,13 +764,34 @@ namespace VSoft
|
|||
Msg.ShowMsg("默认分类不支持修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
return;
|
||||
}
|
||||
FrmAddType frm = new FrmAddType();
|
||||
frm.TopMost = TopMost;
|
||||
frm.IsAdd = 0;
|
||||
FrmAddType frm = new FrmAddType
|
||||
{
|
||||
TopMost = TopMost,
|
||||
IsAdd = 0
|
||||
};
|
||||
frm.GetInfo(id);
|
||||
frm.ShowInCenter(this);
|
||||
if (frm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
SetTypeRow(id, TabList_Type.SelectedItems[0].Index);
|
||||
HotkeyValue hot = new HotkeyValue(frm.hotkeyTextBox1.HotKey);
|
||||
var index = hotkey.GetHotId("type_" + frm.Op_Id);
|
||||
if (index >= 0)
|
||||
{
|
||||
hotkey.UnHotKey(index);
|
||||
if (frm.hotkeyTextBox1.HaveHotKey)
|
||||
{
|
||||
hotkey.RegHotKey(index, "type_" + frm.Op_Id, hot.Modifiers_Int, hot.KeyCode);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (frm.hotkeyTextBox1.HaveHotKey)
|
||||
{
|
||||
hot_index++;
|
||||
hotkey.RegHotKey(hot_index, "type_" + frm.Op_Id, hot.Modifiers_Int, hot.KeyCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
frm.Dispose();
|
||||
}
|
||||
|
@ -629,10 +825,15 @@ namespace VSoft
|
|||
}
|
||||
}
|
||||
ds.Dispose();
|
||||
var index = hotkey.GetHotId("type_" + column_id);
|
||||
if (index >= 0)
|
||||
{
|
||||
hotkey.UnHotKey(index);
|
||||
}
|
||||
db.DelById("Columns", column_id.ToString());
|
||||
TabList_Type.SelectedItems[0].Remove();
|
||||
db.BeginTransaction();
|
||||
for (int i = 1; i < TabList_Type.Items.Count; i++)
|
||||
for (int i = 0; i < TabList_Type.Items.Count; i++)
|
||||
{
|
||||
var id = TabList_Type.Items[i].Tag.ToInt();
|
||||
RyQuickSQL mySQL = new RyQuickSQL("Columns");
|
||||
|
@ -708,11 +909,17 @@ namespace VSoft
|
|||
Msg.ShowMsg("当前模式下不支持添加软件。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
return;
|
||||
}
|
||||
FrmAddSoft frm = new FrmAddSoft();
|
||||
frm.TopMost = TopMost;
|
||||
frm.ColumnId = ColumnId;
|
||||
FrmAddSoft frm = new FrmAddSoft
|
||||
{
|
||||
TopMost = TopMost,
|
||||
ColumnId = ColumnId
|
||||
};
|
||||
frm.ShowInCenter(this);
|
||||
if (frm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
hot_index++;
|
||||
HotkeyValue hot = new HotkeyValue(frm.hotkeyTextBox1.HotKey);
|
||||
hotkey.RegHotKey(hot_index, "soft_" + frm.Op_Id, hot.Modifiers_Int, hot.KeyCode);
|
||||
LoadDb();
|
||||
}
|
||||
frm.Dispose();
|
||||
|
@ -721,13 +928,34 @@ namespace VSoft
|
|||
{
|
||||
if (IconViewEx1.SelectedItems.Count == 0) { return; }
|
||||
var info = (SoftInfo)IconViewEx1.SelectedItems[0].Tag;
|
||||
FrmAddSoft frm = new FrmAddSoft();
|
||||
frm.TopMost = TopMost;
|
||||
frm.SelectId = info.Id;
|
||||
frm.IsAdd = 0;
|
||||
FrmAddSoft frm = new FrmAddSoft
|
||||
{
|
||||
TopMost = TopMost,
|
||||
SelectId = info.Id,
|
||||
IsAdd = 0
|
||||
};
|
||||
frm.GetInfo(info.Id);
|
||||
frm.ShowInCenter(this);
|
||||
if (frm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
HotkeyValue hot = new HotkeyValue(frm.hotkeyTextBox1.HotKey);
|
||||
var index = hotkey.GetHotId("soft_" + frm.Op_Id);
|
||||
if (index >= 0)
|
||||
{
|
||||
hotkey.UnHotKey(index);
|
||||
if (frm.hotkeyTextBox1.HaveHotKey)
|
||||
{
|
||||
hotkey.RegHotKey(index, "soft_" + frm.Op_Id, hot.Modifiers_Int, hot.KeyCode);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (frm.hotkeyTextBox1.HaveHotKey)
|
||||
{
|
||||
hot_index++;
|
||||
hotkey.RegHotKey(hot_index, "soft_" + frm.Op_Id, hot.Modifiers_Int, hot.KeyCode);
|
||||
}
|
||||
}
|
||||
SetSoftRow(info.Id, IconViewEx1.SelectedItems[0].Index);
|
||||
}
|
||||
frm.Dispose();
|
||||
|
@ -749,6 +977,11 @@ namespace VSoft
|
|||
{
|
||||
RyFiles.DeleteFile(RyFiles.GetRealPath(info.IconPath));
|
||||
}
|
||||
var index = hotkey.GetHotId("soft_" + info.Id);
|
||||
if (index >= 0)
|
||||
{
|
||||
hotkey.UnHotKey(index);
|
||||
}
|
||||
db.DelById("Softs", info.Id.ToString());
|
||||
IconViewEx1.SelectedItems[i].Remove();
|
||||
if (IconViewEx1.Items.Count == 0)
|
||||
|
@ -782,8 +1015,18 @@ namespace VSoft
|
|||
{
|
||||
if (IconViewEx1.SelectedItems.Count == 0) { return; }
|
||||
var info = (SoftInfo)IconViewEx1.SelectedItems[0].Tag;
|
||||
var result= VSoft.Prams.Run.Open(info, RunasAdmin);
|
||||
if (result>36 && VSoft.Config.Soft_Config.HideAfterRun) { this.Hide(); }
|
||||
Thread th = new Thread(Start);
|
||||
th.Start();
|
||||
void Start()
|
||||
{
|
||||
var result = VSoft.Prams.Run.Open(info, RunasAdmin);
|
||||
if (result > 36 && VSoft.Config.Soft_Config.HideAfterRun) {
|
||||
this.Invoke(new Action(() =>
|
||||
{
|
||||
this.Hide();
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
private void IconViewEx1_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
|
@ -864,8 +1107,6 @@ namespace VSoft
|
|||
|
||||
private void IconViewEx1_DragEnter(object sender, DragEventArgs e)
|
||||
{
|
||||
LblDrag.Height = IconViewEx1.TileSize.Height;
|
||||
LblDrag.Parent = IconViewEx1;
|
||||
ListViewItem lvi = (ListViewItem)e.Data.GetData(typeof(ListViewItem));
|
||||
if (lvi != null)
|
||||
{
|
||||
|
@ -879,7 +1120,6 @@ namespace VSoft
|
|||
}
|
||||
private void IconViewEx1_DragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
LblDrag.Visible = false;
|
||||
var filedrop = e.Data.GetData(DataFormats.FileDrop);
|
||||
if (filedrop != null)
|
||||
{
|
||||
|
@ -906,20 +1146,28 @@ namespace VSoft
|
|||
Msg.ShowMsg("当前模式下不支持添加软件。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
return;
|
||||
}
|
||||
var path = ((string[])filedrop)[0];
|
||||
var pram = "";
|
||||
var StartPath = "";
|
||||
var des = "";
|
||||
var name = System.IO.Path.GetFileNameWithoutExtension(path);
|
||||
IDbInterface db3 = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
|
||||
if (db3.ConnDb(SQLConnStr) == 1)
|
||||
{
|
||||
var filelist = (string[])filedrop;
|
||||
for (int f = 0; f < filelist.Length; f++)
|
||||
{
|
||||
var path = filelist[f];
|
||||
var pram = "";
|
||||
var StartPath = "";
|
||||
var des = "";
|
||||
var icon = "";
|
||||
var name = System.IO.Path.GetFileNameWithoutExtension(path);
|
||||
if (System.IO.Path.GetExtension(path).ToLower() == ".lnk")
|
||||
{
|
||||
var shortcut = API.ReadShortcut(path);
|
||||
path = shortcut.TargetPath;
|
||||
pram = shortcut.Arguments;
|
||||
StartPath = shortcut.WorkDir;
|
||||
if(shortcut.IconLocation!= path)
|
||||
{
|
||||
icon = shortcut.IconLocation;
|
||||
}
|
||||
des = shortcut.Description;
|
||||
}
|
||||
else
|
||||
|
@ -932,7 +1180,7 @@ namespace VSoft
|
|||
mySQL.AddField("Path", path);
|
||||
mySQL.AddField("RunPram", pram);
|
||||
mySQL.AddField("StartPath", StartPath);//起始路径
|
||||
mySQL.AddField("IconPath", "");//图标路径
|
||||
mySQL.AddField("IconPath", icon);//图标路径
|
||||
Json json = new Json("");
|
||||
json.Add("RunAsAdmin", false);
|
||||
mySQL.AddField("SetJson", json.Text);//设置
|
||||
|
@ -944,17 +1192,19 @@ namespace VSoft
|
|||
mySQL.AddField("ColumnId", ColumnId);
|
||||
mySQL.AddField("sortindex", Itrycn_Db.GetSoftCount(db3, ColumnId) + 1);
|
||||
mySQL.AddField("addTime", DateTime.Now);
|
||||
var ds= db3.ReadData(mySQL.GetInsertSQL()+ ";select last_insert_rowid();", mySQL);
|
||||
SoftInfo info = new SoftInfo();
|
||||
info.Id = ds.Tables[0].Rows[0][0].ToInt();
|
||||
info.SoftType =0;
|
||||
info.ColumnId = ColumnId;
|
||||
info.Name = name;
|
||||
info.Path = path;
|
||||
info.RunPram = pram;
|
||||
info.SetJson = json.Text;
|
||||
info.StartPath = StartPath;
|
||||
info.IconPath ="";
|
||||
var ds = db3.ReadData(mySQL.GetInsertSQL() + ";select last_insert_rowid();", mySQL);
|
||||
SoftInfo info = new SoftInfo
|
||||
{
|
||||
Id = ds.Tables[0].Rows[0][0].ToInt(),
|
||||
SoftType = 0,
|
||||
ColumnId = ColumnId,
|
||||
Name = name,
|
||||
Path = path,
|
||||
RunPram = pram,
|
||||
SetJson = json.Text,
|
||||
StartPath = StartPath,
|
||||
IconPath = ""
|
||||
};
|
||||
string img_path = info.TruePath;
|
||||
if (dictCacheImg.ContainsKey(img_path))
|
||||
{
|
||||
|
@ -967,6 +1217,7 @@ namespace VSoft
|
|||
}
|
||||
IconViewEx1.Items.Add(info.Name).Tag = info;
|
||||
}
|
||||
}
|
||||
db3.Free();
|
||||
return;
|
||||
#endregion
|
||||
|
@ -974,6 +1225,9 @@ namespace VSoft
|
|||
Point pt;
|
||||
pt = ((IconViewEx)(sender)).PointToClient(new Point(e.X, e.Y));
|
||||
var to_item = IconViewEx1.GetItemAt(pt.X, pt.Y);
|
||||
IconViewEx1.InsertionMark.Index = -1;
|
||||
TabList_Type.InsertionMark.Index = -1;
|
||||
TabList_Column.InsertionMark.Index = -1;
|
||||
if (to_item == null) { return; }
|
||||
//获得拖放中的项
|
||||
ListViewItem lvi = (ListViewItem)e.Data.GetData(typeof(ListViewItem));
|
||||
|
@ -995,53 +1249,61 @@ namespace VSoft
|
|||
}
|
||||
private void IconViewEx1_DragOver(object sender, DragEventArgs e)
|
||||
{
|
||||
ListViewItem item = null;
|
||||
if (sender is IconViewEx)
|
||||
if (sender is IconViewEx list)
|
||||
{
|
||||
var filedrop = e.Data.GetData(DataFormats.FileDrop);
|
||||
if (filedrop != null) {
|
||||
if (LblDrag.Visible) { LblDrag.Visible = false; }
|
||||
if (filedrop != null)
|
||||
{
|
||||
list.InsertionMark.Index = -1;
|
||||
return;
|
||||
}
|
||||
var lvi = e.Data.GetData(typeof(ListViewItem));
|
||||
if(lvi==null)
|
||||
if (lvi == null)
|
||||
{
|
||||
if (LblDrag.Visible) { LblDrag.Visible = false; }
|
||||
list.InsertionMark.Index = -1;
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
var lvi2 = (ListViewItem)lvi;
|
||||
if(lvi2.ListView!=IconViewEx1)
|
||||
if (lvi2.ListView != IconViewEx1)
|
||||
{
|
||||
if (LblDrag.Visible){LblDrag.Visible = false;}
|
||||
list.InsertionMark.Index = -1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
var list = ((IconViewEx)(sender));
|
||||
var pt = list.PointToClient(new Point(e.X, e.Y));
|
||||
item = list.GetItemAt(pt.X, pt.Y);
|
||||
}
|
||||
else if (sender is TabList)
|
||||
int targetIndex = list.InsertionMark.NearestIndex(pt);
|
||||
if (targetIndex > -1)
|
||||
{
|
||||
var list = ((TabList)(sender));
|
||||
var pt = list.PointToClient(new Point(e.X, e.Y));
|
||||
item = list.GetItemAt(pt.X, pt.Y);
|
||||
}
|
||||
if (item == null)
|
||||
// Determine whether the mouse pointer is to the left or
|
||||
// the right of the midpoint of the closest item and set
|
||||
// the InsertionMark.AppearsAfterItem property accordingly.
|
||||
Rectangle itemBounds = list.GetItemRect(targetIndex);
|
||||
if (pt.X > itemBounds.Left + (itemBounds.Width / 2))
|
||||
{
|
||||
if (LblDrag.Visible)
|
||||
{
|
||||
LblDrag.Visible = false;
|
||||
}
|
||||
list.InsertionMark.AppearsAfterItem = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!LblDrag.Visible)
|
||||
{
|
||||
LblDrag.Visible = true;
|
||||
list.InsertionMark.AppearsAfterItem = false;
|
||||
}
|
||||
LblDrag.Location = item.Position;
|
||||
}
|
||||
list.InsertionMark.Index = targetIndex;
|
||||
list.InsertionMark.Color = Color.Black; ;
|
||||
//item = list.GetItemAt(pt.X, pt.Y);
|
||||
}
|
||||
else if (sender is TabList list2)
|
||||
{
|
||||
var pt = list2.PointToClient(new Point(e.X, e.Y));
|
||||
int targetIndex = list2.InsertionMark.NearestIndex(pt);
|
||||
if (targetIndex > -1)
|
||||
{
|
||||
// Rectangle itemBounds = list2.GetItemRect(targetIndex);
|
||||
list2.InsertionMark.AppearsAfterItem = false;
|
||||
}
|
||||
list2.InsertionMark.Index = targetIndex;
|
||||
list2.InsertionMark.Color = Color.Black; ;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
@ -1052,15 +1314,15 @@ namespace VSoft
|
|||
ListViewItem lvi = (ListViewItem)e.Data.GetData(typeof(ListViewItem));
|
||||
if (lvi != null)
|
||||
{
|
||||
LblDrag.Height = TabList_Column.TileSize.Height;
|
||||
LblDrag.Parent = TabList_Column;
|
||||
e.Effect = DragDropEffects.Move;
|
||||
}
|
||||
}
|
||||
private void TabList_Column_DragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
LblDrag.Visible = false;
|
||||
Point pt;
|
||||
IconViewEx1.InsertionMark.Index = -1;
|
||||
TabList_Type.InsertionMark.Index = -1;
|
||||
TabList_Column.InsertionMark.Index = -1;
|
||||
pt = ((TabList)(sender)).PointToClient(new Point(e.X, e.Y));
|
||||
var item = TabList_Column.GetItemAt(pt.X, pt.Y);
|
||||
if (item == null) { return; }
|
||||
|
@ -1139,16 +1401,16 @@ namespace VSoft
|
|||
ListViewItem lvi = (ListViewItem)e.Data.GetData(typeof(ListViewItem));
|
||||
if (lvi != null)
|
||||
{
|
||||
LblDrag.Height = TabList_Type.TileSize.Height;
|
||||
LblDrag.Parent = TabList_Type;
|
||||
e.Effect = DragDropEffects.Move;
|
||||
}
|
||||
}
|
||||
|
||||
private void TabList_Type_DragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
LblDrag.Visible = false;
|
||||
Point pt;
|
||||
IconViewEx1.InsertionMark.Index = -1;
|
||||
TabList_Type.InsertionMark.Index = -1;
|
||||
TabList_Column.InsertionMark.Index = -1;
|
||||
pt = ((TabList)(sender)).PointToClient(new Point(e.X, e.Y));
|
||||
var item = TabList_Type.GetItemAt(pt.X, pt.Y);
|
||||
if (item == null) { return; }
|
||||
|
@ -1292,16 +1554,18 @@ namespace VSoft
|
|||
private void ShowSetting(bool ShowInScreenCenter)
|
||||
{
|
||||
hotkey.Enabled = false;
|
||||
FrmSetting frm = new FrmSetting();
|
||||
frm.TopMost = TopMost;
|
||||
if(!ShowInScreenCenter)
|
||||
FrmSetting frm = new FrmSetting
|
||||
{
|
||||
frm.StartPosition = FormStartPosition.CenterParent;
|
||||
TopMost = TopMost
|
||||
};
|
||||
if (!ShowInScreenCenter)
|
||||
{
|
||||
frm.ShowInCenter(this);
|
||||
}
|
||||
if (frm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
VSoft.Config.Soft_Config.LoadSetting();
|
||||
hotkey.UnHotKey();
|
||||
hotkey.UnHotKey(100);
|
||||
HotkeyValue hot = new HotkeyValue(Soft_Config.ShowMainHotKey);
|
||||
hotkey.RegHotKey(100, hot.Modifiers_Int, hot.KeyCode);
|
||||
}
|
||||
|
@ -1362,7 +1626,7 @@ namespace VSoft
|
|||
}
|
||||
}
|
||||
|
||||
private void rySearch1_KeyDown(object sender, KeyEventArgs e)
|
||||
private void RySearch1_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Down)
|
||||
{
|
||||
|
@ -1420,8 +1684,11 @@ namespace VSoft
|
|||
Msg.ShowMsg("当前模式下不支持添加软件。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
return;
|
||||
}
|
||||
FrmInCMD frm = new FrmInCMD();
|
||||
frm.TopMost = TopMost;
|
||||
FrmInCMD frm = new FrmInCMD
|
||||
{
|
||||
TopMost = TopMost
|
||||
};
|
||||
frm.ShowInCenter(this);
|
||||
if (frm.ShowDialog()==DialogResult.OK)
|
||||
{
|
||||
var info = frm.SelectedInfo;
|
||||
|
@ -1519,7 +1786,7 @@ namespace VSoft
|
|||
|
||||
}
|
||||
|
||||
private void panelEx1_Resize(object sender, EventArgs e)
|
||||
private void PanelEx1_Resize(object sender, EventArgs e)
|
||||
{
|
||||
// LblEmpty.Left = panelEx1.Left + ((panelEx1.Width - LblEmpty.Width) / 2);
|
||||
}
|
||||
|
@ -1538,5 +1805,27 @@ namespace VSoft
|
|||
this.Hide();
|
||||
}
|
||||
}
|
||||
private ListViewItem currentItem = new ListViewItem();
|
||||
private void IconViewEx1_MouseMove(object sender, MouseEventArgs e)
|
||||
{
|
||||
ListViewItem lvi = IconViewEx1.GetItemAt(e.X, e.Y);
|
||||
if (lvi != null && lvi != currentItem)
|
||||
{
|
||||
currentItem = lvi;
|
||||
if (lvi.Text.Length > 10)
|
||||
{
|
||||
lvTp.Show(lvi.Text, IconViewEx1, e.Location);
|
||||
}
|
||||
else
|
||||
{
|
||||
lvTp.Hide(IconViewEx1);
|
||||
}
|
||||
}
|
||||
else if (lvi == null)
|
||||
{
|
||||
lvTp.Hide(IconViewEx1);
|
||||
}
|
||||
currentItem = lvi;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -124,7 +124,7 @@
|
|||
<data name="以管理员方式启动ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
xAAADsQBlSsOGwAAAYRJREFUOE+NkztPwlAUx8/gakIYWFwYHB1w8FUQCEpI1KiTYpSHQVQisviYjZsJ
|
||||
wAAADsABataJCQAAAYRJREFUOE+NkztPwlAUx8/gakIYWFwYHB1w8FUQCEpI1KiTYpSHQVQisviYjZsJ
|
||||
k4OJMT6ILhgTFheDiongc4AP4HdgcO/xnPZWaG81/JN/Qu49v1972wJ2iUQiQWqFiqL82yO2/w4Nuann
|
||||
DA3MrqMrWcDaSRB30uOGiPfcYrwVWuQr1HnIPxXFnsQxQvYDYeMd1Scf1Yt3hwGMz4UNEc9WBK4JsHfx
|
||||
AJ0r1wibBAoYMizwolpR9D6OYOPCh5f7AU0kcF0AuU8JhsybCVYfhvXeD9kIbGBYEwILrJYHZYEzVZRg
|
||||
|
@ -137,7 +137,7 @@
|
|||
<data name="新增内置功能ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
xAAADsQBlSsOGwAAAIpJREFUOE/tktEGxDAQRef/v6NLly5dQpfQtSXkixJJHu661R36NC/70NJhiDnH
|
||||
wAAADsABataJCQAAAIpJREFUOE/tktEGxDAQRef/v6NLly5dQpfQtSXkixJJHu661R36NC/70NJhiDnH
|
||||
mImRv0SMESEELJ8F73mG9x6vacKGTS6ErbVdOudUsLiwM4s55zX5fo6jChYXjvUTUkqoteIxDCpYXLgT
|
||||
BSZhKQX3vlfB4sIP4U4ci50Jb12ngsUPENcdnPsORL5USPZgYQ6cHAAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
|
@ -182,7 +182,7 @@
|
|||
<data name="IconViewEx1.Icon" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL
|
||||
EwAACxMBAJqcGAAABvRJREFUeF7tnE2IHEUUxwcjIjkE1JMREnMWD7phd7uzfuBJEPSkd0+55BLQc9ds
|
||||
DwAACw8BkvkDpQAABvRJREFUeF7tnE2IHEUUxwcjIjkE1JMREnMWD7phd7uzfuBJEPSkd0+55BLQc9ds
|
||||
ooIXT+bix8kgbtSYgxA1hsWLImLAPYTEXBRUNGiMEojpnpTvdWpIT2/Nm+6e7uqerv+DH0tPVfVs7/t1
|
||||
ffTHDopEoPS9QTQ6FKrkbKjiC/TzCqFBp6CcpLk5G6h4GK7rYKD0HSaF1WL5iN4XqOR4ECU3cl8GFoAg
|
||||
ii8eWNePmXQWjyWld4ZRcox2kuR3ChYPOonfeVLpu0165TgQ6d3UlWzZdgQWF+oNvufcmjTbIzyq99KZ
|
||||
|
|
|
@ -5,6 +5,7 @@ using System.Collections.Generic;
|
|||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using VSoft.Config;
|
||||
using static ryCommonDb.DataProvider;
|
||||
|
||||
namespace VSoft.Prams
|
||||
|
@ -12,8 +13,8 @@ namespace VSoft.Prams
|
|||
public class Itrycn_Db
|
||||
{
|
||||
public static string SQLConnStr_SysDb = "<app>\\SysDb\\SysConfig.dat";
|
||||
public static string SQLConnStr = "<app>\\UserDb\\Softs.dat|";
|
||||
public static string SQLConnStr_Logs = "<app>\\UserDb\\logs.dat|";
|
||||
public static string SQLConnStr = Soft_Info.UserDataFolder+ "\\Softs.dat|";
|
||||
public static string SQLConnStr_Logs = Soft_Info.UserDataFolder + "\\logs.dat|";
|
||||
public static DataProvider.DataProviderType dataType = DataProvider.DataProviderType.SQLiteDataProvider;
|
||||
public static IDbInterface CreateDataProvider(DataProviderType dataProviderType)
|
||||
{
|
||||
|
@ -164,6 +165,7 @@ namespace VSoft.Prams
|
|||
mySQL.AddField("ClickCount",0);//点击量
|
||||
mySQL.AddField("SetJson", "");//设置
|
||||
mySQL.AddField("Des", "");//备注
|
||||
mySQL.AddField("Hotkey", "");//快捷键
|
||||
mySQL.AddField("PinYin", "");//拼音
|
||||
mySQL.AddField("ColumnId", 0);//栏目ID
|
||||
mySQL.AddField("sortindex", 0);
|
||||
|
@ -178,6 +180,7 @@ namespace VSoft.Prams
|
|||
mySQL.AddField("sortindex", 0);
|
||||
mySQL.AddField("depth", 0);//深度,0表示栏目,1表示分类
|
||||
mySQL.AddField("parentId", 0);
|
||||
mySQL.AddField("Hotkey", "");//快捷键
|
||||
mySQL.AddField("Des", "");//备注
|
||||
mySQL.AddField("editTime", DateTime.Now);
|
||||
mySQL.AddField("addTime", DateTime.Now);
|
||||
|
@ -196,7 +199,6 @@ namespace VSoft.Prams
|
|||
}
|
||||
public static void CreateSysTable(DataProvider.DataProviderType dataType, string ConnStr)
|
||||
{
|
||||
DataProvider mydb = new DataProvider();
|
||||
IDbInterface db = CreateDataProvider(dataType);
|
||||
if (db.ConnDb(ConnStr) == 1)
|
||||
{
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
|
@ -16,6 +17,7 @@ namespace VSoft.Prams
|
|||
private const int WM_LBUTTONDOWN = 0x201;
|
||||
private const int WM_RBUTTONDOWN = 0x204;
|
||||
private const int WM_MBUTTONDOWN = 0x207;
|
||||
private const int WM_XBUTTONDOWN = 0x20B;
|
||||
private const int WM_LBUTTONUP = 0x202;
|
||||
private const int WM_RBUTTONUP = 0x205;
|
||||
private const int WM_MBUTTONUP = 0x208;
|
||||
|
@ -38,13 +40,43 @@ namespace VSoft.Prams
|
|||
/// <summary>
|
||||
/// 钩子结构体
|
||||
/// </summary>
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
[StructLayout(LayoutKind.Explicit)]
|
||||
public class MouseHookStruct
|
||||
{
|
||||
public POINT pt;
|
||||
public int hWnd;
|
||||
public int wHitTestCode;
|
||||
public int dwExtraInfo;
|
||||
/// <summary>
|
||||
/// Specifies a Point structure that contains the X- and Y-coordinates of the cursor, in screen coordinates.
|
||||
/// </summary>
|
||||
[FieldOffset(0x00)] public System.Drawing.Point Point;
|
||||
|
||||
/// <summary>
|
||||
/// Specifies information associated with the message.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// The possible values are:
|
||||
/// <list type="bullet">
|
||||
/// <item>
|
||||
/// <description>0 - No Information</description>
|
||||
/// </item>
|
||||
/// <item>
|
||||
/// <description>1 - X-Button1 Click</description>
|
||||
/// </item>
|
||||
/// <item>
|
||||
/// <description>2 - X-Button2 Click</description>
|
||||
/// </item>
|
||||
/// <item>
|
||||
/// <description>120 - Mouse Scroll Away from User</description>
|
||||
/// </item>
|
||||
/// <item>
|
||||
/// <description>-120 - Mouse Scroll Toward User</description>
|
||||
/// </item>
|
||||
/// </list>
|
||||
/// </remarks>
|
||||
[FieldOffset(0x0A)] public short MouseData;
|
||||
|
||||
/// <summary>
|
||||
/// Returns a Timestamp associated with the input, in System Ticks.
|
||||
/// </summary>
|
||||
[FieldOffset(0x10)] public int Timestamp;
|
||||
}
|
||||
|
||||
public const int WH_MOUSE_LL = 14; // mouse hook constant
|
||||
|
@ -88,7 +120,6 @@ namespace VSoft.Prams
|
|||
{
|
||||
Stop();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 启动全局钩子
|
||||
/// </summary>
|
||||
|
@ -100,7 +131,7 @@ namespace VSoft.Prams
|
|||
// 生成一个HookProc的实例.
|
||||
_mouseHookProcedure = new HookProc(MouseHookProc);
|
||||
|
||||
_hMouseHook = SetWindowsHookEx(WH_MOUSE_LL, _mouseHookProcedure, IntPtr.Zero, 0);
|
||||
_hMouseHook = SetWindowsHookEx(WH_MOUSE_LL, _mouseHookProcedure, Process.GetCurrentProcess().MainModule.BaseAddress, 0);
|
||||
|
||||
//假设装置失败停止钩子
|
||||
if (_hMouseHook == 0)
|
||||
|
@ -139,7 +170,8 @@ namespace VSoft.Prams
|
|||
{
|
||||
MouseButtons button = MouseButtons.None;
|
||||
int clickCount = 0;
|
||||
|
||||
// 从回调函数中得到鼠标的信息
|
||||
MouseHookStruct MyMouseHookStruct = (MouseHookStruct)Marshal.PtrToStructure(lParam, typeof(MouseHookStruct));
|
||||
switch (wParam)
|
||||
{
|
||||
case WM_LBUTTONDOWN:
|
||||
|
@ -174,29 +206,23 @@ namespace VSoft.Prams
|
|||
// button = MouseButtons.Middle;
|
||||
// clickCount = 1;
|
||||
// break;
|
||||
case WM_XBUTTON1:
|
||||
button = MouseButtons.XButton1;
|
||||
clickCount = 1;
|
||||
break;
|
||||
case WM_XBUTTON2:
|
||||
button = MouseButtons.XButton2;
|
||||
case WM_XBUTTONDOWN:
|
||||
button = MyMouseHookStruct.MouseData == 1
|
||||
? MouseButtons.XButton1
|
||||
: MouseButtons.XButton2;
|
||||
clickCount = 1;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
// 从回调函数中得到鼠标的信息
|
||||
MouseHookStruct MyMouseHookStruct = (MouseHookStruct)Marshal.PtrToStructure(lParam, typeof(MouseHookStruct));
|
||||
MouseEventArgs e = new MouseEventArgs(button, clickCount, MyMouseHookStruct.pt.x, MyMouseHookStruct.pt.y, 0);
|
||||
MouseEventArgs e = new MouseEventArgs(button, clickCount, MyMouseHookStruct.Point.X, MyMouseHookStruct.Point.Y, 0);
|
||||
|
||||
// 假设想要限制鼠标在屏幕中的移动区域能够在此处设置
|
||||
// 后期须要考虑实际的x、y的容差
|
||||
if (!Screen.PrimaryScreen.Bounds.Contains(e.X, e.Y))
|
||||
{
|
||||
//return 1;
|
||||
}
|
||||
|
||||
//if (!Screen.PrimaryScreen.Bounds.Contains(e.X, e.Y))
|
||||
//{
|
||||
// //return 1;
|
||||
//}
|
||||
OnMouseActivity(this, e);
|
||||
}
|
||||
|
||||
|
|
|
@ -32,7 +32,6 @@ namespace VSoft.Prams
|
|||
if (info.SoftType == 1)
|
||||
{
|
||||
#region 重新载入数据
|
||||
DataProvider mydb = new DataProvider();
|
||||
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
|
||||
if (db.ConnDb(info.Path) == 1)
|
||||
{
|
||||
|
@ -51,7 +50,7 @@ namespace VSoft.Prams
|
|||
if (where.Length > 0)
|
||||
{
|
||||
DataSet ds = db.ReadData("select * from Softs where " + where, mySQL);
|
||||
if (mydb.HaveData(ds))
|
||||
if (ds.HaveData())
|
||||
{
|
||||
DataRow row = ds.Tables[0].Rows[0];
|
||||
path = RyFiles.GetRealPath(row["Path"].ToString());
|
||||
|
@ -59,6 +58,13 @@ namespace VSoft.Prams
|
|||
SetJson = row["SetJson"].ToString();
|
||||
StartPath = row["StartPath"].ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
ds.Dispose();
|
||||
db.Free();
|
||||
return -1;
|
||||
}
|
||||
ds.Dispose();
|
||||
}
|
||||
db.Free();
|
||||
}
|
||||
|
@ -80,14 +86,19 @@ namespace VSoft.Prams
|
|||
switch(path.Substring(1).ToLower())
|
||||
{
|
||||
case "emptyrecyclebin"://清空回收站
|
||||
|
||||
switch (Msg.ShowMsg("是否确认要清空回收站?\r\n\r\n该操作不可逆!!!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2))
|
||||
{
|
||||
case DialogResult.Yes:
|
||||
SHEmptyRecycleBin(IntPtr.Zero, "", SHERB_NOCONFIRMATION + SHERB_NOPROGRESSUI + SHERB_NOSOUND);
|
||||
return 1;
|
||||
return 37;
|
||||
}
|
||||
break;
|
||||
case "trans"://翻译
|
||||
Config.Soft_Config.MainForm.Invoke(new Action(() =>
|
||||
{
|
||||
RyForm.ShowOne(new Tools.FrmTrans());
|
||||
}));
|
||||
return 37;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
||||
//通过使用 "*",如下所示:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.2103.0801")]
|
||||
[assembly: AssemblyFileVersion("1.0.2103.0801")]
|
||||
[assembly: AssemblyVersion("1.0.2310.2401")]
|
||||
[assembly: AssemblyFileVersion("1.0.2310.2401")]
|
|
@ -19,7 +19,7 @@ namespace VSoft.Properties {
|
|||
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
|
||||
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
|
||||
// (以 /str 作为命令选项),或重新生成 VS 项目。
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
@ -47,8 +47,8 @@ namespace VSoft.Properties {
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// 重写当前线程的 CurrentUICulture 属性
|
||||
/// 重写当前线程的 CurrentUICulture 属性。
|
||||
/// 重写当前线程的 CurrentUICulture 属性,对
|
||||
/// 使用此强类型资源类的所有资源查找执行重写。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
|
|
11
Source/VSoft_Dll/Skins/FrmMessageBox.Designer.cs
generated
11
Source/VSoft_Dll/Skins/FrmMessageBox.Designer.cs
generated
|
@ -50,9 +50,9 @@ namespace VSoft.Skins
|
|||
// btnCancel
|
||||
//
|
||||
this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnCancel.BaseColor = System.Drawing.Color.Teal;
|
||||
this.btnCancel.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(20)))));
|
||||
this.btnCancel.ColorGradient = true;
|
||||
this.btnCancel.Location = new System.Drawing.Point(285, 141);
|
||||
this.btnCancel.Location = new System.Drawing.Point(317, 206);
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.Size = new System.Drawing.Size(65, 27);
|
||||
this.btnCancel.TabIndex = 84;
|
||||
|
@ -63,9 +63,9 @@ namespace VSoft.Skins
|
|||
// btnYes
|
||||
//
|
||||
this.btnYes.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnYes.BaseColor = System.Drawing.Color.Teal;
|
||||
this.btnYes.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(20)))));
|
||||
this.btnYes.ColorGradient = true;
|
||||
this.btnYes.Location = new System.Drawing.Point(214, 141);
|
||||
this.btnYes.Location = new System.Drawing.Point(246, 206);
|
||||
this.btnYes.Name = "btnYes";
|
||||
this.btnYes.Size = new System.Drawing.Size(65, 27);
|
||||
this.btnYes.TabIndex = 83;
|
||||
|
@ -77,11 +77,10 @@ namespace VSoft.Skins
|
|||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(355, 172);
|
||||
this.ClientSize = new System.Drawing.Size(387, 237);
|
||||
this.Controls.Add(this.lblMsg);
|
||||
this.Controls.Add(this.btnCancel);
|
||||
this.Controls.Add(this.btnYes);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
|
|
5
Source/VSoft_Dll/Skins/SKinForm.Designer.cs
generated
5
Source/VSoft_Dll/Skins/SKinForm.Designer.cs
generated
|
@ -35,8 +35,11 @@ namespace VSoft.Skins
|
|||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(594, 521);
|
||||
this.ClientSize = new System.Drawing.Size(663, 496);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
||||
this.Location = new System.Drawing.Point(0, 0);
|
||||
this.Name = "SKinForm";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "SKinForm";
|
||||
this.Load += new System.EventHandler(this.SKinForm_Load);
|
||||
this.ResumeLayout(false);
|
||||
|
|
|
@ -20,6 +20,31 @@ namespace VSoft.Skins
|
|||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
/// <summary>
|
||||
/// 显示在父窗体中间,如果没有父窗体,则显示在显示器中间
|
||||
/// </summary>
|
||||
/// <param name="parent"></param>
|
||||
public void ShowInCenter(Form parent)
|
||||
{
|
||||
this.StartPosition = FormStartPosition.Manual;
|
||||
var screen = Screen.FromControl(this);
|
||||
if (parent == null) //如果没有父窗体,则显示在显示器中间
|
||||
{
|
||||
Location = new Point((screen.WorkingArea.Width - Width) / 2, (screen.WorkingArea.Height - Height) / 2);
|
||||
return;
|
||||
}
|
||||
var x = parent.Left + (parent.Width - Width) / 2;
|
||||
var y = parent.Top + (parent.Height - Height) / 2;
|
||||
if ((x + Width) > screen.WorkingArea.X + screen.WorkingArea.Width)
|
||||
{
|
||||
x = screen.WorkingArea.X + screen.WorkingArea.Width - Width;
|
||||
}
|
||||
if ((y + Height) > screen.WorkingArea.Y + screen.WorkingArea.Height)
|
||||
{
|
||||
y = screen.WorkingArea.Y + screen.WorkingArea.Height - Height;
|
||||
}
|
||||
Location = new Point(x, y);
|
||||
}
|
||||
private void SKinForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!this.DesignMode)
|
||||
|
|
|
@ -36,7 +36,7 @@ namespace VSoft.Skins
|
|||
SideResizeWidth = 4;
|
||||
UseDefaultTopRoundingFormRegion = false;
|
||||
|
||||
|
||||
ShadowWidth = 1;
|
||||
RoundedStyle = RoundStyle.None;
|
||||
FormBorderOutterColor = Color.Gray;
|
||||
FormBorderInnerColor = Color.White;
|
||||
|
|
182
Source/VSoft_Dll/Tools/Trans/FrmTrans.Designer.cs
generated
Normal file
182
Source/VSoft_Dll/Tools/Trans/FrmTrans.Designer.cs
generated
Normal file
|
@ -0,0 +1,182 @@
|
|||
namespace VSoft.Tools
|
||||
{
|
||||
partial class FrmTrans
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmTrans));
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.RichText = new ryControls.Controls.RichTextBox2();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.RichResult = new ryControls.Controls.RichTextBox2();
|
||||
this.CbbLngFrom = new ryControls.RyComboBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.CbbLngTo = new ryControls.RyComboBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(10, 69);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(65, 12);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "待翻译文本";
|
||||
//
|
||||
// RichText
|
||||
//
|
||||
this.RichText.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.RichText.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.RichText.DetectUrls = false;
|
||||
this.RichText.EmptyText = "";
|
||||
this.RichText.Font = new System.Drawing.Font("Courier New", 10F);
|
||||
this.RichText.Location = new System.Drawing.Point(12, 84);
|
||||
this.RichText.Name = "RichText";
|
||||
this.RichText.OnlyInputText = false;
|
||||
this.RichText.Size = new System.Drawing.Size(686, 181);
|
||||
this.RichText.TabIndex = 1;
|
||||
this.RichText.Text = "";
|
||||
this.RichText.WordWrap = false;
|
||||
this.RichText.TextChanged += new System.EventHandler(this.RichText_TextChanged);
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(10, 269);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(65, 12);
|
||||
this.label2.TabIndex = 2;
|
||||
this.label2.Text = "待翻译文本";
|
||||
//
|
||||
// RichResult
|
||||
//
|
||||
this.RichResult.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.RichResult.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.RichResult.DetectUrls = false;
|
||||
this.RichResult.EmptyText = "";
|
||||
this.RichResult.Font = new System.Drawing.Font("Courier New", 10F);
|
||||
this.RichResult.Location = new System.Drawing.Point(12, 285);
|
||||
this.RichResult.Name = "RichResult";
|
||||
this.RichResult.OnlyInputText = false;
|
||||
this.RichResult.Size = new System.Drawing.Size(686, 260);
|
||||
this.RichResult.TabIndex = 3;
|
||||
this.RichResult.Text = "";
|
||||
this.RichResult.WordWrap = false;
|
||||
//
|
||||
// CbbLngFrom
|
||||
//
|
||||
this.CbbLngFrom.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
|
||||
this.CbbLngFrom.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.CbbLngFrom.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.CbbLngFrom.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.CbbLngFrom.FormattingEnabled = true;
|
||||
this.CbbLngFrom.Items.AddRange(new object[] {
|
||||
"自动",
|
||||
"英文",
|
||||
"中文",
|
||||
"韩语",
|
||||
"日语"});
|
||||
this.CbbLngFrom.Location = new System.Drawing.Point(33, 36);
|
||||
this.CbbLngFrom.Name = "CbbLngFrom";
|
||||
this.CbbLngFrom.Size = new System.Drawing.Size(93, 24);
|
||||
this.CbbLngFrom.TabIndex = 4;
|
||||
this.CbbLngFrom.SelectedIndexChanged += new System.EventHandler(this.CbbFrom_SelectedIndexChanged);
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(10, 41);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(17, 12);
|
||||
this.label3.TabIndex = 5;
|
||||
this.label3.Text = "从";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(132, 41);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(41, 12);
|
||||
this.label4.TabIndex = 6;
|
||||
this.label4.Text = "翻译成";
|
||||
//
|
||||
// CbbLngTo
|
||||
//
|
||||
this.CbbLngTo.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
|
||||
this.CbbLngTo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.CbbLngTo.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.CbbLngTo.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.CbbLngTo.FormattingEnabled = true;
|
||||
this.CbbLngTo.Items.AddRange(new object[] {
|
||||
"英文",
|
||||
"中文",
|
||||
"韩语",
|
||||
"日语"});
|
||||
this.CbbLngTo.Location = new System.Drawing.Point(179, 36);
|
||||
this.CbbLngTo.Name = "CbbLngTo";
|
||||
this.CbbLngTo.Size = new System.Drawing.Size(93, 24);
|
||||
this.CbbLngTo.TabIndex = 7;
|
||||
this.CbbLngTo.SelectedIndexChanged += new System.EventHandler(this.CbbTo_SelectedIndexChanged);
|
||||
//
|
||||
// FrmTrans
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(714, 559);
|
||||
this.Controls.Add(this.CbbLngTo);
|
||||
this.Controls.Add(this.label4);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.CbbLngFrom);
|
||||
this.Controls.Add(this.RichResult);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.RichText);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "FrmTrans";
|
||||
this.Text = "快速翻译";
|
||||
this.Load += new System.EventHandler(this.FrmTrans_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label label1;
|
||||
private ryControls.Controls.RichTextBox2 RichText;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private ryControls.Controls.RichTextBox2 RichResult;
|
||||
private ryControls.RyComboBox CbbLngFrom;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private ryControls.RyComboBox CbbLngTo;
|
||||
}
|
||||
}
|
138
Source/VSoft_Dll/Tools/Trans/FrmTrans.cs
Normal file
138
Source/VSoft_Dll/Tools/Trans/FrmTrans.cs
Normal file
|
@ -0,0 +1,138 @@
|
|||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace VSoft.Tools
|
||||
{
|
||||
public partial class FrmTrans : Skins.SKinForm
|
||||
{
|
||||
public FrmTrans()
|
||||
{
|
||||
InitializeComponent();
|
||||
CbbLngFrom.SelectedIndex = 0;
|
||||
CbbLngTo.SelectedIndex = 0;
|
||||
}
|
||||
private string Tran(string from_txt,string lng_from,string lng_to)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (from_txt.Length == 0) { return ""; }
|
||||
// 原文
|
||||
string q = from_txt;
|
||||
// 源语言
|
||||
string from = lng_from;
|
||||
// 目标语言
|
||||
string to = lng_to;
|
||||
// 改成您的APP ID
|
||||
string appId = "20220508001207657";
|
||||
Random rd = new Random();
|
||||
string salt = rd.Next(100000).ToString();
|
||||
// 改成您的密钥
|
||||
string secretKey = "l6ngE7GjtdvRESJqQzDL";
|
||||
RyWeb.QuickWeb web = new RyWeb.QuickWeb();
|
||||
string sign = EncryptString(appId + q + salt + secretKey);
|
||||
string post_data = "q=" + web.UrlEncode(q);
|
||||
post_data += "&from=" + from;
|
||||
post_data += "&to=" + to;
|
||||
post_data += "&appid=" + appId;
|
||||
post_data += "&salt=" + salt;
|
||||
post_data += "&sign=" + sign;
|
||||
var http= web.Post("http://api.fanyi.baidu.com/api/trans/vip/translate", post_data);
|
||||
JObject jo = JObject.Parse(http.Html);
|
||||
var trans_result = jo["trans_result"];
|
||||
if (trans_result != null)
|
||||
{
|
||||
var jarr = (JArray)trans_result;
|
||||
var text = "";
|
||||
for (int i = 0; i < jarr.Count; i++)
|
||||
{
|
||||
if (text.Length > 0) { text += "\r\n"; }
|
||||
if (jarr[i] != null)
|
||||
{
|
||||
var dst = jarr[i]["dst"];
|
||||
if (dst != null) { text+= dst.ToString(); }
|
||||
}
|
||||
}
|
||||
last_text = from_txt;
|
||||
return text;
|
||||
}
|
||||
return "";
|
||||
}
|
||||
catch(Exception ex) { return "错误=>"+ex.Message; }
|
||||
}
|
||||
string last_text = "";
|
||||
// 计算MD5值
|
||||
public static string EncryptString(string str)
|
||||
{
|
||||
MD5 md5 = MD5.Create();
|
||||
// 将字符串转换成字节数组
|
||||
byte[] byteOld = Encoding.UTF8.GetBytes(str);
|
||||
// 调用加密方法
|
||||
byte[] byteNew = md5.ComputeHash(byteOld);
|
||||
// 将加密结果转换为字符串
|
||||
StringBuilder sb = new StringBuilder();
|
||||
foreach (byte b in byteNew)
|
||||
{
|
||||
// 将字节转换成16进制表示的字符串,
|
||||
sb.Append(b.ToString("x2"));
|
||||
}
|
||||
// 返回加密的字符串
|
||||
return sb.ToString();
|
||||
}
|
||||
private void Trans()
|
||||
{
|
||||
var lng_from = lng_convert(CbbLngFrom.Text);
|
||||
var lng_to = lng_convert(CbbLngTo.Text);
|
||||
string lng_convert(string lng_text)
|
||||
{
|
||||
if (lng_text == "自动") { return "auto"; }
|
||||
else if (lng_text == "中文") { return "zh"; }
|
||||
else if (lng_text == "英文") { return "en"; }
|
||||
else if (lng_text == "日语") { return "jp"; }
|
||||
else if (lng_text == "韩语") { return "kor"; }
|
||||
else { return ""; }
|
||||
}
|
||||
var from_text = RichText.Text;
|
||||
Thread th = new Thread(Start);
|
||||
th.Start();
|
||||
void Start()
|
||||
{
|
||||
var to_text= Tran(from_text, lng_from, lng_to);
|
||||
this.Invoke(new Action(() =>
|
||||
{
|
||||
RichResult.Text = to_text;
|
||||
}));
|
||||
}
|
||||
}
|
||||
private void CbbFrom_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Trans();
|
||||
}
|
||||
|
||||
private void CbbTo_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Trans();
|
||||
}
|
||||
|
||||
private void RichText_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
Trans();
|
||||
}
|
||||
|
||||
private void FrmTrans_Load(object sender, EventArgs e)
|
||||
{
|
||||
var screen = Screen.FromPoint(MousePosition).WorkingArea;
|
||||
this.Location = new Point(screen.Left+ ((screen.Width-this.Width)/2),screen.Top+ ((screen.Height - this.Height) / 2));
|
||||
}
|
||||
}
|
||||
}
|
287
Source/VSoft_Dll/Tools/Trans/FrmTrans.resx
Normal file
287
Source/VSoft_Dll/Tools/Trans/FrmTrans.resx
Normal file
|
@ -0,0 +1,287 @@
|
|||
<?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>
|
||||
<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">
|
||||
<value>
|
||||
AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAgCUAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAP7+/gz///9x////zv7+/vT///////////7+/v7////////////////+/v7+//////7+
|
||||
/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+
|
||||
/v7////////////////+/v7+///////////+/v7+///////////+/v7+///////////+/v70////zv//
|
||||
/3H+/v4MAAAAAAAAAAAAAAAA////Gf7+/r7////+//////7+/v7///////////7+/v7/////////////
|
||||
///+/v7+//////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+
|
||||
/v7///////////7+/v7////////////////+/v7+///////////+/v7+///////////+/v7+////////
|
||||
///+/v7+//////////7+/v6+////GQAAAAD+/v4M/v7+wv7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
|
||||
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
|
||||
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
|
||||
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+wv7+/gz///9w/////v7+/v7////v////gP7+
|
||||
/h8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v4f////gP///+/+/v7+/////v7+/nD////L//////7+
|
||||
/v7///91AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///3X+/v7+//////7+
|
||||
/sv+/v70/v7+/v7+/v7+/v4iAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+
|
||||
/iL+/v7+/v7+/v7+/vT///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7+/v7+/v7+/v7+/v4AAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+/v7///////////7+
|
||||
/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+
|
||||
/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9n////f/7+
|
||||
/n////87AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD+/v7+//////7+/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAP7+/jf///9o////AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD////P//////7+/v7///93AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7+/v7+/v7+/v7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAA/v7+C/7+/sz+/v79/v7+lf7+/gkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAD+/v7O/v7+/v7+/v7+/v53AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+/v7///////////7+/v4AAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////bP7+/v7//////////f7+/q3///8PAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////P//////7+/v7///93AAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7+/v7+/v7+/v7+
|
||||
/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+Ov7+/vD+/v7+/v7+/v7+
|
||||
/v7+/v67/v7+FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7O/v7+/v7+/v7+/v53AAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+
|
||||
/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+
|
||||
/rL///////////7+/v7/////////0v7+/iP///8K////Uf7+/lf///9X////V/7+/lf////b//////7+
|
||||
/v7///+f////V////1f+/v5X////V////zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD+/v7+//////7+/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAP7+/qf///////////7+/vb////9//////7+/sL///8Q////5/7+/v7///////////7+
|
||||
/v7///////////7+/v7////////////////+/v7+/////////4cAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7+/v7+/v7+/v7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/qf+/v7+/v7+/v7+/pT+/v5a/v7+yv7+/s7+/v4Q/v7+5/7+
|
||||
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/ocAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+/v7///////////7+/v4AAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/qf///////////7+/ocAAAAA////CP7+
|
||||
/m////8Q////vf7+/s/////P////z/7+/s/////z//////7+/v7////h////z////8/+/v7P////z///
|
||||
/28AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7///////////7+
|
||||
/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/qf///////////7+
|
||||
/ocAAAAAAAAAAP7+/gP///8B////B/7+/gf///8H////B/7+/gf////P//////7+/v7///95////B///
|
||||
/wf+/v4H////B////wQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+
|
||||
/v7+/v7+/v7+/v7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+
|
||||
/qf+/v7+/v7+/v7+/ocAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v4v/v7+L/7+/i/+/v7O/v7+/v7+
|
||||
/v7+/v6M/v7+L/7+/i/+/v4jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD+/v7+/v7+/v7+/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAP7+/qf///////////7+/ocAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////7+
|
||||
/v7///////////7+/v7////////////////+/v6nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/qf///////////7+/ocAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD///////////7+/v7///////////7+/v7////////////////+/v6nAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7+/v7+/v7+/v7+/v4AAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/qf+/v7+/v7+/v7+/ocAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v6nAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+/v7///////////7+
|
||||
/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/qf///////////7+
|
||||
/ocAAAAAAAAAAAAAAAD///8s////Iv7+/gEAAAAAAAAAAAAAAAD////P//////7+/v7///93AAAAAAAA
|
||||
AAAAAAAA////Cf///yn+/v4+////BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+
|
||||
/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////C////xf+/v4X////F/7+
|
||||
/q3///////////7+/ocAAAAAAAAAAP7+/gP////d////8P7+/sv///+F////P/7+/gr///+9////5/7+
|
||||
/uf///9u////C////0H+/v6Z////3f////T+/v7t////FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD+/v7+//////7+/v7+/v7+/v7+/v7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+d/7+
|
||||
/u7+/v7u/v7+7v7+/vT+/v7+/v7+/v7+/ocAAAAAAAAAAP7+/kr+/v7+/v7+/v7+/v7+/v7+/v7+/P7+
|
||||
/tD+/v6G/v7+KP7+/hr+/v58/v7+0f7+/vz+/v7+/v7+/v7+/v7+/v7+/v7+OwAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAA////f//////+/v7+//////7+/v7///////////7+/ocAAAAA////Av7+/pb////x/////v7+
|
||||
/v7///////////7+/v7/////////+f7+/u/////////////////+/v7x////5////+D+/v7X////XQAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7///////////7+/v4AAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAA////e/////f+/v72////9/7+/vb////3////9/7+/oUAAAAA////Af7+
|
||||
/g3///8a////Of7+/l7///+N////xf7+/vT///////////7+/v7/////////jf///yr+/v4Y////FP//
|
||||
/xD+/v4M////BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7+/v7+/v7+/v7+
|
||||
/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+F/7+/i/+/v4v/v7+L/7+/i/+/v4v/v7+L/7+
|
||||
/h0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+Fv7+/s/+/v7+/v7+/v7+/v7+/v7+/v7+5/7+
|
||||
/kQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+
|
||||
/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAA////I/7+/iIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8a////y/7+/v7/////////q/7+
|
||||
/oj////7//////////z+/v5h////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD+/v7+//////7+/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAD///8d////0P7+/sL///8HAAAAAAAAAAAAAAAAAAAAAP7+/g3////L//////7+
|
||||
/v7///+w////Df7+/gL///9e////9f/////+/v75////ZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/hH////L//////7+/v7///+U////BAAAAAAAAAAAAAAAAP7+
|
||||
/mn///////////7+/vj///8jAAAAAAAAAAAAAAAA////h//////+/v7+////7v///zYAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7+/v7+/v7+/v7+/v4AAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+G/7+/sn+/v7+/v7+/v7+/v7+/v75/v7+QwAA
|
||||
AAD+/v6H/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
|
||||
/ocAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+/v7///////////7+
|
||||
/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v4j////0f7+/v7///////////7+
|
||||
/vf///9w////BgAAAAD///+H//////7+/v7///////////7+/v7///////////7+/v7/////////////
|
||||
///+/v7+/////////4cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+
|
||||
/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v41////8P7+
|
||||
/v7/////////5f7+/lIAAAAAAAAAAAAAAAD///+H//////7+/v7///////////7+/v7///////////7+
|
||||
/v7////////////////+/v7+/////////4cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD+/v7+//////7+/v7+/v7+/v7+/v7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAA/v7+af7+/vr+/v6n/v7+GgAAAAAAAAAAAAAAAAAAAAD+/v4d/v7+L/7+/i/+/v4v/v7+L/7+
|
||||
/i/+/v4v/v7+L/7+/i/+/v4v/v7+L/7+/i/+/v4v/v7+L/7+/h0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAA////Bf7+/kb///8FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7///////////7+/v4AAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7+/v7+/v7+/v7+
|
||||
/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+
|
||||
/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD+/v7+//////7+/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7+/v70/v7+/v7+/v7+/v4iAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/iL+/v7+/v7+/v7+/vT////L//////7+/v7///91AAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///3X+/v7+//////7+/sv///9w/////v7+
|
||||
/v7////v////gP7+/h8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v4f////gP///+/+/v7+/////v7+
|
||||
/nD+/v4M/v7+wv7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
|
||||
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
|
||||
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
|
||||
/v7+/v7+/v7+wv7+/gwAAAAA////Gf7+/r7////+//////7+/v7///////////7+/v7/////////////
|
||||
///+/v7+//////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+
|
||||
/v7///////////7+/v7////////////////+/v7+///////////+/v7+///////////+/v7+////////
|
||||
///+/v7+//////////7+/v6+////GQAAAAAAAAAAAAAAAP7+/gz+/v5x/v7+zv7+/vT+/v7+/v7+/v7+
|
||||
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
|
||||
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
|
||||
/v7+/v7+/v7+/v7+/v7+/v70/v7+zv7+/nH+/v4MAAAAAAAAAADAAAAAAAMAAIAAAAAAAQAAAAAAAAAA
|
||||
AAAD/////8AAAA//////8AAAD//////wAAAf//////gAAB//////+AAAH//////4AAAf//////gAAB//
|
||||
/+H/+AAAH/x/4f/4AAAf+D/h//gAAB/4H+H/+AAAH/gP4f/4AAAf/AAAD/gAAB/8AAAP+AAAH/wAAA/4
|
||||
AAAf/CAAD/gAAB/8MAAP+AAAH/w/AD/4AAAf/D8AP/gAAB/8PwA/+AAAH/w/AD/4AAAf/Djhw/gAAB/A
|
||||
MAAD+AAAH8AwAAP4AAAfwCAAA/gAAB/AIAAD+AAAH8A/gH/4AAAf/z8AH/gAAB/+HgAf+AAAH/wODg/4
|
||||
AAAf+AgAD/gAAB/wCAAP+AAAH/A4AA/4AAAf+HgAD/gAAB/4////+AAAH//////4AAAf//////gAAB//
|
||||
////+AAAH//////4AAAP//////AAAA//////8AAAA//////AAAAAAAAAAAAAAIAAAAAAAQAAwAAAAAAD
|
||||
AAA=
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
|
@ -9,19 +9,21 @@
|
|||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>VSoft</RootNamespace>
|
||||
<AssemblyName>VSoft</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\Bin\Debug\VSoft\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;DY</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
|
@ -30,28 +32,21 @@
|
|||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="MyDb, Version=2.1.2005.1901, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Bin\Debug\VSoft\MyDb.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MyDb_SQLite">
|
||||
<HintPath>..\..\Bin\Debug\VSoft\MyDb_SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Bin\Debug\VSoft\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="ryControls">
|
||||
<HintPath>..\..\Bin\Debug\VSoft\ryControls.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="ryUpdate">
|
||||
<HintPath>..\..\Bin\Debug\VSoft\ryUpdate.dll</HintPath>
|
||||
<Reference Include="RaUI, Version=4.0.2302.1401, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Bin\Debug\VSoft\RaUI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xaml" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
|
@ -141,6 +136,12 @@
|
|||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Tools\Trans\FrmTrans.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Tools\Trans\FrmTrans.Designer.cs">
|
||||
<DependentUpon>FrmTrans.cs</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Config\frmSetting.resx">
|
||||
|
@ -177,6 +178,9 @@
|
|||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Tools\Trans\FrmTrans.resx">
|
||||
<DependentUpon>FrmTrans.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<COMReference Include="IWshRuntimeLibrary">
|
||||
|
|
Loading…
Reference in New Issue
Block a user