C#:向exe传值
一、需求:在不同的exe程序中,提示消息框样式一致,内容不同。
二、实现:
1、提示消息框program.cs
static class Program { /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); frmMsgBox frmMB = new frmMsgBox(); try { switch (args.Count()) { case 3: frmMB.time = Convert.ToInt32(args[2]); frmMB.SaveName = args[1]; frmMB.Type = args[0]; break; case 2: frmMB.SaveName = args[1]; frmMB.Type = args[0]; break; case 1: frmMB.Type = args[0]; break; case 0: break; default: frmMB.content = args[3]; frmMB.time = Convert.ToInt32(args[2]); frmMB.SaveName = args[1]; frmMB.Type = args[0]; break; } } catch(Exception ex) { frmMB.Type = string.Empty; frmMB.SaveName = string.Empty; frmMB.time = 2000; } Application.Run(frmMB); } }
2、不同的exe程序中调用提示消息框exe,并向其传参
private void ShowSaveSuccess(string type, string saveName,int sstime = 2000 ,string info ="" ) { string prms = type + " " + saveName + " " + sstime + " " + info; string msgboxPath = Path.Combine(GlobalInfos.ExePath, "MsgBox.exe"); if (File.Exists(msgboxPath)) { System.Diagnostics.Process.Start(msgboxPath, prms); } }