我编写了一个Winforms应用程序,它将以两种方式运行:
如果没有提供命令行参数,将显示应用程序的主要表单,用户可以与应用程序进行交互。
如果提供了命令行参数,则不显示主窗体,应用程序将执行命令行参数定义的操作,然后关闭。
如果应用程序是从Visual Studio IDE运行并且在Properties \ Debug页面中指定了命令行arugment,我还想在MessageBox中向用户显示命令行参数。
答案 0 :(得分:3)
答案 1 :(得分:2)
如果您需要确定给定流程的“父流程”,这里有一个关于SO的链接:How to get parent process in .NET in managed way
话虽这么说,我要做的是将你的程序分成两部分:一个类库(一个DLL,它将包含你的程序所做的所有真正的东西)和一个引用这个类库的EXE。这样你就可以创建一个第三个项目作为VS Addin,它也会引用这个类库,但是会隐含地意识到它是从VS运行的。