转载:http://www.cnblogs.com/wuhuacong/archive/2012/08/21/2648339.html
系统自动登录有时候很必要,在用户自己绝对信任的电脑上,自动登录对用户来说,很方便友好的,君不见,QQ如此、旺旺如此等等。其实实现思路就是通过给exe执行文件传递登录参数即可,必要时登录的参数值还可以进行加密,给第三方进行运行调用,以前就做过一个在Web上自动启动桌面程序Visio应用软件的操作,其实原理就是一样,通过传递参数给执行文件实现的。
[STAThread] static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); if (args.Length > 0) { LoginByArgs(args); } else { LoginNormal(args); } }
/// <summary> /// 使用参数化登录 /// </summary> /// <param name="args"></param> private static void LoginByArgs(string[] args) { CommandArgs commandArgs = CommandLine.Parse(args); if (commandArgs.ArgPairs.Count > 0) { #region 获取用户参数 string userName = string.Empty; string identity = string.Empty; foreach (KeyValuePair<string, string> pair in commandArgs.ArgPairs) { if ("U".Equals(pair.Key, StringComparison.OrdinalIgnoreCase)) { userName = pair.Value; } if ("P".Equals(pair.Key, StringComparison.OrdinalIgnoreCase)) { identity = pair.Value; } } #endregion if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(identity)) { bool bLogin = Portal.gc.LoginByIdentity(userName.Trim(), identity); if (bLogin) { ShowMainDialog(); } else { LoginNormal(args); } } } }
有时候,即使觉得用户不需要通过命令行登录,那么我们自己为了避免开发过程中,启动程序时候,总是需要输入用户账号密码的问题,也可以使用模拟自动登录的方式解决。
我们只需要在项目的属性里面输入内置的用户名密码,这样我们测试起来就不用登录那么麻烦了。
以上就是Winform开发框架中对于系统重新登录以及系统自动登录(命令行登录)的思想思路及方式,欢迎大家提供更好的思路及技巧,或者进行探讨,谢谢支持。