Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何显示使用EnvDTE创建的visual studio进程_C#_Visual Studio_Process Explorer - Fatal编程技术网

C# 如何显示使用EnvDTE创建的visual studio进程

C# 如何显示使用EnvDTE创建的visual studio进程,c#,visual-studio,process-explorer,C#,Visual Studio,Process Explorer,我有一个应用程序,可以帮助探索、生成和打开VisualStudio项目。我使用Activator方法创建visual studio进程,如下所示: 使用系统; 使用System.Windows.Forms; 使用EnvDTE80; 使用System.Runtime.InteropServices; 命名空间TestWindowsApp { 静态类程序 { [DllImport(“user32.dll”)] 私有静态外部bool setforegroundindow(IntPtr hWnd); /

我有一个应用程序,可以帮助探索、生成和打开VisualStudio项目。我使用Activator方法创建visual studio进程,如下所示:

使用系统;
使用System.Windows.Forms;
使用EnvDTE80;
使用System.Runtime.InteropServices;
命名空间TestWindowsApp
{
静态类程序
{
[DllImport(“user32.dll”)]
私有静态外部bool setforegroundindow(IntPtr hWnd);
/// 
///应用程序的主要入口点。
/// 
[状态线程]
静态void Main()
{
Type Type=Type.GetTypeFromProgID(“VisualStudio.DTE.14.0”);
DTE2 dte=(DTE2)Activator.CreateInstance(类型,true);
dte.MainWindow.Visible=true;
dte.UserControl=true;
SetForegroundWindow((IntPtr)dte.MainWindow.HWnd);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(新Form1());
}
}
}
它工作得很好,但它创建的过程是隐藏的。如果使用Process Explorer的“查找窗口的进程”功能,则会出现以下错误:


Process Explorer错误 拥有的进程是devenv.exe(进程ID 22196),它当前在进程列表中不可见。 好啊
是否有任何方法可以使用此方法,但要使流程可见?与手动打开生成的visual studio相比,使用生成的visual studio要困难一些。

Try File>显示所有进程的详细信息

Try File>显示所有进程的详细信息