1

我有一个可以帮助探索、生成和打开 Visual Studio 项目的应用程序。我正在使用 Activator 方法创建 Visual Studio 流程,如下所示:

using System;
using System.Windows.Forms;
using EnvDTE80;
using System.Runtime.InteropServices;

namespace TestWindowsApp
{
    static class Program
    {
        [DllImport("user32.dll")]
        private static extern bool SetForegroundWindow(IntPtr hWnd);

        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Type type = Type.GetTypeFromProgID("VisualStudio.DTE.14.0");
            DTE2 dte = (DTE2)Activator.CreateInstance(type, true);

            dte.MainWindow.Visible = true;
            dte.UserControl = true;
            SetForegroundWindow((IntPtr)dte.MainWindow.HWnd);

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}

它工作得很好,除了它创建的过程是隐藏的。如果我使用 Process Explorer 的“查找窗口的进程”功能,我会收到错误消息:


进程资源管理器错误

拥有进程是 devenv.exe(进程 ID 22196),当前在进程列表中不可见。

好的

有没有办法使用这种方法,但使过程可见?与手动打开它相比,它使使用生成的视觉工作室更加困难。

4

1 回答 1

0

尝试文件 > 显示所有进程的详细信息

于 2020-08-10T10:15:52.547 回答