日期:2014-05-20  浏览次数:20872 次

再送五十分,求同一机子不重复登录方法WINFROM
除了改数据库字段外还有什么方法。尽量在程序中来实现。
注意是WINFORM。谢谢。

------解决方案--------------------
登录后在数据库里记一笔,
退出时注销



------解决方案--------------------
写一个状态服务,让程序每次登陆的时候,都注册到状态服务上,保持常连接。这样就算是异常断线这些情况也能处理
------解决方案--------------------
注册表记录
------解决方案--------------------
让程序只打开一次:
[STAThread]
static void Main()
{
System.Threading.Mutex mutex = new System.Threading.Mutex(false, "YouAppName ");
bool Running = !mutex.WaitOne(0, false);
if (!Running)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
else
{
MessageBox.Show( "应用程序已经启动,请检查窗口是否最小化! ", "***** ", MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
}
------解决方案--------------------
登录后在数据库里记一笔,
退出时注销

这个办法应该可以的………………
------解决方案--------------------


大家抛玉我来放砖:

这个方法即是取得当前程序的运行数~~~
大于1就退出,否则就运行~简单吧.

[STAThread]
static void Main()
{
Process currentPro = Process.GetCurrentProcess();
string pron = currentPro.ProcessName;
Process[] myProcesses = Process.GetProcessesByName(pron);
if (myProcesses.Length > 1)
{
//可以自定义提示对话框
Application.Exit();
}
else {
(new TongLi()).Show();
Application.Run();
}

}