110,536
社区成员
发帖
与我相关
我的任务
分享
try
{
MessageBox.Show(args[0].ToString());//先显示下就能出来界面了
晕了。。。 saright.Name=args[1].ToString();
saright.Number=args[2].ToString();
saright.Level=Convert.ToInt16(args[3].ToString());
// MessageBox.Show("成功启动。"); 没有这个下面的Run函数之后 程序界面显示不出来 很奇怪。
//Application.Run(new MainFrm());
MainFrm myMainFrm = new MainFrm();
myMainFrm.ShowDialog();
}
try
{
//MessageBox.Show(args[0].ToString());
saright.Name=args[1].ToString();
saright.Number=args[2].ToString();
saright.Level=Convert.ToInt16(args[3].ToString());
// MessageBox.Show("成功启动。"); 没有这个下面的Run函数之后 程序界面显示不出来 很奇怪。
//Application.Run(new MainFrm());
MainFrm myMainFrm = new MainFrm();
myMainFrm.ShowDialog();
}
static void Main(string[] args)
{
Process instance = RunningInstance();
if (instance==null)
{
if(args.Length==0)
{
MessageBox.Show("直接启动禁止。","Message",MessageBoxButtons.OK,MessageBoxIcon.Warning);
Application.Exit();
}
else
{
if(args[0].ToString()!="Computer")
{
MessageBox.Show("验证错误。","Message",MessageBoxButtons.OK,MessageBoxIcon.Warning);
Application.Exit();
}
else
{
MainSetting.NetUse();
try
{
//MessageBox.Show(args[0].ToString());
saright.Name=args[1].ToString();
saright.Number=args[2].ToString();
saright.Level=Convert.ToInt16(args[3].ToString());
// MessageBox.Show("成功启动。"); 没有这个下面的Run函数之后 程序界面显示不出来 很奇怪。
Application.Run(new MainFrm());
}
catch(Exception ex)
{
MessageBox.Show(ex.Message,"ERROR",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
}
}
else
{
MessageBox.Show("多次启动。","Message",MessageBoxButtons.OK,MessageBoxIcon.Warning);
Application.Exit();
}
}
public static Process RunningInstance()
{
Process current = Process.GetCurrentProcess();
Process[] processes = Process.GetProcessesByName(current.ProcessName);
foreach (Process process in processes)
{
if (process.Id != current.Id)
{
if (Assembly.GetExecutingAssembly().Location.Replace("/","\\")==current.MainModule.FileName)
{
return process;
}
}
}
return null;
}