1.1版本,新增应用设置,修复部分BUG
This commit is contained in:
parent
3c61d44af1
commit
86d37be2c0
|
@ -69,7 +69,7 @@
|
|||
// labelVersion
|
||||
//
|
||||
this.labelVersion.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.labelVersion.Location = new System.Drawing.Point(6, 20);
|
||||
this.labelVersion.Location = new System.Drawing.Point(6, 25);
|
||||
this.labelVersion.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
|
||||
this.labelVersion.MaximumSize = new System.Drawing.Size(0, 16);
|
||||
this.labelVersion.Name = "labelVersion";
|
||||
|
@ -81,7 +81,7 @@
|
|||
// labelCopyright
|
||||
//
|
||||
this.labelCopyright.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.labelCopyright.Location = new System.Drawing.Point(6, 39);
|
||||
this.labelCopyright.Location = new System.Drawing.Point(6, 50);
|
||||
this.labelCopyright.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
|
||||
this.labelCopyright.MaximumSize = new System.Drawing.Size(0, 16);
|
||||
this.labelCopyright.Name = "labelCopyright";
|
||||
|
@ -94,9 +94,9 @@
|
|||
//
|
||||
this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.okButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.okButton.Location = new System.Drawing.Point(145, 65);
|
||||
this.okButton.Location = new System.Drawing.Point(145, 78);
|
||||
this.okButton.Name = "okButton";
|
||||
this.okButton.Size = new System.Drawing.Size(75, 25);
|
||||
this.okButton.Size = new System.Drawing.Size(75, 19);
|
||||
this.okButton.TabIndex = 24;
|
||||
this.okButton.Text = "确定(&O)";
|
||||
this.okButton.Click += new System.EventHandler(this.okButton_Click);
|
||||
|
|
|
@ -28,71 +28,73 @@
|
|||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.TunnelConfigGroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.enableCBX = new System.Windows.Forms.CheckBox();
|
||||
this.ipTB = new System.Windows.Forms.TextBox();
|
||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||
this.delButton = new System.Windows.Forms.Button();
|
||||
this.enableCBX = new System.Windows.Forms.CheckBox();
|
||||
this.addButton = new System.Windows.Forms.Button();
|
||||
this.tunnelListBox = new System.Windows.Forms.ListBox();
|
||||
this.ipTB = new System.Windows.Forms.TextBox();
|
||||
this.tunnelTypeLabelPort = new System.Windows.Forms.Label();
|
||||
this.tunnelTypeCMB = new System.Windows.Forms.ComboBox();
|
||||
this.tunnelTypeLabel = new System.Windows.Forms.Label();
|
||||
this.portTB = new System.Windows.Forms.TextBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.tunnelNameTB = new System.Windows.Forms.TextBox();
|
||||
this.subdomainLBL = new System.Windows.Forms.Label();
|
||||
this.subdomainTB = new System.Windows.Forms.TextBox();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.tunnelTypeLabelPort = new System.Windows.Forms.Label();
|
||||
this.subdomainLBL = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.tunnelTypeLabel = new System.Windows.Forms.Label();
|
||||
this.tunnelTypeCMB = new System.Windows.Forms.ComboBox();
|
||||
this.tunnelListBox = new System.Windows.Forms.ListBox();
|
||||
this.tabPage2 = new System.Windows.Forms.TabPage();
|
||||
this.tpCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.notShowCB = new System.Windows.Forms.CheckBox();
|
||||
this.autoStartCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.saveButton = new System.Windows.Forms.Button();
|
||||
this.TunnelConfigGroupBox.SuspendLayout();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
this.tabPage2.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// TunnelConfigGroupBox
|
||||
// tabControl1
|
||||
//
|
||||
this.TunnelConfigGroupBox.Controls.Add(this.enableCBX);
|
||||
this.TunnelConfigGroupBox.Controls.Add(this.ipTB);
|
||||
this.TunnelConfigGroupBox.Controls.Add(this.delButton);
|
||||
this.TunnelConfigGroupBox.Controls.Add(this.addButton);
|
||||
this.TunnelConfigGroupBox.Controls.Add(this.portTB);
|
||||
this.TunnelConfigGroupBox.Controls.Add(this.tunnelNameTB);
|
||||
this.TunnelConfigGroupBox.Controls.Add(this.subdomainTB);
|
||||
this.TunnelConfigGroupBox.Controls.Add(this.label1);
|
||||
this.TunnelConfigGroupBox.Controls.Add(this.label2);
|
||||
this.TunnelConfigGroupBox.Controls.Add(this.label5);
|
||||
this.TunnelConfigGroupBox.Controls.Add(this.tunnelTypeLabelPort);
|
||||
this.TunnelConfigGroupBox.Controls.Add(this.subdomainLBL);
|
||||
this.TunnelConfigGroupBox.Controls.Add(this.label3);
|
||||
this.TunnelConfigGroupBox.Controls.Add(this.tunnelTypeLabel);
|
||||
this.TunnelConfigGroupBox.Controls.Add(this.tunnelTypeCMB);
|
||||
this.TunnelConfigGroupBox.Controls.Add(this.tunnelListBox);
|
||||
this.TunnelConfigGroupBox.Location = new System.Drawing.Point(12, 12);
|
||||
this.TunnelConfigGroupBox.Name = "TunnelConfigGroupBox";
|
||||
this.TunnelConfigGroupBox.Size = new System.Drawing.Size(291, 201);
|
||||
this.TunnelConfigGroupBox.TabIndex = 8;
|
||||
this.TunnelConfigGroupBox.TabStop = false;
|
||||
this.TunnelConfigGroupBox.Text = "通道配置";
|
||||
this.tabControl1.Controls.Add(this.tabPage1);
|
||||
this.tabControl1.Controls.Add(this.tabPage2);
|
||||
this.tabControl1.Location = new System.Drawing.Point(8, 2);
|
||||
this.tabControl1.Name = "tabControl1";
|
||||
this.tabControl1.SelectedIndex = 0;
|
||||
this.tabControl1.Size = new System.Drawing.Size(327, 188);
|
||||
this.tabControl1.TabIndex = 9;
|
||||
//
|
||||
// enableCBX
|
||||
// tabPage1
|
||||
//
|
||||
this.enableCBX.AutoSize = true;
|
||||
this.enableCBX.Location = new System.Drawing.Point(193, 154);
|
||||
this.enableCBX.Name = "enableCBX";
|
||||
this.enableCBX.Size = new System.Drawing.Size(15, 14);
|
||||
this.enableCBX.TabIndex = 10;
|
||||
this.enableCBX.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// ipTB
|
||||
//
|
||||
this.ipTB.Location = new System.Drawing.Point(193, 100);
|
||||
this.ipTB.Name = "ipTB";
|
||||
this.ipTB.Size = new System.Drawing.Size(92, 21);
|
||||
this.ipTB.TabIndex = 9;
|
||||
this.tabPage1.BackColor = System.Drawing.Color.White;
|
||||
this.tabPage1.Controls.Add(this.delButton);
|
||||
this.tabPage1.Controls.Add(this.enableCBX);
|
||||
this.tabPage1.Controls.Add(this.addButton);
|
||||
this.tabPage1.Controls.Add(this.tunnelListBox);
|
||||
this.tabPage1.Controls.Add(this.ipTB);
|
||||
this.tabPage1.Controls.Add(this.tunnelTypeLabelPort);
|
||||
this.tabPage1.Controls.Add(this.tunnelTypeCMB);
|
||||
this.tabPage1.Controls.Add(this.tunnelTypeLabel);
|
||||
this.tabPage1.Controls.Add(this.portTB);
|
||||
this.tabPage1.Controls.Add(this.label3);
|
||||
this.tabPage1.Controls.Add(this.tunnelNameTB);
|
||||
this.tabPage1.Controls.Add(this.subdomainLBL);
|
||||
this.tabPage1.Controls.Add(this.subdomainTB);
|
||||
this.tabPage1.Controls.Add(this.label5);
|
||||
this.tabPage1.Controls.Add(this.label1);
|
||||
this.tabPage1.Controls.Add(this.label2);
|
||||
this.tabPage1.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage1.Name = "tabPage1";
|
||||
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage1.Size = new System.Drawing.Size(319, 162);
|
||||
this.tabPage1.TabIndex = 0;
|
||||
this.tabPage1.Text = "通道配置";
|
||||
//
|
||||
// delButton
|
||||
//
|
||||
this.delButton.Location = new System.Drawing.Point(76, 172);
|
||||
this.delButton.Location = new System.Drawing.Point(76, 131);
|
||||
this.delButton.Name = "delButton";
|
||||
this.delButton.Size = new System.Drawing.Size(50, 23);
|
||||
this.delButton.TabIndex = 1;
|
||||
|
@ -100,9 +102,18 @@
|
|||
this.delButton.UseVisualStyleBackColor = true;
|
||||
this.delButton.Click += new System.EventHandler(this.delButton_Click);
|
||||
//
|
||||
// enableCBX
|
||||
//
|
||||
this.enableCBX.AutoSize = true;
|
||||
this.enableCBX.Location = new System.Drawing.Point(195, 140);
|
||||
this.enableCBX.Name = "enableCBX";
|
||||
this.enableCBX.Size = new System.Drawing.Size(15, 14);
|
||||
this.enableCBX.TabIndex = 10;
|
||||
this.enableCBX.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// addButton
|
||||
//
|
||||
this.addButton.Location = new System.Drawing.Point(6, 172);
|
||||
this.addButton.Location = new System.Drawing.Point(6, 131);
|
||||
this.addButton.Name = "addButton";
|
||||
this.addButton.Size = new System.Drawing.Size(50, 23);
|
||||
this.addButton.TabIndex = 1;
|
||||
|
@ -110,31 +121,110 @@
|
|||
this.addButton.UseVisualStyleBackColor = true;
|
||||
this.addButton.Click += new System.EventHandler(this.addButton_Click);
|
||||
//
|
||||
// tunnelListBox
|
||||
//
|
||||
this.tunnelListBox.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.tunnelListBox.FormattingEnabled = true;
|
||||
this.tunnelListBox.ItemHeight = 14;
|
||||
this.tunnelListBox.Location = new System.Drawing.Point(6, 6);
|
||||
this.tunnelListBox.Name = "tunnelListBox";
|
||||
this.tunnelListBox.Size = new System.Drawing.Size(120, 116);
|
||||
this.tunnelListBox.TabIndex = 5;
|
||||
this.tunnelListBox.SelectedIndexChanged += new System.EventHandler(this.tunnelListBox_SelectedValueChanged);
|
||||
//
|
||||
// ipTB
|
||||
//
|
||||
this.ipTB.Location = new System.Drawing.Point(195, 86);
|
||||
this.ipTB.Name = "ipTB";
|
||||
this.ipTB.Size = new System.Drawing.Size(92, 21);
|
||||
this.ipTB.TabIndex = 9;
|
||||
//
|
||||
// tunnelTypeLabelPort
|
||||
//
|
||||
this.tunnelTypeLabelPort.AutoSize = true;
|
||||
this.tunnelTypeLabelPort.Location = new System.Drawing.Point(136, 36);
|
||||
this.tunnelTypeLabelPort.Name = "tunnelTypeLabelPort";
|
||||
this.tunnelTypeLabelPort.Size = new System.Drawing.Size(53, 12);
|
||||
this.tunnelTypeLabelPort.TabIndex = 8;
|
||||
this.tunnelTypeLabelPort.Text = "远程端口";
|
||||
this.tunnelTypeLabelPort.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.tunnelTypeLabelPort.Visible = false;
|
||||
//
|
||||
// tunnelTypeCMB
|
||||
//
|
||||
this.tunnelTypeCMB.FormattingEnabled = true;
|
||||
this.tunnelTypeCMB.Items.AddRange(new object[] {
|
||||
"TCP",
|
||||
"HTTP"});
|
||||
this.tunnelTypeCMB.Location = new System.Drawing.Point(195, 60);
|
||||
this.tunnelTypeCMB.Name = "tunnelTypeCMB";
|
||||
this.tunnelTypeCMB.Size = new System.Drawing.Size(92, 20);
|
||||
this.tunnelTypeCMB.TabIndex = 6;
|
||||
this.tunnelTypeCMB.SelectedIndexChanged += new System.EventHandler(this.tunnelTypeCMB_SelectedIndexChanged);
|
||||
//
|
||||
// tunnelTypeLabel
|
||||
//
|
||||
this.tunnelTypeLabel.AutoSize = true;
|
||||
this.tunnelTypeLabel.Location = new System.Drawing.Point(136, 63);
|
||||
this.tunnelTypeLabel.Name = "tunnelTypeLabel";
|
||||
this.tunnelTypeLabel.Size = new System.Drawing.Size(53, 12);
|
||||
this.tunnelTypeLabel.TabIndex = 7;
|
||||
this.tunnelTypeLabel.Text = "通道类型";
|
||||
//
|
||||
// portTB
|
||||
//
|
||||
this.portTB.Location = new System.Drawing.Point(193, 127);
|
||||
this.portTB.Location = new System.Drawing.Point(195, 113);
|
||||
this.portTB.Name = "portTB";
|
||||
this.portTB.Size = new System.Drawing.Size(92, 21);
|
||||
this.portTB.TabIndex = 9;
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(148, 89);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.label3.Size = new System.Drawing.Size(41, 12);
|
||||
this.label3.TabIndex = 7;
|
||||
this.label3.Text = "IP地址";
|
||||
//
|
||||
// tunnelNameTB
|
||||
//
|
||||
this.tunnelNameTB.Location = new System.Drawing.Point(193, 20);
|
||||
this.tunnelNameTB.Location = new System.Drawing.Point(195, 6);
|
||||
this.tunnelNameTB.Name = "tunnelNameTB";
|
||||
this.tunnelNameTB.Size = new System.Drawing.Size(92, 21);
|
||||
this.tunnelNameTB.TabIndex = 9;
|
||||
//
|
||||
// subdomainLBL
|
||||
//
|
||||
this.subdomainLBL.AutoSize = true;
|
||||
this.subdomainLBL.Location = new System.Drawing.Point(148, 36);
|
||||
this.subdomainLBL.Name = "subdomainLBL";
|
||||
this.subdomainLBL.Size = new System.Drawing.Size(41, 12);
|
||||
this.subdomainLBL.TabIndex = 8;
|
||||
this.subdomainLBL.Text = "子域名";
|
||||
this.subdomainLBL.Visible = false;
|
||||
//
|
||||
// subdomainTB
|
||||
//
|
||||
this.subdomainTB.Location = new System.Drawing.Point(193, 47);
|
||||
this.subdomainTB.Location = new System.Drawing.Point(195, 33);
|
||||
this.subdomainTB.Name = "subdomainTB";
|
||||
this.subdomainTB.Size = new System.Drawing.Size(92, 21);
|
||||
this.subdomainTB.TabIndex = 9;
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(160, 10);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(29, 12);
|
||||
this.label5.TabIndex = 8;
|
||||
this.label5.Text = "名称";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(158, 154);
|
||||
this.label1.Location = new System.Drawing.Point(160, 140);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(29, 12);
|
||||
this.label1.TabIndex = 8;
|
||||
|
@ -143,87 +233,58 @@
|
|||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(158, 130);
|
||||
this.label2.Location = new System.Drawing.Point(160, 116);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(29, 12);
|
||||
this.label2.TabIndex = 8;
|
||||
this.label2.Text = "端口";
|
||||
//
|
||||
// label5
|
||||
// tabPage2
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(158, 24);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(29, 12);
|
||||
this.label5.TabIndex = 8;
|
||||
this.label5.Text = "名称";
|
||||
this.tabPage2.BackColor = System.Drawing.Color.White;
|
||||
this.tabPage2.Controls.Add(this.tpCheckBox);
|
||||
this.tabPage2.Controls.Add(this.notShowCB);
|
||||
this.tabPage2.Controls.Add(this.autoStartCheckBox);
|
||||
this.tabPage2.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage2.Name = "tabPage2";
|
||||
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage2.Size = new System.Drawing.Size(319, 162);
|
||||
this.tabPage2.TabIndex = 1;
|
||||
this.tabPage2.Text = "应用设置";
|
||||
//
|
||||
// tunnelTypeLabelPort
|
||||
// tpCheckBox
|
||||
//
|
||||
this.tunnelTypeLabelPort.AutoSize = true;
|
||||
this.tunnelTypeLabelPort.Location = new System.Drawing.Point(134, 50);
|
||||
this.tunnelTypeLabelPort.Name = "tunnelTypeLabelPort";
|
||||
this.tunnelTypeLabelPort.Size = new System.Drawing.Size(53, 12);
|
||||
this.tunnelTypeLabelPort.TabIndex = 8;
|
||||
this.tunnelTypeLabelPort.Text = "远程端口";
|
||||
this.tunnelTypeLabelPort.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.tunnelTypeLabelPort.Visible = false;
|
||||
this.tpCheckBox.AutoSize = true;
|
||||
this.tpCheckBox.Location = new System.Drawing.Point(17, 62);
|
||||
this.tpCheckBox.Name = "tpCheckBox";
|
||||
this.tpCheckBox.Size = new System.Drawing.Size(108, 16);
|
||||
this.tpCheckBox.TabIndex = 12;
|
||||
this.tpCheckBox.Text = "退出隐藏到托盘";
|
||||
this.tpCheckBox.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// subdomainLBL
|
||||
// notShowCB
|
||||
//
|
||||
this.subdomainLBL.AutoSize = true;
|
||||
this.subdomainLBL.Location = new System.Drawing.Point(146, 50);
|
||||
this.subdomainLBL.Name = "subdomainLBL";
|
||||
this.subdomainLBL.Size = new System.Drawing.Size(41, 12);
|
||||
this.subdomainLBL.TabIndex = 8;
|
||||
this.subdomainLBL.Text = "子域名";
|
||||
this.subdomainLBL.Visible = false;
|
||||
this.notShowCB.AutoSize = true;
|
||||
this.notShowCB.Location = new System.Drawing.Point(17, 40);
|
||||
this.notShowCB.Name = "notShowCB";
|
||||
this.notShowCB.Size = new System.Drawing.Size(108, 16);
|
||||
this.notShowCB.TabIndex = 12;
|
||||
this.notShowCB.Text = "不显示运行窗口";
|
||||
this.notShowCB.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// label3
|
||||
// autoStartCheckBox
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(146, 103);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.label3.Size = new System.Drawing.Size(41, 12);
|
||||
this.label3.TabIndex = 7;
|
||||
this.label3.Text = "IP地址";
|
||||
//
|
||||
// tunnelTypeLabel
|
||||
//
|
||||
this.tunnelTypeLabel.AutoSize = true;
|
||||
this.tunnelTypeLabel.Location = new System.Drawing.Point(134, 77);
|
||||
this.tunnelTypeLabel.Name = "tunnelTypeLabel";
|
||||
this.tunnelTypeLabel.Size = new System.Drawing.Size(53, 12);
|
||||
this.tunnelTypeLabel.TabIndex = 7;
|
||||
this.tunnelTypeLabel.Text = "通道类型";
|
||||
//
|
||||
// tunnelTypeCMB
|
||||
//
|
||||
this.tunnelTypeCMB.FormattingEnabled = true;
|
||||
this.tunnelTypeCMB.Items.AddRange(new object[] {
|
||||
"TCP",
|
||||
"HTTP"});
|
||||
this.tunnelTypeCMB.Location = new System.Drawing.Point(193, 74);
|
||||
this.tunnelTypeCMB.Name = "tunnelTypeCMB";
|
||||
this.tunnelTypeCMB.Size = new System.Drawing.Size(92, 20);
|
||||
this.tunnelTypeCMB.TabIndex = 6;
|
||||
this.tunnelTypeCMB.SelectedIndexChanged += new System.EventHandler(this.tunnelTypeCMB_SelectedIndexChanged);
|
||||
//
|
||||
// tunnelListBox
|
||||
//
|
||||
this.tunnelListBox.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.tunnelListBox.FormattingEnabled = true;
|
||||
this.tunnelListBox.ItemHeight = 14;
|
||||
this.tunnelListBox.Location = new System.Drawing.Point(6, 20);
|
||||
this.tunnelListBox.Name = "tunnelListBox";
|
||||
this.tunnelListBox.Size = new System.Drawing.Size(120, 144);
|
||||
this.tunnelListBox.TabIndex = 5;
|
||||
this.tunnelListBox.SelectedIndexChanged += new System.EventHandler(this.tunnelListBox_SelectedValueChanged);
|
||||
this.autoStartCheckBox.AutoSize = true;
|
||||
this.autoStartCheckBox.Location = new System.Drawing.Point(17, 18);
|
||||
this.autoStartCheckBox.Name = "autoStartCheckBox";
|
||||
this.autoStartCheckBox.Size = new System.Drawing.Size(72, 16);
|
||||
this.autoStartCheckBox.TabIndex = 12;
|
||||
this.autoStartCheckBox.Text = "自动启动";
|
||||
this.autoStartCheckBox.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// saveButton
|
||||
//
|
||||
this.saveButton.Location = new System.Drawing.Point(228, 219);
|
||||
this.saveButton.Location = new System.Drawing.Point(256, 196);
|
||||
this.saveButton.Name = "saveButton";
|
||||
this.saveButton.Size = new System.Drawing.Size(75, 23);
|
||||
this.saveButton.TabIndex = 1;
|
||||
|
@ -235,8 +296,8 @@
|
|||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(309, 247);
|
||||
this.Controls.Add(this.TunnelConfigGroupBox);
|
||||
this.ClientSize = new System.Drawing.Size(340, 225);
|
||||
this.Controls.Add(this.tabControl1);
|
||||
this.Controls.Add(this.saveButton);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.MaximizeBox = false;
|
||||
|
@ -246,15 +307,17 @@
|
|||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "设置";
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.SettingForm_FormClosed);
|
||||
this.TunnelConfigGroupBox.ResumeLayout(false);
|
||||
this.TunnelConfigGroupBox.PerformLayout();
|
||||
this.tabControl1.ResumeLayout(false);
|
||||
this.tabPage1.ResumeLayout(false);
|
||||
this.tabPage1.PerformLayout();
|
||||
this.tabPage2.ResumeLayout(false);
|
||||
this.tabPage2.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.GroupBox TunnelConfigGroupBox;
|
||||
private System.Windows.Forms.CheckBox enableCBX;
|
||||
private System.Windows.Forms.TextBox ipTB;
|
||||
private System.Windows.Forms.Button delButton;
|
||||
|
@ -272,5 +335,11 @@
|
|||
private System.Windows.Forms.ListBox tunnelListBox;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label tunnelTypeLabelPort;
|
||||
private System.Windows.Forms.TabControl tabControl1;
|
||||
private System.Windows.Forms.TabPage tabPage1;
|
||||
private System.Windows.Forms.TabPage tabPage2;
|
||||
private System.Windows.Forms.CheckBox autoStartCheckBox;
|
||||
private System.Windows.Forms.CheckBox notShowCB;
|
||||
private System.Windows.Forms.CheckBox tpCheckBox;
|
||||
}
|
||||
}
|
|
@ -104,6 +104,9 @@ namespace Ultron.Ngrok
|
|||
ServerAddr = "ngrok.aaqbee.com:8083",
|
||||
TrustHostRootCerts = false,
|
||||
Version = AssemblyVersion,
|
||||
AutoStart = false,
|
||||
UseNotifyMenu = true,
|
||||
HideWindow = false,
|
||||
Tunnels = new Dictionary<string, Tunnel>()
|
||||
};
|
||||
Tunnel httpTunnel = new Tunnel
|
||||
|
@ -142,6 +145,9 @@ namespace Ultron.Ngrok
|
|||
if(ServerConfig.Version != AssemblyVersion)
|
||||
{
|
||||
ServerConfig.Version = AssemblyVersion;
|
||||
ServerConfig.AutoStart = false;
|
||||
ServerConfig.UseNotifyMenu = true;
|
||||
ServerConfig.HideWindow = false;
|
||||
SaveConfig();
|
||||
}
|
||||
}
|
||||
|
@ -169,6 +175,10 @@ namespace Ultron.Ngrok
|
|||
tunnelName += " " + item.Key;
|
||||
}
|
||||
|
||||
autoStartCheckBox.Checked = ServerConfig.AutoStart;
|
||||
notShowCB.Checked = ServerConfig.HideWindow;
|
||||
tpCheckBox.Checked = ServerConfig.UseNotifyMenu;
|
||||
|
||||
ExecuteCommand = ExeFile + ".exe -config ngrok.cfg start" + tunnelName;
|
||||
}
|
||||
|
||||
|
@ -317,8 +327,16 @@ namespace Ultron.Ngrok
|
|||
tunl.TunnelName = tunnelNameTB.Text;
|
||||
tunl.Enable = enableCBX.Checked;
|
||||
|
||||
SaveConfig();
|
||||
ServerConfig.AutoStart = autoStartCheckBox.Checked;
|
||||
ServerConfig.HideWindow = notShowCB.Checked;
|
||||
ServerConfig.UseNotifyMenu = tpCheckBox.Checked;
|
||||
|
||||
SaveConfig();
|
||||
LoadConfig();
|
||||
}
|
||||
else
|
||||
{
|
||||
SaveConfig();
|
||||
LoadConfig();
|
||||
}
|
||||
WriteLogToForm("保存成功");
|
||||
|
@ -340,6 +358,5 @@ namespace Ultron.Ngrok
|
|||
{
|
||||
ReLoadConfig();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -117,7 +117,4 @@
|
|||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
</root>
|
|
@ -28,15 +28,21 @@
|
|||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormMain));
|
||||
this.cmdLogTextArea = new System.Windows.Forms.TextBox();
|
||||
this.startBtn = new System.Windows.Forms.Button();
|
||||
this.endBtn = new System.Windows.Forms.Button();
|
||||
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
|
||||
this.topMenuStrip = new System.Windows.Forms.MenuStrip();
|
||||
this.设置ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.帮助ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.关于ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.notifyIcon = new System.Windows.Forms.NotifyIcon(this.components);
|
||||
this.notifyMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.退出ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.显示ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.topMenuStrip.SuspendLayout();
|
||||
this.notifyMenuStrip.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// cmdLogTextArea
|
||||
|
@ -71,17 +77,18 @@
|
|||
this.endBtn.UseVisualStyleBackColor = true;
|
||||
this.endBtn.Click += new System.EventHandler(this.endBtn_Click);
|
||||
//
|
||||
// menuStrip1
|
||||
// topMenuStrip
|
||||
//
|
||||
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.topMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.设置ToolStripMenuItem,
|
||||
this.帮助ToolStripMenuItem,
|
||||
this.关于ToolStripMenuItem});
|
||||
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.menuStrip1.Name = "menuStrip1";
|
||||
this.menuStrip1.Size = new System.Drawing.Size(362, 25);
|
||||
this.menuStrip1.TabIndex = 4;
|
||||
this.menuStrip1.Text = "menuStrip1";
|
||||
this.topMenuStrip.Location = new System.Drawing.Point(0, 0);
|
||||
this.topMenuStrip.Name = "topMenuStrip";
|
||||
this.topMenuStrip.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
|
||||
this.topMenuStrip.Size = new System.Drawing.Size(362, 25);
|
||||
this.topMenuStrip.TabIndex = 4;
|
||||
this.topMenuStrip.Text = "menuStrip1";
|
||||
//
|
||||
// 设置ToolStripMenuItem
|
||||
//
|
||||
|
@ -104,6 +111,36 @@
|
|||
this.关于ToolStripMenuItem.Text = "关于";
|
||||
this.关于ToolStripMenuItem.Click += new System.EventHandler(this.关于ToolStripMenuItem_Click);
|
||||
//
|
||||
// notifyIcon
|
||||
//
|
||||
this.notifyIcon.ContextMenuStrip = this.notifyMenuStrip;
|
||||
this.notifyIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon.Icon")));
|
||||
this.notifyIcon.Text = "uNgrok";
|
||||
this.notifyIcon.Visible = true;
|
||||
this.notifyIcon.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.NotifyIcon_MouseDoubleClick);
|
||||
//
|
||||
// notifyMenuStrip
|
||||
//
|
||||
this.notifyMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.显示ToolStripMenuItem,
|
||||
this.退出ToolStripMenuItem});
|
||||
this.notifyMenuStrip.Name = "notifyMenuStrip";
|
||||
this.notifyMenuStrip.Size = new System.Drawing.Size(181, 70);
|
||||
//
|
||||
// 退出ToolStripMenuItem
|
||||
//
|
||||
this.退出ToolStripMenuItem.Name = "退出ToolStripMenuItem";
|
||||
this.退出ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.退出ToolStripMenuItem.Text = "退出";
|
||||
this.退出ToolStripMenuItem.Click += new System.EventHandler(this.退出ToolStripMenuItem_Click);
|
||||
//
|
||||
// 显示ToolStripMenuItem
|
||||
//
|
||||
this.显示ToolStripMenuItem.Name = "显示ToolStripMenuItem";
|
||||
this.显示ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.显示ToolStripMenuItem.Text = "显示";
|
||||
this.显示ToolStripMenuItem.Click += new System.EventHandler(this.显示ToolStripMenuItem_Click);
|
||||
//
|
||||
// FormMain
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
|
@ -112,17 +149,20 @@
|
|||
this.Controls.Add(this.endBtn);
|
||||
this.Controls.Add(this.startBtn);
|
||||
this.Controls.Add(this.cmdLogTextArea);
|
||||
this.Controls.Add(this.menuStrip1);
|
||||
this.Controls.Add(this.topMenuStrip);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MainMenuStrip = this.menuStrip1;
|
||||
this.MainMenuStrip = this.topMenuStrip;
|
||||
this.MaximizeBox = false;
|
||||
this.Name = "FormMain";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "uNgrok";
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormMain_FormClosing);
|
||||
this.Load += new System.EventHandler(this.FormMain_Load);
|
||||
this.menuStrip1.ResumeLayout(false);
|
||||
this.menuStrip1.PerformLayout();
|
||||
this.SizeChanged += new System.EventHandler(this.FormMain_SizeChanged);
|
||||
this.topMenuStrip.ResumeLayout(false);
|
||||
this.topMenuStrip.PerformLayout();
|
||||
this.notifyMenuStrip.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
|
@ -133,10 +173,14 @@
|
|||
public System.Windows.Forms.TextBox cmdLogTextArea;
|
||||
private System.Windows.Forms.Button startBtn;
|
||||
private System.Windows.Forms.Button endBtn;
|
||||
private System.Windows.Forms.MenuStrip menuStrip1;
|
||||
private System.Windows.Forms.MenuStrip topMenuStrip;
|
||||
private System.Windows.Forms.ToolStripMenuItem 帮助ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 关于ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 设置ToolStripMenuItem;
|
||||
private System.Windows.Forms.NotifyIcon notifyIcon;
|
||||
private System.Windows.Forms.ContextMenuStrip notifyMenuStrip;
|
||||
private System.Windows.Forms.ToolStripMenuItem 退出ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 显示ToolStripMenuItem;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5,15 +5,17 @@ using System.Diagnostics;
|
|||
using System.Reflection;
|
||||
using System.Resources;
|
||||
using System.Threading;
|
||||
using Ultron.Ngrok.Utils;
|
||||
using System.Net;
|
||||
using System.IO;
|
||||
using Ultron.Ngrok.Utils;
|
||||
using Ultron.Ngrok.Properties;
|
||||
|
||||
namespace Ultron.Ngrok
|
||||
{
|
||||
public partial class FormMain : Form
|
||||
{
|
||||
public delegate void CmdInitAlready();
|
||||
|
||||
#region 属性
|
||||
|
||||
/// <summary>
|
||||
|
@ -82,22 +84,35 @@ namespace Ultron.Ngrok
|
|||
//进程检测
|
||||
CheckProcessAndKill(setting.ExeFile);
|
||||
|
||||
CmdInitAlready callback = new CmdInitAlready(CmdCallBack);
|
||||
//初始化CMD
|
||||
new Thread(new ThreadStart(InitCmd)).Start();
|
||||
Thread cmdThread = new Thread(InitCmd);
|
||||
cmdThread.IsBackground = true;
|
||||
cmdThread.Start(callback);
|
||||
|
||||
//检查更新
|
||||
new Thread(new ThreadStart(CheckUpdateAsync)).Start();
|
||||
Thread updateThread = new Thread(new ThreadStart(CheckUpdateAsync));
|
||||
updateThread.IsBackground = true;
|
||||
updateThread.Start();
|
||||
}
|
||||
|
||||
public void CmdCallBack()
|
||||
{
|
||||
if(setting.ServerConfig.AutoStart)
|
||||
{
|
||||
startBtn_Click(null, null);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 事件
|
||||
|
||||
private void startBtn_Click(object sender, EventArgs e)
|
||||
{
|
||||
//网络检测
|
||||
NetworkUtils.CheckServeStatus(this);
|
||||
cmd.SendMsg(setting.ExecuteCommand);
|
||||
cmd.SendMsg(setting.ExecuteCommand,setting.ServerConfig.HideWindow);
|
||||
|
||||
startBtn.Enabled = false;
|
||||
endBtn.Enabled = true;
|
||||
|
@ -119,7 +134,7 @@ namespace Ultron.Ngrok
|
|||
|
||||
private void 帮助ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Process.Start("explorer.exe", "http://git.iwangyu.cn/wixy/Ultron.Ngrok/wiki");
|
||||
Process.Start("explorer.exe", "https://git.wixy.cn/wixy/Ultron.Ngrok/wiki/帮助");
|
||||
}
|
||||
|
||||
private void 关于ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
|
@ -128,6 +143,69 @@ namespace Ultron.Ngrok
|
|||
about.ShowDialog();
|
||||
}
|
||||
|
||||
private void NotifyIcon_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (WindowState == FormWindowState.Minimized)
|
||||
{
|
||||
//还原窗体显示
|
||||
WindowState = FormWindowState.Normal;
|
||||
//激活窗体并给予它焦点
|
||||
this.Activate();
|
||||
//任务栏区显示图标
|
||||
this.ShowInTaskbar = true;
|
||||
//托盘区图标隐藏
|
||||
notifyIcon.Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void FormMain_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
if (setting.ServerConfig.UseNotifyMenu)
|
||||
{
|
||||
WindowState = FormWindowState.Minimized;
|
||||
e.Cancel = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (MessageBox.Show("是否确认退出程序?", "退出", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
|
||||
{
|
||||
// 关闭所有的线程
|
||||
this.Dispose();
|
||||
this.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
e.Cancel = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void FormMain_SizeChanged(object sender, EventArgs e)
|
||||
{
|
||||
//判断是否选择的是最小化按钮
|
||||
if (WindowState == FormWindowState.Minimized)
|
||||
{
|
||||
//隐藏任务栏区图标
|
||||
this.ShowInTaskbar = false;
|
||||
//图标显示在托盘区
|
||||
notifyIcon.Visible = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (MessageBox.Show("是否确认退出程序?", "退出", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
|
||||
{
|
||||
this.Dispose();
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
|
||||
private void 显示ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
WindowState = FormWindowState.Normal;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 方法
|
||||
|
@ -170,12 +248,14 @@ namespace Ultron.Ngrok
|
|||
setting.WriteLogToForm += WriteLog;
|
||||
}
|
||||
|
||||
public void InitCmd()
|
||||
public void InitCmd(object obj)
|
||||
{
|
||||
//创建CMD
|
||||
cmd = new CmdUtils();
|
||||
cmd.ProcessMessageEvent += DealMessage;
|
||||
cmd.ProcessKilled += cmd_Exited;
|
||||
CmdInitAlready callback = obj as CmdInitAlready;
|
||||
callback();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -284,5 +364,6 @@ namespace Ultron.Ngrok
|
|||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -117,10 +117,182 @@
|
|||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<metadata name="topMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="notifyIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>151, 17</value>
|
||||
</metadata>
|
||||
<metadata name="notifyMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>262, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="notifyIcon.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAACQAAMMOAADDDgAAAAAAAAAA
|
||||
AAA/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//QEBA/0JCQv9BQUH/Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/9AQED/Pj4+/z8/P/8/Pz//PT09/zAwMP82Njb/QEBA/z8/P/8+Pj7/Pz8//0BA
|
||||
QP8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/9AQED/Pz8//0BAQP81NTX/NTU1/zs7O/8+Pj7/Q0ND/21tbf9XV1f/Ozs7/z09
|
||||
Pf83Nzf/MzMz/zo6Ov9AQED/QEBA/0BAQP8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z4+Pv85OTn/QUFB/zk5Of9eXl7/paWl/1dXV/8yMjL/WVlZ/8LC
|
||||
wv+Dg4P/NjY2/zg4OP+BgYH/nZ2d/0dHR/8+Pj7/PT09/zo6Ov9AQED/Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//zg4OP9ERET/Ozs7/zg4OP9wcHD/vb29/3Jy
|
||||
cv8jIyP/V1dX/7Gxsf+IiIj/LS0t/zw8PP+srKz/qqqq/0xMTP86Ojr/Pj4+/0FBQf85OTn/QEBA/z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//0FBQf9DQ0P/Nzc3/3d3d/+6urr/WFhY/x4e
|
||||
Hv9qamr/uLi4/6Wlpf+ZmZn/qqqq/6ysrP+vr6//o6Oj/5mZmf+xsbH/nJyc/zAwMP8qKir/kJCQ/7i4
|
||||
uP9WVlb/Ojo6/0NDQ/9AQED/Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//zMzM/84ODj/Ozs7/2lp
|
||||
af+5ubn/oKCg/4KCgv+srKz/sbGx/7CwsP+0tLT/sLCw/6+vr/+vr6//s7Oz/7S0tP+vr6//s7Oz/5mZ
|
||||
mf+Ghob/ubm5/6enp/9JSUn/PDw8/zAwMP86Ojr/QEBA/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/9BQUH/ODg4/2Bg
|
||||
YP9RUVH/KSkp/zY2Nv+lpaX/ubm5/7u7u/+1tbX/tLS0/7i4uP+4uLj/uLi4/7e3t/+3t7f/uLi4/7e3
|
||||
t/+2trb/s7Oz/7m5uf+5ubn/vLy8/3d3d/8jIyP/NDQ0/3R0dP9ISEj/Ozs7/0BAQP8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//0BA
|
||||
QP89PT3/S0tL/7+/v/+5ubn/Z2dn/5iYmP+9vb3/tra2/7e3t/+8vLz/tbW1/6Kiov+Xl5f/jo6O/4iI
|
||||
iP+Kior/k5OT/5ycnP+vr6//u7u7/7m5uf+1tbX/ubm5/7a2tv9vb2//jIyM/9TU1P+Wlpb/Nzc3/0JC
|
||||
Qv8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//QEBA/z8/P/8/Pz//Pz8//3l5ef++vr7/x8fH/8LCwv+6urr/wMDA/7e3t/+YmJj/gYGB/3h4
|
||||
eP95eXn/eHh4/3h4eP94eHj/eXl5/3h4eP98fHz/jY2N/6ysrP/AwMD/vLy8/729vf/IyMj/xsbG/6+v
|
||||
r/9XV1f/PT09/z4+Pv9AQED/Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//PT09/zY2Nv82Njb/KCgo/z09Pf+4uLj/v7+//729vf/Dw8P/rKys/4WF
|
||||
hf99fX3/goKC/3x8fP9sbGz/ZGRk/2BgYP9iYmL/ZmZm/3Nzc/+BgYH/gICA/39/f/+ampr/vr6+/8DA
|
||||
wP+6urr/yMjI/4WFhf8hISH/MzMz/zk5Of83Nzf/QUFB/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/9BQUH/NjY2/4aGhv+0tLT/ZGRk/56env/MzMz/wsLC/8jI
|
||||
yP+rq6v/h4eH/4uLi/+EhIT/ZGRk/0tLS/8/Pz//Pz8//z09Pf8+Pj7/Pj4+/0JCQv9TU1P/c3Nz/4qK
|
||||
iv+Ghob/lZWV/8LCwv/FxcX/xcXF/8TExP9tbW3/ioqK/729vf9UVFT/Ozs7/0BAQP8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/9AQED/Ozs7/5SUlP/Y2Nj/09PT/83N
|
||||
zf/Gxsb/y8vL/7W1tf+Pj4//l5eX/4GBgf9QUFD/Pj4+/z09Pf8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/88PDz/QUFB/2RkZP+SkpL/kJCQ/6Kiov/Kysr/ycnJ/8rKyv/T09P/19fX/9DQ0P9oaGj/ODg4/0FB
|
||||
Qf8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/9AQED/QUFB/zo6
|
||||
Ov91dXX/y8vL/8jIyP/MzMz/wsLC/5ycnP+fn5//h4eH/0tLS/88PDz/QUFB/0BAQP8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/9AQED/Pj4+/z4+Pv9lZWX/mpqa/5qamv+ysrL/zc3N/8jIyP/MzMz/sbGx/1FR
|
||||
Uf87Ozv/QkJC/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//0BA
|
||||
QP85OTn/Ly8v/yAgIP9nZ2f/1tbW/8zMzP/Pz8//srKy/6Wlpf+wsLD/YmJi/ykpKf9BQUH/QUFB/z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/9AQED/Q0ND/zU1Nf81NTX/mZmZ/6urq/+np6f/x8fH/87O
|
||||
zv/W1tb/rKys/ygoKP8rKyv/MTEx/z4+Pv8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//QEBA/zk5Of9aWlr/qqqq/4yMjP/ExMT/1tbW/9LS0v/Kysr/s7Oz/7W1tf+7u7v/qamp/2Fh
|
||||
Yf8yMjL/NTU1/0JCQv9BQUH/Pz8//z8/P/8/Pz//Pz8//0NDQ/88PDz/LS0t/0pKSv+SkpL/ubm5/7e3
|
||||
t/+xsbH/vr6+/9PT0//Q0ND/2dnZ/56env+ampr/lZWV/zo6Ov9AQED/Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//QUFB/zc3N/9xcXH/4eHh/+bm5v/X19f/09PT/9fX1//IyMj/v7+//7e3
|
||||
t/+goKD/v7+//83Nzf+enp7/UFBQ/ywsLP86Ojr/QkJC/z8/P/9CQkL/Pz8//y4uLv89PT3/goKC/8TE
|
||||
xP/MzMz/pqam/6ioqP/BwcH/wMDA/9PT0//W1tb/09PT/+Dg4P/s7Oz/xcXF/0dHR/89PT3/QEBA/z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//0BAQP9BQUH/Tk5O/5SUlP/d3d3/1tbW/9nZ
|
||||
2f/Ly8v/0dHR/5CQkP89PT3/bGxs/6qqqv/V1dX/0NDQ/4+Pj/9AQED/Li4u/zo6Ov8yMjL/MDAw/3Bw
|
||||
cP+/v7//29vb/729vf+CgoL/SEhI/1tbW//Hx8f/ysrK/9XV1f/Y2Nj/29vb/8TExP9nZ2f/S0tL/z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/80NDT/GRkZ/3Nz
|
||||
c//o6Oj/2NjY/9nZ2f/S0tL/2dnZ/29vb/83Nzf/Ozs7/0hISP+AgID/xMTE/+bm5v/Nzc3/fX19/z09
|
||||
Pf9fX1//tbW1/+Xl5f/V1dX/mZmZ/1ZWVv86Ojr/Ozs7/0VFRf++vr7/2NjY/9bW1v/a2tr/4uLi/7y8
|
||||
vP8hISH/KSkp/zg4OP9AQED/Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//zw8
|
||||
PP9nZ2f/b29v/7CwsP/k5OT/3Nzc/9zc3P/d3d3/29vb/1lZWf86Ojr/QkJC/z09Pf85OTn/VFRU/5aW
|
||||
lv/b29v/7Ozs/5ycnP/Nzc3/7e3t/7Kysv9paWn/PT09/zs7O/9BQUH/QUFB/zk5Of+ysrL/5eXl/9zc
|
||||
3P/d3d3/39/f/9bW1v99fX3/c3Nz/1FRUf87Ozv/QEBA/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pj4+/0JCQv/c3Nz//f39/+np6f/e3t7/4ODg/+Hh4f/m5ub/3Nzc/1BQUP87Ozv/QEBA/0BA
|
||||
QP9BQUH/Ozs7/zw8PP9sbGz/urq6/6Ghof+7u7v/i4uL/0VFRf84ODj/QEBA/0BAQP8/Pz//QUFB/zY2
|
||||
Nv+urq7/7u7u/+Hh4f/f39//39/f/+Hh4f/z8/P//////5CQkP8yMjL/QkJC/z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//0FBQf+CgoL/mZmZ/8TExP/n5+f/4ODg/+Pj4//s7Oz/5+fn/1VV
|
||||
Vf85OTn/QEBA/z8/P/8/Pz//QEBA/0FBQf8uLi7/dHR0//v7+/+ysrL/MDAw/z4+Pv9BQUH/Pz8//z8/
|
||||
P/8/Pz//QUFB/zU1Nf+3t7f/9fX1/+bm5v/h4eH/4+Pj/93d3f+jo6P/mZmZ/19fX/86Ojr/QEBA/z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/85OTn/Hx8f/3t7e//x8fH/4ODg/+Xl
|
||||
5f/s7Oz/9PT0/29vb/81NTX/QUFB/z8/P/8/Pz//Pz8//0FBQf83Nzf/a2tr//////+vr6//NjY2/0JC
|
||||
Qv8/Pz//Pz8//z8/P/8/Pz//Pj4+/0FBQf/S0tL/9fX1/+fn5//h4eH/6+vr/8PDw/8mJib/MjIy/zs7
|
||||
O/9AQED/Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//0BAQP86Ojr/OTk5/5yc
|
||||
nP/t7e3/5OTk/+Pj4//p6en//f39/5mZmf8vLy//Q0ND/z8/P/8/Pz//Pz8//0FBQf81NTX/bGxs////
|
||||
//+vr6//NDQ0/0FBQf8/Pz//Pz8//z8/P/9BQUH/Nzc3/1hYWP/v7+//7+/v/+Xl5f/j4+P/6enp/9DQ
|
||||
0P9bW1v/Nzc3/z4+Pv8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//QUFB/zY2
|
||||
Nv92dnb/7Ozs//b29v/p6en/5ubm/+Xl5f/o6Oj/9fX1/9XV1f8/Pz//Pj4+/0BAQP8/Pz//Pz8//0FB
|
||||
Qf81NTX/aWlp//////+tra3/NDQ0/0FBQf8/Pz//Pz8//z8/P/9DQ0P/MDAw/5eXl//6+vr/6urq/+Xl
|
||||
5f/n5+f/5eXl//Ly8v/6+vr/xMTE/0RERP8+Pj7/Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//QUFB/zc3N/9oaGj/0NDQ/66urv/b29v/7Ozs/+bm5v/h4eH/6Ojo//f39/+EhIT/Li4u/0RE
|
||||
RP8/Pz//Pz8//0FBQf82Njb/ZmZm//z8/P+qqqr/NDQ0/0FBQf8/Pz//Pz8//0FBQf85OTn/RkZG/+Hh
|
||||
4f/v7+//5OTk/+Xl5f/o6Oj/7e3t/6qqqv++vr7/sLCw/z09Pf8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/89PT3/PT09/ywsLP9+fn7/8/Pz/+jo6P/l5eX/3Nzc/+fn
|
||||
5//c3Nz/S0tL/zQ0NP9ERET/Pz8//0FBQf82Njb/ZGRk//T09P+lpaX/NDQ0/0FBQf8/Pz//QUFB/z8/
|
||||
P/8sLCz/qKio/+7u7v/f39//39/f/+np6f/w8PD/v7+//zAwMP86Ojr/OTk5/z4+Pv8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/9AQED/QEBA/ykpKf96enr/7Ozs/+fn
|
||||
5//r6+v/29vb/9fX1//k5OT/xMTE/0FBQf8wMDD/QkJC/0NDQ/83Nzf/YmJi/+rq6v+fn5//NjY2/0ND
|
||||
Q/9DQ0P/Ojo6/ysrK/+Tk5P/5+fn/9ra2v/W1tb/5+fn/+fn5//v7+//vLy8/zs7O/82Njb/QkJC/z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/9AQED/Ozs7/5mZ
|
||||
mf/4+Pj/9fX1/+3t7f/o6Oj/6enp/9LS0v/Nzc3/3Nzc/8DAwP9XV1f/LCws/zU1Nf80NDT/Wlpa/+Li
|
||||
4v+VlZX/MTEx/zo6Ov8sLCz/PT09/5ycnP/f39//09PT/83Nzf/h4eH/6urq/+rq6v/u7u7//Pz8/9ra
|
||||
2v9aWlr/Ozs7/0BAQP8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/9BQUH/NjY2/7Gxsf/f39//gYGB/8jIyP/y8vL/6Ojo/+fn5//MzMz/wsLC/9HR0f/Pz8//kpKS/1lZ
|
||||
Wf8sLCz/aWlp/9jY2P+kpKT/MzMz/0tLS/96enr/vr6+/9XV1f/Hx8f/w8PD/93d3f/r6+v/6enp/+jo
|
||||
6P9/f3//oaGh/+Dg4P9gYGD/ODg4/0BAQP8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/9AQED/PDw8/0hISP9MTEz/Kysr/05OTv/i4uL/5+fn/+np6f/o6Oj/ycnJ/7q6
|
||||
uv+/v7//zMzM/8nJyf+tra3/vLy8/8PDw//ExMT/sbGx/7+/v//Ozs7/w8PD/7q6uv/BwcH/3d3d/+zs
|
||||
7P/k5OT/9PT0/5GRkf8kJCT/Ojo6/0tLS/87Ozv/QEBA/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//QEBA/z09Pf8/Pz//Nzc3/3p6ev/s7Oz/9PT0/+zs
|
||||
7P/o6Oj/7Ozs/9XV1f+8vLz/s7Oz/7S0tP+9vb3/vLy8/7u7u/+6urr/vLy8/7e3t/+ysrL/tra2/8rK
|
||||
yv/l5eX/6urq/+np6f/w8PD/9PT0/8TExP9GRkb/Pj4+/z09Pf9AQED/Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//0FBQf87Ozv/TU1N/+3t
|
||||
7f/r6+v/jY2N/8vLy//s7Oz/5OTk/+jo6P/m5ub/19fX/8LCwv/AwMD/tLS0/7Kysv+xsbH/vLy8/8LC
|
||||
wv/Nzc3/4uLi/+np6f/k5OT/5eXl/+Xl5f+NjY3/q6ur//////+dnZ3/MzMz/0JCQv8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Ozs7/46Ojv92dnb/Kioq/0dHR//T09P/6+vr/+vr6//m5ub/6Ojo/+jo6P/j4+P/4+Pj/9/f
|
||||
3//g4OD/5OTk/+fn5//o6Oj/5ubm/+np6f/r6+v/7e3t/4qKiv8nJyf/QUFB/5GRkf9ZWVn/Ozs7/0BA
|
||||
QP8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//zY2Nv86Ojr/OTk5/25ubv/q6ur/y8vL/7Ozs//h4eH/4ODg/+Pj
|
||||
4//m5ub/4+Pj/+Li4v/i4uL/5ubm/+bm5v/g4OD/4+Pj/8jIyP+jo6P/7Ozs/7y8vP8+Pj7/Pz8//zU1
|
||||
Nf87Ozv/QEBA/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//0FBQf9DQ0P/NDQ0/5SUlP/39/f/a2tr/ygo
|
||||
KP+Dg4P/6urq/9DQ0P/FxcX/2tra/97e3v/e3t7/zs7O/76+vv/k5OT/vb29/zw8PP8xMTH/r6+v/+Hh
|
||||
4f9SUlL/Ozs7/0JCQv9AQED/Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pj4+/0VF
|
||||
Rf9vb2//QkJC/zIyMv+AgID/+Pj4/4yMjP8uLi7/bW1t/+fn5/+qqqr/Ojo6/0hISP/Z2dn/z8/P/0JC
|
||||
Qv87Ozv/UFBQ/11dXf86Ojr/QEBA/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z4+Pv82Njb/QUFB/zc3N/91dXX/1tbW/2JiYv8vLy//YGBg//X19f+fn5//MzMz/zo6
|
||||
Ov+ampr/v7+//0pKSv89PT3/PT09/zk5Of9AQED/Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/9BQUH/Pz8//z8/P/86Ojr/RUVF/z8/P/89PT3/SkpK/4eH
|
||||
h/9oaGj/Ozs7/z8/P/9AQED/Pj4+/z09Pf8/Pz//QEBA/0BAQP8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/9AQED/PT09/z8/
|
||||
P/8/Pz//PT09/zMzM/85OTn/QEBA/z8/P/8/Pz//Pz8//0BAQP8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//QEBA/z8/P/8/Pz//Pz8//0JCQv9AQED/Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/
|
||||
P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAA=
|
||||
</value>
|
||||
</data>
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAMMOAADDDgAAAAAAAAAA
|
||||
|
|
|
@ -24,6 +24,15 @@ namespace Ultron.Ngrok.Model
|
|||
[YamlMember(Alias = "version")]
|
||||
public string Version { get; set; }
|
||||
|
||||
[YamlMember(Alias = "auto_start")]
|
||||
public bool AutoStart { get; set; }
|
||||
|
||||
[YamlMember(Alias = "hide_window")]
|
||||
public bool HideWindow { get; set; }
|
||||
|
||||
[YamlMember(Alias = "use_notify_menu")]
|
||||
public bool UseNotifyMenu { get; set; }
|
||||
|
||||
[YamlMember(Alias = "auth_token")]
|
||||
public string AuthToken { get; set; }
|
||||
|
||||
|
|
|
@ -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("1.1.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.1.0.0")]
|
||||
|
|
|
@ -22,10 +22,9 @@ namespace Ultron.Ngrok.Utils
|
|||
public CmdUtils()
|
||||
{
|
||||
Control.CheckForIllegalCrossThreadCalls = false;
|
||||
|
||||
}
|
||||
|
||||
public void Init()
|
||||
public void Init(bool hideWindow = false)
|
||||
{
|
||||
cmd = new Process();//创建进程对象
|
||||
ProcessStartInfo startInfo = new ProcessStartInfo();
|
||||
|
@ -34,7 +33,7 @@ namespace Ultron.Ngrok.Utils
|
|||
startInfo.UseShellExecute = false;//不使用系统外壳程序启动
|
||||
startInfo.RedirectStandardInput = true;//不重定向输入
|
||||
startInfo.RedirectStandardOutput = true; //重定向输出
|
||||
startInfo.CreateNoWindow = false;//不创建窗口
|
||||
startInfo.CreateNoWindow = hideWindow;//不创建窗口
|
||||
|
||||
cmd.StartInfo = startInfo;
|
||||
|
||||
|
@ -61,7 +60,7 @@ namespace Ultron.Ngrok.Utils
|
|||
}
|
||||
}
|
||||
|
||||
public void SendMsg(string cmdStr)
|
||||
public void SendMsg(string cmdStr,bool hideWindow = false)
|
||||
{
|
||||
ProcessMessageEvent(0, "开始运行...");
|
||||
if (!IsInited || cmd.HasExited)
|
||||
|
@ -73,7 +72,7 @@ namespace Ultron.Ngrok.Utils
|
|||
startInfo.UseShellExecute = false;//不使用系统外壳程序启动
|
||||
startInfo.RedirectStandardInput = true;//不重定向输入
|
||||
startInfo.RedirectStandardOutput = true; //重定向输出
|
||||
startInfo.CreateNoWindow = false;//不创建窗口
|
||||
startInfo.CreateNoWindow = hideWindow;//不创建窗口
|
||||
|
||||
cmd.StartInfo = startInfo;
|
||||
|
||||
|
|
Loading…
Reference in New Issue