就是我用A软件调用B软件,每次打开A软件,B软件都会后台打开,这个怎么做到,我的要求就是B软件在后台打开,不要显示窗口,除非用户在托盘打开这个软件
请大神写个简单的例子,新手,还不怎么会
就是我用A软件调用B软件,每次打开A软件,B软件都会后台打开,这个怎么做到,我的要求就是B软件在后台打开,不要显示窗口,除非用户在托盘打开这个软件
请大神写个简单的例子,新手,还不怎么会
在b程序中加个启动参数,b的main函数中判断这个参数,有就显示界面,没有不显示界面就行了。
Application.Run()就是不显示界面了。
大致代码如下:
b
static class Program
{
static Form1 mainForm;
[STAThread]
static void Main(string[] paras)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
System.Windows.Forms.NotifyIcon nIcon = new NotifyIcon();
nIcon.Icon = xxx;
nIcon.Click += nIcon_Click;
bool bNoForm = false;
if (paras != null && paras.Length > 0)
{
foreach (string s in paras)
{
if (s.ToLower() == "/q")
{
bNoForm = true;
}
}
}
nIcon.Visible = true;
if (!bNoForm)
{
mainForm = new Form1();
mainForm.Show();
}
Application.Run();
}
static void nIcon_Click(object sender, EventArgs e)
{
if (mainForm == null || mainForm.IsDisposed)
{
mainForm = new Form1();
}
mainForm.Show();
}
}
a程序中调用:
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "b.exe";
p.StartInfo.Arguments = "/q";
p.Start();