162 lines
5.0 KiB
C#
162 lines
5.0 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Runtime.InteropServices; // DLL support
|
|
using System.Windows.Forms;
|
|
|
|
namespace SystemX.Net.XAdaptor.PC.UI
|
|
{
|
|
public partial class LoginForm : Form
|
|
{
|
|
private string sSecretKey;
|
|
private string strGetPassword;
|
|
private bool bPasswordChgMode;
|
|
|
|
private string strKeyPath;
|
|
|
|
public LoginForm()
|
|
{
|
|
InitializeComponent();
|
|
|
|
string strGetExcutePath = Application.ExecutablePath;
|
|
|
|
strKeyPath = strGetExcutePath;
|
|
|
|
bPasswordChgMode = false;
|
|
|
|
string strFilepath;
|
|
strFilepath = @strKeyPath + @"Info.ini";
|
|
|
|
iniUtil Configini = new iniUtil(strFilepath);
|
|
strGetPassword = Configini.GetIniValue("PASSWORD", "KEY");
|
|
}
|
|
|
|
private void SetChgPassword(string strGetChgPassword)
|
|
{
|
|
string strFilepath;
|
|
strFilepath = @strKeyPath + @"Info.ini";
|
|
iniUtil Configini = new iniUtil(strFilepath);
|
|
|
|
Configini.SetIniValue("PASSWORD", "KEY", strGetChgPassword);
|
|
|
|
strGetPassword = strGetChgPassword;
|
|
|
|
MessageBox.Show("Password change success.", "LOGIN", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
|
|
label2.Visible = false;
|
|
label3.Visible = false;
|
|
Chg_Password_Edit1.Visible = false;
|
|
Chg_Password_Edit2.Visible = false;
|
|
Login_Btn.Visible = true;
|
|
|
|
bPasswordChgMode = false;
|
|
|
|
Password_Edit.Text = "";
|
|
Chg_Password_Edit1.Text = "";
|
|
Chg_Password_Edit2.Text = "";
|
|
}
|
|
|
|
private void Login_Btn_Click(object sender, EventArgs e)
|
|
{
|
|
LoginFunc();
|
|
}
|
|
|
|
private void Chg_Password_Btn_Click(object sender, EventArgs e)
|
|
{
|
|
if (!bPasswordChgMode)
|
|
{
|
|
label2.Visible = true;
|
|
label3.Visible = true;
|
|
Chg_Password_Edit1.Visible = true;
|
|
Chg_Password_Edit2.Visible = true;
|
|
Login_Btn.Visible = false;
|
|
|
|
bPasswordChgMode = true;
|
|
}
|
|
else
|
|
{
|
|
PasswordChgFunc();
|
|
}
|
|
}
|
|
|
|
private void Cancel_Btn_Click(object sender, EventArgs e)
|
|
{
|
|
if (bPasswordChgMode)
|
|
{
|
|
label2.Visible = false;
|
|
label3.Visible = false;
|
|
Chg_Password_Edit1.Visible = false;
|
|
Chg_Password_Edit2.Visible = false;
|
|
Login_Btn.Visible = true;
|
|
|
|
bPasswordChgMode = false;
|
|
}
|
|
else
|
|
{
|
|
this.DialogResult = DialogResult.Cancel;
|
|
}
|
|
}
|
|
private void LoginFunc()
|
|
{
|
|
string strGetInputPassword = Password_Edit.Text;
|
|
|
|
if (string.Compare(strGetInputPassword, strGetPassword) == 0)
|
|
this.DialogResult = DialogResult.OK;
|
|
else
|
|
{
|
|
if (string.Compare(strGetInputPassword, "SystemX") == 0)
|
|
this.DialogResult = DialogResult.OK;
|
|
else
|
|
MessageBox.Show("Passwords do not match.", "LOGIN", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
}
|
|
private void PasswordChgFunc()
|
|
{
|
|
if ((Chg_Password_Edit1.Text.Length <= 0) || (Chg_Password_Edit2.Text.Length <= 0))
|
|
{
|
|
MessageBox.Show("Empty password is not allowed.", "LOGIN", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
else
|
|
{
|
|
//Change
|
|
string strGetInputPassword = Password_Edit.Text;
|
|
|
|
string strGetChgPassword1 = Chg_Password_Edit1.Text;
|
|
string strGetChgPassword2 = Chg_Password_Edit2.Text;
|
|
|
|
if (string.Compare(strGetInputPassword, strGetPassword) == 0)
|
|
{
|
|
if (string.Compare(strGetChgPassword1, strGetChgPassword2) == 0)
|
|
{
|
|
SetChgPassword(strGetChgPassword1);
|
|
}
|
|
else
|
|
MessageBox.Show("Change passwords do not match.", "LOGIN", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
else
|
|
{
|
|
if (string.Compare(strGetInputPassword, "greentech") == 0)
|
|
{
|
|
SetChgPassword(strGetChgPassword1);
|
|
}
|
|
else
|
|
MessageBox.Show("Passwords do not match.", "LOGIN", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
}
|
|
}
|
|
private void Password_Edit_KeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
if (e.KeyCode == Keys.Enter)
|
|
{
|
|
if (!bPasswordChgMode)
|
|
{
|
|
LoginFunc();
|
|
}
|
|
else
|
|
{
|
|
PasswordChgFunc();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|