diff --git a/.vs/NJCIT/v15/.suo b/.vs/NJCIT/v15/.suo
new file mode 100644
index 0000000..1006d5d
Binary files /dev/null and b/.vs/NJCIT/v15/.suo differ
diff --git a/.vs/NJCIT/v15/Server/sqlite3/db.lock b/.vs/NJCIT/v15/Server/sqlite3/db.lock
new file mode 100644
index 0000000..e69de29
diff --git a/.vs/NJCIT/v15/Server/sqlite3/storage.ide b/.vs/NJCIT/v15/Server/sqlite3/storage.ide
new file mode 100644
index 0000000..56758a8
Binary files /dev/null and b/.vs/NJCIT/v15/Server/sqlite3/storage.ide differ
diff --git a/.vs/NJCIT/v15/Server/sqlite3/storage.ide-shm b/.vs/NJCIT/v15/Server/sqlite3/storage.ide-shm
new file mode 100644
index 0000000..2a8bbb2
Binary files /dev/null and b/.vs/NJCIT/v15/Server/sqlite3/storage.ide-shm differ
diff --git a/.vs/NJCIT/v15/Server/sqlite3/storage.ide-wal b/.vs/NJCIT/v15/Server/sqlite3/storage.ide-wal
new file mode 100644
index 0000000..7328d6e
Binary files /dev/null and b/.vs/NJCIT/v15/Server/sqlite3/storage.ide-wal differ
diff --git a/NJCIT.sln b/NJCIT.sln
new file mode 100644
index 0000000..23ab5cd
--- /dev/null
+++ b/NJCIT.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.28307.779
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NJCIT", "NJCIT\NJCIT.csproj", "{A862BD45-8733-40D8-92B0-0F2239486648}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {A862BD45-8733-40D8-92B0-0F2239486648}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A862BD45-8733-40D8-92B0-0F2239486648}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A862BD45-8733-40D8-92B0-0F2239486648}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A862BD45-8733-40D8-92B0-0F2239486648}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {F2EF0563-75E0-499D-9C95-5B54DE9CA4CC}
+ EndGlobalSection
+EndGlobal
diff --git a/NJCIT/20190912030906111_easyicon_net_64.ico b/NJCIT/20190912030906111_easyicon_net_64.ico
new file mode 100644
index 0000000..0c9185d
Binary files /dev/null and b/NJCIT/20190912030906111_easyicon_net_64.ico differ
diff --git a/NJCIT/App.config b/NJCIT/App.config
new file mode 100644
index 0000000..92e5f81
--- /dev/null
+++ b/NJCIT/App.config
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/NJCIT/InfomationForm.Designer.cs b/NJCIT/InfomationForm.Designer.cs
new file mode 100644
index 0000000..a1123aa
--- /dev/null
+++ b/NJCIT/InfomationForm.Designer.cs
@@ -0,0 +1,169 @@
+namespace NJCIT
+{
+ partial class InfomationForm
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(InfomationForm));
+ this.button_logout = new System.Windows.Forms.Button();
+ this.label_info = new System.Windows.Forms.Label();
+ this.label_username = new System.Windows.Forms.Label();
+ this.label_domain = new System.Windows.Forms.Label();
+ this.label_ip = new System.Windows.Forms.Label();
+ this.label_timer = new System.Windows.Forms.Label();
+ this.label_account = new System.Windows.Forms.Label();
+ this.label_timeamount = new System.Windows.Forms.Label();
+ this.button_exit = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // button_logout
+ //
+ this.button_logout.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.button_logout.Location = new System.Drawing.Point(60, 290);
+ this.button_logout.Name = "button_logout";
+ this.button_logout.Size = new System.Drawing.Size(90, 40);
+ this.button_logout.TabIndex = 2;
+ this.button_logout.Text = "退出登录";
+ this.button_logout.UseVisualStyleBackColor = true;
+ this.button_logout.Click += new System.EventHandler(this.Button_Logout_Click);
+ //
+ // label_info
+ //
+ this.label_info.AutoSize = true;
+ this.label_info.Location = new System.Drawing.Point(85, 30);
+ this.label_info.Name = "label_info";
+ this.label_info.Size = new System.Drawing.Size(149, 20);
+ this.label_info.TabIndex = 9;
+ this.label_info.Text = "登录状态:用户未登录";
+ //
+ // label_username
+ //
+ this.label_username.AutoSize = true;
+ this.label_username.Location = new System.Drawing.Point(85, 65);
+ this.label_username.Name = "label_username";
+ this.label_username.Size = new System.Drawing.Size(132, 20);
+ this.label_username.TabIndex = 10;
+ this.label_username.Text = "用 户 名 :xueye.io";
+ //
+ // label_domain
+ //
+ this.label_domain.AutoSize = true;
+ this.label_domain.Location = new System.Drawing.Point(85, 100);
+ this.label_domain.Name = "label_domain";
+ this.label_domain.Size = new System.Drawing.Size(130, 20);
+ this.label_domain.TabIndex = 11;
+ this.label_domain.Text = "认 证 域 :internet";
+ //
+ // label_ip
+ //
+ this.label_ip.AutoSize = true;
+ this.label_ip.Location = new System.Drawing.Point(85, 135);
+ this.label_ip.Name = "label_ip";
+ this.label_ip.Size = new System.Drawing.Size(117, 20);
+ this.label_ip.TabIndex = 12;
+ this.label_ip.Text = "登 录 IP :0.0.0.0";
+ //
+ // label_timer
+ //
+ this.label_timer.AutoSize = true;
+ this.label_timer.Location = new System.Drawing.Point(85, 170);
+ this.label_timer.Name = "label_timer";
+ this.label_timer.Size = new System.Drawing.Size(125, 20);
+ this.label_timer.TabIndex = 13;
+ this.label_timer.Text = "在线时长:0:00:00";
+ //
+ // label_account
+ //
+ this.label_account.AutoSize = true;
+ this.label_account.Location = new System.Drawing.Point(85, 205);
+ this.label_account.Name = "label_account";
+ this.label_account.Size = new System.Drawing.Size(101, 20);
+ this.label_account.TabIndex = 14;
+ this.label_account.Text = "账户余额:0元";
+ //
+ // label_timeamount
+ //
+ this.label_timeamount.AutoSize = true;
+ this.label_timeamount.Location = new System.Drawing.Point(85, 240);
+ this.label_timeamount.Name = "label_timeamount";
+ this.label_timeamount.Size = new System.Drawing.Size(145, 20);
+ this.label_timeamount.TabIndex = 15;
+ this.label_timeamount.Text = "已用时长:0时0分0秒";
+ //
+ // button_exit
+ //
+ this.button_exit.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.button_exit.Location = new System.Drawing.Point(200, 290);
+ this.button_exit.Name = "button_exit";
+ this.button_exit.Size = new System.Drawing.Size(90, 40);
+ this.button_exit.TabIndex = 1;
+ this.button_exit.Text = "关闭程序";
+ this.button_exit.UseVisualStyleBackColor = true;
+ this.button_exit.Click += new System.EventHandler(this.Button_exit_Click);
+ //
+ // InfomationForm
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
+ this.BackColor = System.Drawing.SystemColors.Control;
+ this.ClientSize = new System.Drawing.Size(334, 351);
+ this.Controls.Add(this.button_exit);
+ this.Controls.Add(this.label_timeamount);
+ this.Controls.Add(this.label_account);
+ this.Controls.Add(this.label_timer);
+ this.Controls.Add(this.label_ip);
+ this.Controls.Add(this.label_domain);
+ this.Controls.Add(this.label_username);
+ this.Controls.Add(this.label_info);
+ this.Controls.Add(this.button_logout);
+ this.Font = new System.Drawing.Font("Microsoft YaHei UI", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.MaximizeBox = false;
+ this.Name = "InfomationForm";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "登录信息";
+ this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.InfomationForm_FormClosing);
+ this.Load += new System.EventHandler(this.InformationForm_Load);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+ private System.Windows.Forms.Button button_logout;
+ private System.Windows.Forms.Label label_info;
+ private System.Windows.Forms.Label label_username;
+ private System.Windows.Forms.Label label_domain;
+ private System.Windows.Forms.Label label_ip;
+ private System.Windows.Forms.Label label_timer;
+ private System.Windows.Forms.Label label_account;
+ private System.Windows.Forms.Label label_timeamount;
+ private System.Windows.Forms.Button button_exit;
+ }
+}
\ No newline at end of file
diff --git a/NJCIT/InfomationForm.cs b/NJCIT/InfomationForm.cs
new file mode 100644
index 0000000..89f6798
--- /dev/null
+++ b/NJCIT/InfomationForm.cs
@@ -0,0 +1,141 @@
+using System;
+using System.Collections;
+using System.Threading;
+using System.Windows.Forms;
+
+namespace NJCIT
+{
+ public partial class InfomationForm : Form
+ {
+ public Thread updateThread;
+ private bool tag = true;
+
+ public InfomationForm()
+ {
+ InitializeComponent();
+ }
+
+ private void InformationForm_Load(object sender, EventArgs e)
+ {
+ this.ChangeForm();
+ this.UpdateInfomation();
+ CheckForIllegalCrossThreadCalls = false;
+ StartTimer();
+ }
+
+ private void Button_Logout_Click(object sender, EventArgs e)
+ {
+ DialogResult r = MessageBox.Show("确定要退出登录吗?", "操作提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
+ if (r == DialogResult.OK)
+ {
+ LoginServer.DoLogout();
+ if (LoginServer.Online)
+ {
+ MessageBox.Show("退出登录失败!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ else
+ {
+ this.ChangeForm();
+ }
+ }
+ }
+
+ private void Button_exit_Click(object sender, EventArgs e)
+ {
+ this.StopTimer();
+ Environment.Exit(0);
+ }
+
+ public void UpdateInfomation()
+ {
+ ArrayList result = LoginServer.GetInformation();
+ if (result.Count == 7)
+ {
+ label_info.Text = "登录状态:" + result[0].ToString();
+ label_username.Text = "用 户 名 :" + result[1].ToString();
+ label_domain.Text = "认 证 域 :" + result[2].ToString();
+ label_ip.Text = "登 录 IP :" + result[3].ToString();
+ label_timer.Text = "已用时长:" + FormatTime1(result[4].ToString());
+ label_account.Text = "账户余额:" + result[5].ToString() + "元";
+ label_timeamount.Text = "已用时长:" + FormatTime2(result[6].ToString());
+ }
+ }
+
+ // 切换窗体
+ private void ChangeForm()
+ {
+ this.Hide();
+ new LoginForm(this).ShowDialog();
+ }
+
+ private static String FormatTime2(string timeStr)
+ {
+ long time = 0;
+ try
+ {
+ time = long.Parse(timeStr);
+ }
+ catch (Exception)
+ {
+ time = 0;
+ }
+ long second = time % 60;
+ time = time / 60;
+ long minute = time % 60;
+ time = time / 60;
+ long hour = time % 60;
+ return hour + "小时" + minute + "分" + second + "秒";
+ }
+
+ private static String FormatTime1(string timeStr)
+ {
+ long time = 0;
+ try
+ {
+ time = long.Parse(timeStr);
+ }
+ catch (Exception)
+ {
+ time = 0;
+ }
+ long second = time % 60;
+ time = time / 60;
+ long minute = time % 60;
+ time = time / 60;
+ long hour = time % 60;
+ return hour + ":" + minute + ":" + second;
+ }
+
+ public void StartTimer()
+ {
+ updateThread = new Thread(new ThreadStart(ThreadMethod));
+ updateThread.Start();
+ }
+
+ public void StopTimer()
+ {
+ tag = false;
+ }
+ private void ThreadMethod()
+ {
+ while (tag)
+ {
+ UpdateInfomation();
+ Thread.Sleep(1000);
+ }
+ }
+
+ // 处理退出操作
+ private void InfomationForm_FormClosing(object sender, FormClosingEventArgs e)
+ {
+ StopTimer();
+ Environment.Exit(0);
+ }
+
+ public void GetFocus()
+ {
+ button_exit.Focus();
+ }
+
+ }
+}
diff --git a/NJCIT/InfomationForm.resx b/NJCIT/InfomationForm.resx
new file mode 100644
index 0000000..b683743
--- /dev/null
+++ b/NJCIT/InfomationForm.resx
@@ -0,0 +1,227 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+
+
+ AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAHQSAAB0EgAAAAAAAAAA
+ AAAAAAAAAAAAAAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB
+ /wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB
+ /wAAAAAAAAAAAAAAAAAHwf8AB8H/AAfB/wAHwf8aB8H/XAfB/4MHwf+GB8H/hQfB/4UHwf+FB8H/hQfB
+ /4UHwf+FB8H/hQfB/4UHwf+FB8H/hQfB/4UHwf+FB8H/hQfB/4UHwf+FB8H/hQfB/4UHwf+EB8H/YQfB
+ /x4Hwf8AB8H/AAfB/wAAAAAAB8H/AAfB/wAHwf8AB8H/TwfB/88Hwf/9B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf/+B8H/1gfB/1sHwf8CB8H/AAfB/wAHwf8AB8H/AAfB/0wHwf/qB8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H/8QfB/1sHwf8AB8H/AAfB/wAHwf8VB8H/yQfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H/1gfB/x4Hwf8AB8H/AAfB/1AHwf/6B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf/+B8H/YQfB/wAHwf8AB8H/egfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf+EB8H/AAfB
+ /wAHwf+FB8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Gwv//BsL//wbC
+ //8Gwv//BsL//wbC//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ /4UHwf8AB8H/AAfB/4UHwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//Dbrz/xO0
+ 5/8TtOf/E7Tn/xO05/8TtOf/E7Tn/w668f8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H/hQfB/wAHwf8AB8H/hQfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wjA
+ /f89hZP/W2RY/1lmWv9ZZlr/WWZa/1lmWv9bZFj/Q3+I/wq++v8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf+FB8H/AAfB/wAHwf+FB8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//0CCjv9mWED/ZVlE/2VZRP9lWUT/ZVlE/2ZYQf9Ge4D/CMD8/wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB/4UHwf8AB8H/AAfB/4UHwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Gw///MJSu/2VZRP9kWkX/ZFpF/2RaRf9kWkX/ZVlC/zeMoP8Gwv//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H/hQfB/wAHwf8AB8H/hQfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wbD//8hpMv/YV1K/2RaRf9kWkX/ZFpF/2RaRf9jW0b/J52+/wXD
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf+FB8H/AAfB/wAHwf+FB8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//BsL//xWx4/9bZFf/ZVlE/2RaRf9kWkX/ZFpE/15g
+ UP8arNn/BsL//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB/4UHwf8AB8H/AAfB
+ /4UHwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//Dbv0/1Juav9lWUP/ZFpF/2Ra
+ Rf9lWUP/V2lg/xC37f8Gwv//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H/hQfB
+ /wAHwf8AB8H/hQfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wbC//8josf/XWJU/2RZ
+ RP9kWkX/ZFpF/2RaRP9fX0//KJy8/wbC//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf+FB8H/AAfB/wAHwf+FB8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Gwv//ELfu/1Ju
+ av9lWUL/ZFpF/2RaRf9kWkX/ZFpF/2VZQ/9WaWD/E7Pm/wbC//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB/4UHwf8AB8H/AAfB/4UHwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wbD
+ //8jocb/YlxI/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf8qmrn/BcP//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H/hQfB/wAHwf8AB8H/hQfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//BcP//yyYtP9kWkT/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZVlD/zOQpv8Gw///B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf+FB8H/AAfB/wAHwf+FB8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Gw///JKHG/2JcSP9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/Kpq5/wXD
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB/4UHwf8AB8H/AAfB/4UHwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wbC//8Qt+3/Um5p/2VYQv9kWkX/ZFpF/2RaRf9kWkX/ZVlD/1dp
+ YP8Us+b/BsL//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H/hQfB/wAHwf8AB8H/hQfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wbC//8josf/WmVY/2ZYQv9lWUP/ZVlD/2ZY
+ Qv9dYlP/KJy9/wfC//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf+FB8H/AAfB
+ /wAHwf+FB8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8cqtX/QoCK/1Ns
+ Zv9UbGX/RH2F/x+mzv8Hwf7/B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ /4UHwf8AB8H/AAfB/4UHwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wbC
+ //8IwP3/Drnx/w658P8Iv/z/BsL//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H/hQfB/wAHwf8AB8H/hQfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8L//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf+GB8H/AAfB/wAHwf94B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB/4MHwf8AB8H/AAfB/0sHwf/5B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf/9B8H/XAfB/wAHwf8AB8H/EQfB/8EHwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB/88Hwf8aB8H/AAfB/wAHwf8AB8H/QQfB
+ /+MHwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf/qB8H/TwfB/wAHwf8AB8H/AAfB
+ /wAHwf8AB8H/QQfB/8EHwf/5B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf/6B8H/yQfB/0wHwf8AB8H/AAfB
+ /wAAAAAAB8H/AAfB/wAHwf8AB8H/EQfB/0sHwf94B8H/hQfB/4UHwf+FB8H/hQfB/4UHwf+FB8H/hQfB
+ /4UHwf+FB8H/hQfB/4UHwf+FB8H/hQfB/4UHwf+FB8H/hQfB/4UHwf+FB8H/egfB/1AHwf8VB8H/AAfB
+ /wAHwf8AAAAAAAAAAAAAAAAAB8H/AAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB
+ /wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB
+ /wAHwf8AB8H/AAAAAAAAAAAAwAAAA4AAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAgAAAAcAAAAM=
+
+
+
\ No newline at end of file
diff --git a/NJCIT/LoginForm.Designer.cs b/NJCIT/LoginForm.Designer.cs
new file mode 100644
index 0000000..5ca9155
--- /dev/null
+++ b/NJCIT/LoginForm.Designer.cs
@@ -0,0 +1,185 @@
+namespace NJCIT
+{
+ partial class LoginForm
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows 窗体设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LoginForm));
+ this.Label_Username = new System.Windows.Forms.Label();
+ this.Label_Domain = new System.Windows.Forms.Label();
+ this.Label_Password = new System.Windows.Forms.Label();
+ this.TextBox_Username = new System.Windows.Forms.TextBox();
+ this.ComboBox_Domain = new System.Windows.Forms.ComboBox();
+ this.TextBox_Password = new System.Windows.Forms.TextBox();
+ this.CheckBox_AutoLogin = new System.Windows.Forms.CheckBox();
+ this.CheckBox_Remember = new System.Windows.Forms.CheckBox();
+ this.Button_Login = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // Label_Username
+ //
+ this.Label_Username.AutoSize = true;
+ this.Label_Username.Location = new System.Drawing.Point(75, 38);
+ this.Label_Username.Name = "Label_Username";
+ this.Label_Username.Size = new System.Drawing.Size(65, 20);
+ this.Label_Username.TabIndex = 0;
+ this.Label_Username.Text = "用户名:";
+ //
+ // Label_Domain
+ //
+ this.Label_Domain.AutoSize = true;
+ this.Label_Domain.Location = new System.Drawing.Point(75, 94);
+ this.Label_Domain.Name = "Label_Domain";
+ this.Label_Domain.Size = new System.Drawing.Size(65, 20);
+ this.Label_Domain.TabIndex = 0;
+ this.Label_Domain.Text = "认证域:";
+ //
+ // Label_Password
+ //
+ this.Label_Password.AutoSize = true;
+ this.Label_Password.Location = new System.Drawing.Point(75, 150);
+ this.Label_Password.Name = "Label_Password";
+ this.Label_Password.Size = new System.Drawing.Size(63, 20);
+ this.Label_Password.TabIndex = 0;
+ this.Label_Password.Text = "密 码:";
+ //
+ // TextBox_Username
+ //
+ this.TextBox_Username.Location = new System.Drawing.Point(150, 38);
+ this.TextBox_Username.MaxLength = 16;
+ this.TextBox_Username.Name = "TextBox_Username";
+ this.TextBox_Username.Size = new System.Drawing.Size(155, 25);
+ this.TextBox_Username.TabIndex = 1;
+ this.TextBox_Username.TextChanged += new System.EventHandler(this.TextBox_UserName_TextChanged);
+ this.TextBox_Username.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBox_Username_KeyDown);
+ //
+ // ComboBox_Domain
+ //
+ this.ComboBox_Domain.BackColor = System.Drawing.SystemColors.Window;
+ this.ComboBox_Domain.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.ComboBox_Domain.FormattingEnabled = true;
+ this.ComboBox_Domain.Items.AddRange(new object[] {
+ "student-phone",
+ "student"});
+ this.ComboBox_Domain.Location = new System.Drawing.Point(150, 94);
+ this.ComboBox_Domain.MaxDropDownItems = 5;
+ this.ComboBox_Domain.Name = "ComboBox_Domain";
+ this.ComboBox_Domain.Size = new System.Drawing.Size(155, 28);
+ this.ComboBox_Domain.TabIndex = 2;
+ this.ComboBox_Domain.SelectedIndexChanged += new System.EventHandler(this.ComboBox_Domain_SelectedIndexChanged);
+ //
+ // TextBox_Password
+ //
+ this.TextBox_Password.Location = new System.Drawing.Point(150, 150);
+ this.TextBox_Password.Name = "TextBox_Password";
+ this.TextBox_Password.Size = new System.Drawing.Size(155, 25);
+ this.TextBox_Password.TabIndex = 3;
+ this.TextBox_Password.UseSystemPasswordChar = true;
+ this.TextBox_Password.TextChanged += new System.EventHandler(this.TextBox_Password_TextChanged);
+ this.TextBox_Password.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBox_Password_KeyDown);
+ //
+ // CheckBox_AutoLogin
+ //
+ this.CheckBox_AutoLogin.AutoSize = true;
+ this.CheckBox_AutoLogin.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.CheckBox_AutoLogin.Location = new System.Drawing.Point(90, 205);
+ this.CheckBox_AutoLogin.Name = "CheckBox_AutoLogin";
+ this.CheckBox_AutoLogin.Size = new System.Drawing.Size(84, 24);
+ this.CheckBox_AutoLogin.TabIndex = 4;
+ this.CheckBox_AutoLogin.Text = "自动登录";
+ this.CheckBox_AutoLogin.UseVisualStyleBackColor = true;
+ this.CheckBox_AutoLogin.CheckedChanged += new System.EventHandler(this.CheckBox_AutoLogin_CheckedChanged);
+ this.CheckBox_AutoLogin.KeyDown += new System.Windows.Forms.KeyEventHandler(this.CheckBox_AutoLogin_KeyDown);
+ //
+ // CheckBox_Remember
+ //
+ this.CheckBox_Remember.AutoSize = true;
+ this.CheckBox_Remember.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.CheckBox_Remember.Location = new System.Drawing.Point(220, 205);
+ this.CheckBox_Remember.Name = "CheckBox_Remember";
+ this.CheckBox_Remember.Size = new System.Drawing.Size(84, 24);
+ this.CheckBox_Remember.TabIndex = 5;
+ this.CheckBox_Remember.Text = "记住密码";
+ this.CheckBox_Remember.UseVisualStyleBackColor = true;
+ this.CheckBox_Remember.CheckedChanged += new System.EventHandler(this.CheckBox_Remember_CheckedChanged);
+ this.CheckBox_Remember.KeyDown += new System.Windows.Forms.KeyEventHandler(this.CheckBox_Remember_KeyDown);
+ //
+ // Button_Login
+ //
+ this.Button_Login.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.Button_Login.Location = new System.Drawing.Point(80, 255);
+ this.Button_Login.Name = "Button_Login";
+ this.Button_Login.Size = new System.Drawing.Size(230, 40);
+ this.Button_Login.TabIndex = 6;
+ this.Button_Login.Text = "登录";
+ this.Button_Login.UseVisualStyleBackColor = true;
+ this.Button_Login.Click += new System.EventHandler(this.Button_Login_Click);
+ //
+ // LoginForm
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
+ this.BackColor = System.Drawing.SystemColors.Control;
+ this.ClientSize = new System.Drawing.Size(384, 311);
+ this.Controls.Add(this.Label_Domain);
+ this.Controls.Add(this.ComboBox_Domain);
+ this.Controls.Add(this.Button_Login);
+ this.Controls.Add(this.CheckBox_Remember);
+ this.Controls.Add(this.CheckBox_AutoLogin);
+ this.Controls.Add(this.Label_Password);
+ this.Controls.Add(this.Label_Username);
+ this.Controls.Add(this.TextBox_Password);
+ this.Controls.Add(this.TextBox_Username);
+ this.Cursor = System.Windows.Forms.Cursors.Default;
+ this.Font = new System.Drawing.Font("Microsoft YaHei UI", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.Name = "LoginForm";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "校园网登录";
+ this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.LoginForm_FormClosing);
+ this.Load += new System.EventHandler(this.LoginForm_Load);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TextBox TextBox_Username;
+ private System.Windows.Forms.TextBox TextBox_Password;
+ private System.Windows.Forms.Label Label_Username;
+ private System.Windows.Forms.CheckBox CheckBox_AutoLogin;
+ private System.Windows.Forms.CheckBox CheckBox_Remember;
+ private System.Windows.Forms.Button Button_Login;
+ private System.Windows.Forms.ComboBox ComboBox_Domain;
+ private System.Windows.Forms.Label Label_Domain;
+ private System.Windows.Forms.Label Label_Password;
+ }
+}
+
diff --git a/NJCIT/LoginForm.cs b/NJCIT/LoginForm.cs
new file mode 100644
index 0000000..3f19101
--- /dev/null
+++ b/NJCIT/LoginForm.cs
@@ -0,0 +1,240 @@
+using System;
+using System.Collections;
+using System.IO;
+using System.Text;
+using System.Windows.Forms;
+
+namespace NJCIT
+{
+ public partial class LoginForm : Form
+ {
+
+ private static bool isAutoLogin = false;
+ private static bool isRemember = true;
+ private static string path = "./config.ini";
+ private static int domain;
+ private static string userName;
+ private static string password;
+
+ private Form mainForm;
+
+ public LoginForm(Form form)
+ {
+ this.mainForm = form;
+ InitializeComponent();
+ }
+
+ // 窗口载入时执行的操作
+ private void LoginForm_Load(object sender, EventArgs e)
+ {
+ ReadConfig();
+ // 检查用户在线状态
+ if (!LoginServer.Logouted)
+ {
+ if (LoginServer.Online)
+ {
+ //MessageBox.Show("用户已登录", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ ChangeForm();
+ }
+ else if(isAutoLogin)
+ {
+ this.AutoLogin();
+ }
+ }
+ }
+
+ // 用户名
+ private void TextBox_UserName_TextChanged(object sender, EventArgs e)
+ {
+ userName = TextBox_Username.Text;
+ }
+
+ // 认证域
+ private void ComboBox_Domain_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ domain = ComboBox_Domain.SelectedIndex; ;
+ }
+
+ // 密码
+ private void TextBox_Password_TextChanged(object sender, EventArgs e)
+ {
+ password = StringToBase64(TextBox_Password.Text);
+ }
+
+ // 自动登录按钮
+ private void CheckBox_AutoLogin_CheckedChanged(object sender, EventArgs e)
+ {
+ if (CheckBox_AutoLogin.Checked)
+ {
+ CheckBox_Remember.Checked = true;
+ }
+ }
+
+ //保存密码按钮
+ private void CheckBox_Remember_CheckedChanged(object sender, EventArgs e)
+ {
+ if (!CheckBox_Remember.Checked)
+ {
+ CheckBox_AutoLogin.Checked = false;
+ }
+ }
+
+ // 登录按钮
+ private void Button_Login_Click(object sender, EventArgs e)
+ {
+ if (TextBox_Username.Text.Length == 0)
+ {
+ MessageBox.Show("用户名不能为空!", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ TextBox_Username.Focus();
+ return;
+ }
+ if (TextBox_Password.Text.Length == 0)
+ {
+ MessageBox.Show("密码不能为空!", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ TextBox_Password.Focus();
+ return;
+ }
+ this.AutoLogin();
+ }
+
+ private void TextBox_Username_KeyDown(object sender, KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.Enter)
+ {
+ Button_Login.PerformClick();
+ }
+ }
+
+ private void TextBox_Password_KeyDown(object sender, KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.Enter)
+ {
+ Button_Login.PerformClick();
+ }
+ }
+
+ private void CheckBox_AutoLogin_KeyDown(object sender, KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.Enter)
+ {
+ Button_Login.PerformClick();
+ }
+ }
+
+ private void CheckBox_Remember_KeyDown(object sender, KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.Enter)
+ {
+ Button_Login.PerformClick();
+ }
+ }
+
+ private void LoginForm_FormClosing(object sender, FormClosingEventArgs e)
+ {
+ if (!LoginServer.Online)
+ {
+ Environment.Exit(0);
+ }
+ }
+
+ // 登录操作
+ private void AutoLogin()
+ {
+ LoginServer.DoLogin(userName, domain, password);
+ if (LoginServer.Online)
+ {
+ this.ChangeForm();
+ WriteConfig();
+ }
+ else
+ {
+ ArrayList list = LoginServer.GetInformation();
+ if (list == null)
+ {
+ MessageBox.Show("登录失败,请检查您的互联网连接状态!", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ else
+ {
+ MessageBox.Show(list[0].ToString(), "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ }
+
+ // 切换窗体
+ private void ChangeForm()
+ {
+ this.mainForm.Show();
+ this.Close();
+ }
+
+ // 编码转换
+ private static string StringToBase64(string str)
+ {
+ byte[] bytes = Encoding.ASCII.GetBytes(str);
+ return Convert.ToBase64String(bytes, 0, bytes.Length);
+ }
+
+ // 编码转换
+ private static string Base64ToString(string str)
+ {
+ try
+ {
+ byte[] bytes = Convert.FromBase64String(str);
+ return Encoding.ASCII.GetString(bytes);
+ }
+ catch (Exception)
+ {
+ return "";
+ }
+ }
+
+ // 读取配置
+ private void ReadConfig()
+ {
+ // 读取配置
+ if (!File.Exists(path))
+ {
+ try
+ {
+ File.Create(path).Close();
+ }
+ catch (Exception)
+ {
+ }
+ }
+ isAutoLogin = OperateIniFile.ReadIniData("Settings", "AutoLogin", "0", path).Equals("1") ? true : false;
+ isRemember = OperateIniFile.ReadIniData("Settings", "SavePassword", "1", path).Equals("1") ? true : false;
+ try
+ {
+ domain = Int32.Parse(OperateIniFile.ReadIniData("Account", "Domain", "0", path));
+ }
+ catch (Exception)
+ {
+ domain = 0;
+ }
+ userName = OperateIniFile.ReadIniData("Account", "UserName", "", path);
+ password = OperateIniFile.ReadIniData("Account", "Password", "", path);
+ CheckBox_AutoLogin.Checked = isAutoLogin;
+ CheckBox_Remember.Checked = isRemember;
+ TextBox_Username.Text = userName;
+ ComboBox_Domain.SelectedIndex = domain;
+ TextBox_Password.Text = Base64ToString(password);
+ }
+
+ // 保存配置
+ private void WriteConfig()
+ {
+ isAutoLogin = CheckBox_AutoLogin.Checked;
+ isRemember = CheckBox_Remember.Checked;
+ userName = TextBox_Username.Text;
+ domain = ComboBox_Domain.SelectedIndex;
+ password = StringToBase64(TextBox_Password.Text);
+ OperateIniFile.WriteIniData("Settings", "AutoLogin", isAutoLogin ? "1" : "0", path);
+ OperateIniFile.WriteIniData("Settings", "SavePassword", isRemember ? "1" : "0", path);
+ OperateIniFile.WriteIniData("Account", "UserName", userName, path);
+ OperateIniFile.WriteIniData("Account", "Domain", domain.ToString(), path);
+ OperateIniFile.WriteIniData("Account", "Password", isRemember ? password : "", path);
+ }
+
+ }
+}
diff --git a/NJCIT/LoginForm.resx b/NJCIT/LoginForm.resx
new file mode 100644
index 0000000..e4afa50
--- /dev/null
+++ b/NJCIT/LoginForm.resx
@@ -0,0 +1,227 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+
+
+ AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAHQSAAB0EgAAAAAAAAAA
+ AAAAAAAAAAAAAAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB
+ /wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB
+ /wAAAAAAAAAAAAAAAAAHwf8AB8H/AAfB/wAHwf8aB8H/XAfB/4MHwf+GB8H/hQfB/4UHwf+FB8H/hQfB
+ /4UHwf+FB8H/hQfB/4UHwf+FB8H/hQfB/4UHwf+FB8H/hQfB/4UHwf+FB8H/hQfB/4UHwf+EB8H/YQfB
+ /x4Hwf8AB8H/AAfB/wAAAAAAB8H/AAfB/wAHwf8AB8H/TwfB/88Hwf/9B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf/+B8H/1gfB/1sHwf8CB8H/AAfB/wAHwf8AB8H/AAfB/0wHwf/qB8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H/8QfB/1sHwf8AB8H/AAfB/wAHwf8VB8H/yQfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H/1gfB/x4Hwf8AB8H/AAfB/1AHwf/6B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf/+B8H/YQfB/wAHwf8AB8H/egfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf+EB8H/AAfB
+ /wAHwf+FB8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Gwv//BsL//wbC
+ //8Gwv//BsL//wbC//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ /4UHwf8AB8H/AAfB/4UHwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//Dbrz/xO0
+ 5/8TtOf/E7Tn/xO05/8TtOf/E7Tn/w668f8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H/hQfB/wAHwf8AB8H/hQfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wjA
+ /f89hZP/W2RY/1lmWv9ZZlr/WWZa/1lmWv9bZFj/Q3+I/wq++v8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf+FB8H/AAfB/wAHwf+FB8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//0CCjv9mWED/ZVlE/2VZRP9lWUT/ZVlE/2ZYQf9Ge4D/CMD8/wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB/4UHwf8AB8H/AAfB/4UHwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Gw///MJSu/2VZRP9kWkX/ZFpF/2RaRf9kWkX/ZVlC/zeMoP8Gwv//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H/hQfB/wAHwf8AB8H/hQfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wbD//8hpMv/YV1K/2RaRf9kWkX/ZFpF/2RaRf9jW0b/J52+/wXD
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf+FB8H/AAfB/wAHwf+FB8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//BsL//xWx4/9bZFf/ZVlE/2RaRf9kWkX/ZFpE/15g
+ UP8arNn/BsL//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB/4UHwf8AB8H/AAfB
+ /4UHwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//Dbv0/1Juav9lWUP/ZFpF/2Ra
+ Rf9lWUP/V2lg/xC37f8Gwv//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H/hQfB
+ /wAHwf8AB8H/hQfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wbC//8josf/XWJU/2RZ
+ RP9kWkX/ZFpF/2RaRP9fX0//KJy8/wbC//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf+FB8H/AAfB/wAHwf+FB8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Gwv//ELfu/1Ju
+ av9lWUL/ZFpF/2RaRf9kWkX/ZFpF/2VZQ/9WaWD/E7Pm/wbC//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB/4UHwf8AB8H/AAfB/4UHwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wbD
+ //8jocb/YlxI/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf8qmrn/BcP//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H/hQfB/wAHwf8AB8H/hQfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//BcP//yyYtP9kWkT/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZVlD/zOQpv8Gw///B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf+FB8H/AAfB/wAHwf+FB8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Gw///JKHG/2JcSP9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/Kpq5/wXD
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB/4UHwf8AB8H/AAfB/4UHwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wbC//8Qt+3/Um5p/2VYQv9kWkX/ZFpF/2RaRf9kWkX/ZVlD/1dp
+ YP8Us+b/BsL//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H/hQfB/wAHwf8AB8H/hQfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wbC//8josf/WmVY/2ZYQv9lWUP/ZVlD/2ZY
+ Qv9dYlP/KJy9/wfC//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf+FB8H/AAfB
+ /wAHwf+FB8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8cqtX/QoCK/1Ns
+ Zv9UbGX/RH2F/x+mzv8Hwf7/B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ /4UHwf8AB8H/AAfB/4UHwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wbC
+ //8IwP3/Drnx/w658P8Iv/z/BsL//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H/hQfB/wAHwf8AB8H/hQfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8L//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf+GB8H/AAfB/wAHwf94B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB/4MHwf8AB8H/AAfB/0sHwf/5B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf/9B8H/XAfB/wAHwf8AB8H/EQfB/8EHwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB/88Hwf8aB8H/AAfB/wAHwf8AB8H/QQfB
+ /+MHwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf/qB8H/TwfB/wAHwf8AB8H/AAfB
+ /wAHwf8AB8H/QQfB/8EHwf/5B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB
+ //8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf//B8H//wfB//8Hwf/6B8H/yQfB/0wHwf8AB8H/AAfB
+ /wAAAAAAB8H/AAfB/wAHwf8AB8H/EQfB/0sHwf94B8H/hQfB/4UHwf+FB8H/hQfB/4UHwf+FB8H/hQfB
+ /4UHwf+FB8H/hQfB/4UHwf+FB8H/hQfB/4UHwf+FB8H/hQfB/4UHwf+FB8H/egfB/1AHwf8VB8H/AAfB
+ /wAHwf8AAAAAAAAAAAAAAAAAB8H/AAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB
+ /wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB/wAHwf8AB8H/AAfB
+ /wAHwf8AB8H/AAAAAAAAAAAAwAAAA4AAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAgAAAAcAAAAM=
+
+
+
\ No newline at end of file
diff --git a/NJCIT/LoginServer.cs b/NJCIT/LoginServer.cs
new file mode 100644
index 0000000..3fa2158
--- /dev/null
+++ b/NJCIT/LoginServer.cs
@@ -0,0 +1,131 @@
+using System;
+using System.Collections;
+using System.Net;
+using System.Net.NetworkInformation;
+using System.Text;
+
+namespace NJCIT
+{
+ class LoginServer
+ {
+ private static readonly string[] domainStr = new string[] { "studentphone", "student" };
+ private static readonly string initURL = "http://n.njcit.cn/index.php/index/init";
+ private static readonly string logoutURL = "http://n.njcit.cn/index.php/index/logout";
+ private static ArrayList result = null;
+ public static bool Online = false;
+ public static bool Logouted = false;
+
+ // 静态初始化
+ static LoginServer()
+ {
+ UpdateResult(HttpConect(initURL));
+ }
+
+ // 获取登录信息
+ public static ArrayList GetInformation()
+ {
+ UpdateResult(HttpConect(initURL));
+ return result;
+ }
+
+ // 执行登录
+ public static void DoLogin(string username, int domain, string password)
+ {
+ string[] textArray = new string[] { "http://n.njcit.cn/index.php/index/login?username=", username, "&domain=" + domainStr[domain] + "&password=", password, "&enablemacauth=1" };
+ UpdateResult(HttpConect(string.Concat(textArray)));
+ }
+
+ // 退出登录
+ public static void DoLogout()
+ {
+ UpdateResult(HttpConect(logoutURL));
+ Logouted = true;
+ }
+
+ // 处理登录返回结果
+ private static void UpdateResult(string str)
+ {
+ if (str != null)
+ {
+ string[] strArray = str.Replace("{", "").Replace("}", "").Replace("\"", "").Split(new char[] { ',' });
+ if (strArray != null)
+ {
+ ArrayList list = new ArrayList();
+ if (strArray.Length == 3)
+ {
+ list.Add("认证失败, 请检查密码及账户状态!");
+ Online = false;
+ }
+ else if (strArray.Length == 1)
+ {
+ list.Add("认证失败,账户已锁定!");
+ Online = false;
+ }
+ else if (strArray.Length == 4)
+ {
+ list.Add("认证失败,并发登录超过最大限制!");
+ Online = false;
+ }
+ else
+ {
+ list.Add("用户已登录");
+ if (strArray.Length == 11)
+ {
+ list.Add(ParseData(strArray[2]));
+ list.Add(ParseData(strArray[3]));
+ list.Add(ParseData(strArray[4]));
+ list.Add(ParseData(strArray[6]));
+ list.Add(ParseData(strArray[8]));
+ list.Add(ParseData(strArray[9]));
+ }
+ else
+ {
+ list.Add(ParseData(strArray[2]));
+ list.Add(ParseData(strArray[3]));
+ list.Add(ParseData(strArray[4]));
+ list.Add(ParseData(strArray[6]));
+ list.Add(ParseData(strArray[9]));
+ list.Add(ParseData(strArray[10]));
+ }
+ Online = true;
+ }
+ result = list;
+ }
+ }
+ }
+
+ // Http连接
+ private static string HttpConect(string URL)
+ {
+ Ping ping = new Ping();
+ PingReply reply = ping.Send("n.njcit.cn", 1000);
+ if (reply.Status != IPStatus.Success)
+ {
+ return null;
+ }
+ try
+ {
+ WebClient client = new WebClient
+ {
+ Credentials = CredentialCache.DefaultCredentials
+ };
+ byte[] bytes = client.DownloadData(URL);
+ return Encoding.UTF8.GetString(bytes);
+ }
+ catch (Exception)
+ {
+ return null;
+ }
+ }
+
+
+
+ // 解析数据
+ private static string ParseData(string str)
+ {
+ char[] separator = new char[] { ':' };
+ return str.Split(separator)[1];
+ }
+
+ }
+}
diff --git a/NJCIT/NJCIT.csproj b/NJCIT/NJCIT.csproj
new file mode 100644
index 0000000..c0470a6
--- /dev/null
+++ b/NJCIT/NJCIT.csproj
@@ -0,0 +1,137 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {A862BD45-8733-40D8-92B0-0F2239486648}
+ WinExe
+ NJCIT
+ NJCIT
+ v4.5
+ 512
+ true
+ false
+
+
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 1.0.0.%2a
+ false
+ true
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+ false
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+ false
+
+
+ keyhole_64px_1210130_easyicon.net.ico
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Form
+
+
+ InfomationForm.cs
+
+
+ Form
+
+
+ LoginForm.cs
+
+
+
+
+
+ LoginForm.cs
+
+
+ InfomationForm.cs
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ True
+ Resources.resx
+ True
+
+
+
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+ Designer
+
+
+
+
+
+
+
+ False
+ .NET Framework 3.5 SP1
+ false
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/NJCIT/NJCIT.csproj.user b/NJCIT/NJCIT.csproj.user
new file mode 100644
index 0000000..2c7a9c0
--- /dev/null
+++ b/NJCIT/NJCIT.csproj.user
@@ -0,0 +1,13 @@
+
+
+
+ publish\
+
+
+
+
+
+ zh-CN
+ false
+
+
\ No newline at end of file
diff --git a/NJCIT/OperateIniFile.cs b/NJCIT/OperateIniFile.cs
new file mode 100644
index 0000000..35e89ca
--- /dev/null
+++ b/NJCIT/OperateIniFile.cs
@@ -0,0 +1,73 @@
+using System;
+using System.IO;
+using System.Runtime.InteropServices;
+using System.Text;
+
+namespace NJCIT
+{
+ public class OperateIniFile
+ {
+ #region API函数声明
+
+ [DllImport("kernel32")] //返回0表示失败,非0为成功
+ private static extern long WritePrivateProfileString(string section, string key,
+ string val, string filePath);
+
+ [DllImport("kernel32")] //返回取得字符串缓冲区的长度
+ private static extern long GetPrivateProfileString(string section, string key,
+ string def, StringBuilder retVal, int size, string filePath);
+
+
+ #endregion
+ ///
+ /// 读Ini文件
+ ///
+ /// []内的段落名
+ /// key
+ ///
+ /// NoText对应API函数的def参数,它的值由用户指定,是当在配置文件中没有找到具体的Value时,就用NoText的值来代替。可以为空
+ /// ini配置文件的路径加ini文件名
+ ///
+ #region 读Ini文件
+
+ public static string ReadIniData(string Section, string Key, string NoText, string iniFilePath)
+ {
+ if (File.Exists(iniFilePath))
+ {
+ StringBuilder temp = new StringBuilder(1024);
+ GetPrivateProfileString(Section, Key, NoText, temp, 1024, iniFilePath);
+ return temp.ToString();
+ }
+ else
+ {
+ return String.Empty;
+ }
+ }
+
+ #endregion
+
+ #region 写Ini文件
+
+ public static bool WriteIniData(string Section, string Key, string Value, string iniFilePath)
+ {
+ if (File.Exists(iniFilePath))
+ {
+ long OpStation = WritePrivateProfileString(Section, Key, Value, iniFilePath);
+ if (OpStation == 0)
+ {
+ return false;
+ }
+ else
+ {
+ return true;
+ }
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/NJCIT/Program.cs b/NJCIT/Program.cs
new file mode 100644
index 0000000..cf50796
--- /dev/null
+++ b/NJCIT/Program.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Windows.Forms;
+
+namespace NJCIT
+{
+ static class Program
+ {
+ ///
+ /// 应用程序的主入口点。
+ ///
+ [STAThread]
+ static void Main()
+ {
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new InfomationForm());
+ }
+ }
+}
diff --git a/NJCIT/Properties/AssemblyInfo.cs b/NJCIT/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..4f7fce6
--- /dev/null
+++ b/NJCIT/Properties/AssemblyInfo.cs
@@ -0,0 +1,39 @@
+using System.Resources;
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 有关程序集的一般信息由以下
+// 控制。更改这些特性值可修改
+// 与程序集关联的信息。
+[assembly: AssemblyTitle("南信校园网登录工具")]
+[assembly: AssemblyDescription("南信校园网登录工具")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("叶神")]
+[assembly: AssemblyProduct("NJCIT")]
+[assembly: AssemblyCopyright("Copyright © 2019 叶神")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 将 ComVisible 设置为 false 会使此程序集中的类型
+//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
+//请将此类型的 ComVisible 特性设置为 true。
+[assembly: ComVisible(false)]
+
+// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
+[assembly: Guid("a862bd45-8733-40d8-92b0-0f2239486648")]
+
+// 程序集的版本信息由下列四个值组成:
+//
+// 主版本
+// 次版本
+// 生成号
+// 修订号
+//
+// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
+// 方法是按如下所示使用“*”: :
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: NeutralResourcesLanguage("zh-CN")]
+
diff --git a/NJCIT/Properties/DataSources/NJCIT.Properties.Resources.datasource b/NJCIT/Properties/DataSources/NJCIT.Properties.Resources.datasource
new file mode 100644
index 0000000..8511b7b
--- /dev/null
+++ b/NJCIT/Properties/DataSources/NJCIT.Properties.Resources.datasource
@@ -0,0 +1,10 @@
+
+
+
+ NJCIT.Properties.Resources, NJCIT, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+
\ No newline at end of file
diff --git a/NJCIT/Properties/DataSources/NJCIT.Properties.Settings.datasource b/NJCIT/Properties/DataSources/NJCIT.Properties.Settings.datasource
new file mode 100644
index 0000000..1235b3b
--- /dev/null
+++ b/NJCIT/Properties/DataSources/NJCIT.Properties.Settings.datasource
@@ -0,0 +1,10 @@
+
+
+
+ NJCIT.Properties.Settings, NJCIT, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+
\ No newline at end of file
diff --git a/NJCIT/Properties/Resources.Designer.cs b/NJCIT/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..55e8a5a
--- /dev/null
+++ b/NJCIT/Properties/Resources.Designer.cs
@@ -0,0 +1,63 @@
+//------------------------------------------------------------------------------
+//
+// 此代码由工具生成。
+// 运行时版本:4.0.30319.42000
+//
+// 对此文件的更改可能会导致不正确的行为,并且如果
+// 重新生成代码,这些更改将会丢失。
+//
+//------------------------------------------------------------------------------
+
+namespace NJCIT.Properties {
+ using System;
+
+
+ ///
+ /// 一个强类型的资源类,用于查找本地化的字符串等。
+ ///
+ // 此类是由 StronglyTypedResourceBuilder
+ // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
+ // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
+ // (以 /str 作为命令选项),或重新生成 VS 项目。
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// 返回此类使用的缓存的 ResourceManager 实例。
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("NJCIT.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// 重写当前线程的 CurrentUICulture 属性
+ /// 重写当前线程的 CurrentUICulture 属性。
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/NJCIT/Properties/Resources.resx b/NJCIT/Properties/Resources.resx
new file mode 100644
index 0000000..af7dbeb
--- /dev/null
+++ b/NJCIT/Properties/Resources.resx
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/NJCIT/Properties/Settings.Designer.cs b/NJCIT/Properties/Settings.Designer.cs
new file mode 100644
index 0000000..d123f15
--- /dev/null
+++ b/NJCIT/Properties/Settings.Designer.cs
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+//
+// 此代码由工具生成。
+// 运行时版本:4.0.30319.42000
+//
+// 对此文件的更改可能会导致不正确的行为,并且如果
+// 重新生成代码,这些更改将会丢失。
+//
+//------------------------------------------------------------------------------
+
+namespace NJCIT.Properties {
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/NJCIT/Properties/Settings.settings b/NJCIT/Properties/Settings.settings
new file mode 100644
index 0000000..3964565
--- /dev/null
+++ b/NJCIT/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/NJCIT/bin/Debug/NJCIT.exe b/NJCIT/bin/Debug/NJCIT.exe
new file mode 100644
index 0000000..337ec09
Binary files /dev/null and b/NJCIT/bin/Debug/NJCIT.exe differ
diff --git a/NJCIT/bin/Debug/NJCIT.exe.config b/NJCIT/bin/Debug/NJCIT.exe.config
new file mode 100644
index 0000000..92e5f81
--- /dev/null
+++ b/NJCIT/bin/Debug/NJCIT.exe.config
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/NJCIT/bin/Debug/NJCIT.pdb b/NJCIT/bin/Debug/NJCIT.pdb
new file mode 100644
index 0000000..7da3e95
Binary files /dev/null and b/NJCIT/bin/Debug/NJCIT.pdb differ
diff --git a/NJCIT/bin/Debug/config.ini b/NJCIT/bin/Debug/config.ini
new file mode 100644
index 0000000..f5eced3
--- /dev/null
+++ b/NJCIT/bin/Debug/config.ini
@@ -0,0 +1,7 @@
+[Settings]
+AutoLogin=1
+SavePassword=1
+[Account]
+username=305895
+password=OTkwMTIx
+domain=0
diff --git a/NJCIT/bin/Release/NJCIT.exe.config b/NJCIT/bin/Release/NJCIT.exe.config
new file mode 100644
index 0000000..92e5f81
--- /dev/null
+++ b/NJCIT/bin/Release/NJCIT.exe.config
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/NJCIT/bin/Release/NJCIT.pdb b/NJCIT/bin/Release/NJCIT.pdb
new file mode 100644
index 0000000..c3c1b59
Binary files /dev/null and b/NJCIT/bin/Release/NJCIT.pdb differ
diff --git a/NJCIT/bin/Release/config.ini b/NJCIT/bin/Release/config.ini
new file mode 100644
index 0000000..b9c2f9c
--- /dev/null
+++ b/NJCIT/bin/Release/config.ini
@@ -0,0 +1,7 @@
+[Settings]
+AutoLogin=0
+SavePassword=1
+[Account]
+UserName=305895
+Domain=0
+Password=OTkwMTIx
diff --git a/NJCIT/keyhole_64px_1210130_easyicon.net.ico b/NJCIT/keyhole_64px_1210130_easyicon.net.ico
new file mode 100644
index 0000000..a62378e
Binary files /dev/null and b/NJCIT/keyhole_64px_1210130_easyicon.net.ico differ
diff --git a/NJCIT/locked_with_key_64px_1215152_easyicon.net.ico b/NJCIT/locked_with_key_64px_1215152_easyicon.net.ico
new file mode 100644
index 0000000..783baa9
Binary files /dev/null and b/NJCIT/locked_with_key_64px_1215152_easyicon.net.ico differ
diff --git a/NJCIT/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/NJCIT/obj/Debug/DesignTimeResolveAssemblyReferences.cache
new file mode 100644
index 0000000..5261550
Binary files /dev/null and b/NJCIT/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ
diff --git a/NJCIT/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/NJCIT/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
new file mode 100644
index 0000000..84ee984
Binary files /dev/null and b/NJCIT/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/NJCIT/obj/Debug/NJCIT.InfomationForm.resources b/NJCIT/obj/Debug/NJCIT.InfomationForm.resources
new file mode 100644
index 0000000..5af470f
Binary files /dev/null and b/NJCIT/obj/Debug/NJCIT.InfomationForm.resources differ
diff --git a/NJCIT/obj/Debug/NJCIT.LoginForm.resources b/NJCIT/obj/Debug/NJCIT.LoginForm.resources
new file mode 100644
index 0000000..5af470f
Binary files /dev/null and b/NJCIT/obj/Debug/NJCIT.LoginForm.resources differ
diff --git a/NJCIT/obj/Debug/NJCIT.Properties.Resources.resources b/NJCIT/obj/Debug/NJCIT.Properties.Resources.resources
new file mode 100644
index 0000000..6c05a97
Binary files /dev/null and b/NJCIT/obj/Debug/NJCIT.Properties.Resources.resources differ
diff --git a/NJCIT/obj/Debug/NJCIT.csproj.CoreCompileInputs.cache b/NJCIT/obj/Debug/NJCIT.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..3126d3c
--- /dev/null
+++ b/NJCIT/obj/Debug/NJCIT.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+de566e741e2d21f59948c22cf09d298ed912688f
diff --git a/NJCIT/obj/Debug/NJCIT.csproj.FileListAbsolute.txt b/NJCIT/obj/Debug/NJCIT.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..7a1b4a6
--- /dev/null
+++ b/NJCIT/obj/Debug/NJCIT.csproj.FileListAbsolute.txt
@@ -0,0 +1,10 @@
+C:\Users\xueye\source\repos\NJCIT\NJCIT\bin\Debug\NJCIT.exe.config
+C:\Users\xueye\source\repos\NJCIT\NJCIT\bin\Debug\NJCIT.exe
+C:\Users\xueye\source\repos\NJCIT\NJCIT\bin\Debug\NJCIT.pdb
+C:\Users\xueye\source\repos\NJCIT\NJCIT\obj\Debug\NJCIT.LoginForm.resources
+C:\Users\xueye\source\repos\NJCIT\NJCIT\obj\Debug\NJCIT.InfomationForm.resources
+C:\Users\xueye\source\repos\NJCIT\NJCIT\obj\Debug\NJCIT.Properties.Resources.resources
+C:\Users\xueye\source\repos\NJCIT\NJCIT\obj\Debug\NJCIT.csproj.GenerateResource.cache
+C:\Users\xueye\source\repos\NJCIT\NJCIT\obj\Debug\NJCIT.csproj.CoreCompileInputs.cache
+C:\Users\xueye\source\repos\NJCIT\NJCIT\obj\Debug\NJCIT.exe
+C:\Users\xueye\source\repos\NJCIT\NJCIT\obj\Debug\NJCIT.pdb
diff --git a/NJCIT/obj/Debug/NJCIT.csproj.GenerateResource.cache b/NJCIT/obj/Debug/NJCIT.csproj.GenerateResource.cache
new file mode 100644
index 0000000..e928a00
Binary files /dev/null and b/NJCIT/obj/Debug/NJCIT.csproj.GenerateResource.cache differ
diff --git a/NJCIT/obj/Debug/NJCIT.csprojAssemblyReference.cache b/NJCIT/obj/Debug/NJCIT.csprojAssemblyReference.cache
new file mode 100644
index 0000000..f41cc40
Binary files /dev/null and b/NJCIT/obj/Debug/NJCIT.csprojAssemblyReference.cache differ
diff --git a/NJCIT/obj/Debug/NJCIT.exe b/NJCIT/obj/Debug/NJCIT.exe
new file mode 100644
index 0000000..337ec09
Binary files /dev/null and b/NJCIT/obj/Debug/NJCIT.exe differ
diff --git a/NJCIT/obj/Debug/NJCIT.pdb b/NJCIT/obj/Debug/NJCIT.pdb
new file mode 100644
index 0000000..7da3e95
Binary files /dev/null and b/NJCIT/obj/Debug/NJCIT.pdb differ
diff --git a/NJCIT/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/NJCIT/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll
new file mode 100644
index 0000000..148c690
Binary files /dev/null and b/NJCIT/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll differ
diff --git a/NJCIT/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/NJCIT/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
new file mode 100644
index 0000000..e69de29
diff --git a/NJCIT/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/NJCIT/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
new file mode 100644
index 0000000..e69de29
diff --git a/NJCIT/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/NJCIT/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
new file mode 100644
index 0000000..e69de29
diff --git a/NJCIT/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/NJCIT/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
new file mode 100644
index 0000000..ad2db4c
Binary files /dev/null and b/NJCIT/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/NJCIT/obj/Release/NJCIT.InfomationForm.resources b/NJCIT/obj/Release/NJCIT.InfomationForm.resources
new file mode 100644
index 0000000..5af470f
Binary files /dev/null and b/NJCIT/obj/Release/NJCIT.InfomationForm.resources differ
diff --git a/NJCIT/obj/Release/NJCIT.LoginForm.resources b/NJCIT/obj/Release/NJCIT.LoginForm.resources
new file mode 100644
index 0000000..5af470f
Binary files /dev/null and b/NJCIT/obj/Release/NJCIT.LoginForm.resources differ
diff --git a/NJCIT/obj/Release/NJCIT.Properties.Resources.resources b/NJCIT/obj/Release/NJCIT.Properties.Resources.resources
new file mode 100644
index 0000000..6c05a97
Binary files /dev/null and b/NJCIT/obj/Release/NJCIT.Properties.Resources.resources differ
diff --git a/NJCIT/obj/Release/NJCIT.csproj.CoreCompileInputs.cache b/NJCIT/obj/Release/NJCIT.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..3126d3c
--- /dev/null
+++ b/NJCIT/obj/Release/NJCIT.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+de566e741e2d21f59948c22cf09d298ed912688f
diff --git a/NJCIT/obj/Release/NJCIT.csproj.FileListAbsolute.txt b/NJCIT/obj/Release/NJCIT.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..d3ffebe
--- /dev/null
+++ b/NJCIT/obj/Release/NJCIT.csproj.FileListAbsolute.txt
@@ -0,0 +1,10 @@
+C:\Users\xueye\source\repos\NJCIT\NJCIT\bin\Release\NJCIT.exe.config
+C:\Users\xueye\source\repos\NJCIT\NJCIT\bin\Release\NJCIT.exe
+C:\Users\xueye\source\repos\NJCIT\NJCIT\bin\Release\NJCIT.pdb
+C:\Users\xueye\source\repos\NJCIT\NJCIT\obj\Release\NJCIT.LoginForm.resources
+C:\Users\xueye\source\repos\NJCIT\NJCIT\obj\Release\NJCIT.InfomationForm.resources
+C:\Users\xueye\source\repos\NJCIT\NJCIT\obj\Release\NJCIT.Properties.Resources.resources
+C:\Users\xueye\source\repos\NJCIT\NJCIT\obj\Release\NJCIT.csproj.GenerateResource.cache
+C:\Users\xueye\source\repos\NJCIT\NJCIT\obj\Release\NJCIT.csproj.CoreCompileInputs.cache
+C:\Users\xueye\source\repos\NJCIT\NJCIT\obj\Release\NJCIT.exe
+C:\Users\xueye\source\repos\NJCIT\NJCIT\obj\Release\NJCIT.pdb
diff --git a/NJCIT/obj/Release/NJCIT.csproj.GenerateResource.cache b/NJCIT/obj/Release/NJCIT.csproj.GenerateResource.cache
new file mode 100644
index 0000000..e928a00
Binary files /dev/null and b/NJCIT/obj/Release/NJCIT.csproj.GenerateResource.cache differ
diff --git a/NJCIT/obj/Release/NJCIT.exe b/NJCIT/obj/Release/NJCIT.exe
new file mode 100644
index 0000000..e921954
Binary files /dev/null and b/NJCIT/obj/Release/NJCIT.exe differ
diff --git a/NJCIT/obj/Release/NJCIT.pdb b/NJCIT/obj/Release/NJCIT.pdb
new file mode 100644
index 0000000..c3c1b59
Binary files /dev/null and b/NJCIT/obj/Release/NJCIT.pdb differ
diff --git a/NJCIT/obj/Release/TempPE/Properties.Resources.Designer.cs.dll b/NJCIT/obj/Release/TempPE/Properties.Resources.Designer.cs.dll
new file mode 100644
index 0000000..33d48d4
Binary files /dev/null and b/NJCIT/obj/Release/TempPE/Properties.Resources.Designer.cs.dll differ
diff --git a/NJCIT/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/NJCIT/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
new file mode 100644
index 0000000..e69de29
diff --git a/NJCIT/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/NJCIT/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
new file mode 100644
index 0000000..e69de29
diff --git a/NJCIT/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/NJCIT/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
new file mode 100644
index 0000000..e69de29
diff --git a/NJCIT/preferences_system_login_32px_572066_easyicon.net.ico b/NJCIT/preferences_system_login_32px_572066_easyicon.net.ico
new file mode 100644
index 0000000..a0cdc73
Binary files /dev/null and b/NJCIT/preferences_system_login_32px_572066_easyicon.net.ico differ