C# 有关程序调用

rufus_lee 2009-09-15 02:58:13
现有2个程序 A和B,程序B必须通过程序A去调用才能运行,而程序B不能直接双击去单独运行~~~~~这样子的话,程序B里面应该怎样写代码,才能做到这个效果啊????各位高手!!!
...全文
72 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
EthanJiang0827 2009-09-16
  • 打赏
  • 举报
回复
如果A,B两个程序都是你自己写的话可以用参数啊。
B程序Program.cs写成这样:
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (args.Length <= 0)
{
Application.Exit();
}
if (args.Length == 1)
{
if (args[0] == "B")
{
Application.Run(new Form1());
}
else
{
Application.Exit();
}
}
}
}

A的form中放一个输入框输入参数(当然你可以用配置文件),放一个按钮启动B
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

public bool StartProcess(string filename, string[] args)
{
try
{
string s = "";
foreach (string arg in args)
{
s = s + arg + " ";
}
s = s.Trim();
Process myprocess = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo(filename, s);
myprocess.StartInfo = startInfo;
myprocess.StartInfo.UseShellExecute = false;
myprocess.Start();
return true;
}
catch (Exception ex)
{
MessageBox.Show("启动应用程序时出错!原因:" + ex.Message);
}
return false;
}


private void button1_Click(object sender, EventArgs e)
{
string[] arg = new string[1];
arg[0] = textBox1.Text.Trim();
StartProcess(@"F:\test\B\B\bin\Debug\B.exe", arg);
}
}
rufus_lee 2009-09-16
  • 打赏
  • 举报
回复
up
rufus_lee 2009-09-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 herichcq 的回复:]
用委托。
[/Quote]


兄弟,可以具体些吗???你有例子吗??
rufus_lee 2009-09-15
  • 打赏
  • 举报
回复
是两个不同的程序,那程序之间怎样可以做到传参数呢??
EthanJiang0827 2009-09-15
  • 打赏
  • 举报
回复
启动程序带参数运行,不知道行不行的通。
herichcq 2009-09-15
  • 打赏
  • 举报
回复
用委托。
yangkaijunykj 2009-09-15
  • 打赏
  • 举报
回复
顶下
我 也想知道怎么做
rufus_lee 2009-09-15
  • 打赏
  • 举报
回复
是做成了exe
brookmill 2009-09-15
  • 打赏
  • 举报
回复
把B做成DLL?
kennie_190602169 2009-09-15
  • 打赏
  • 举报
回复
ding

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧