【问题标题】:How can I show visual studio process created using EnvDTE如何显示使用 EnvDTE 创建的 Visual Studio 流程
【发布时间】:2017-06-03 09:52:32
【问题描述】:

我有一个可以帮助探索、生成和打开 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),目前在进程列表中不可见。

好的

有没有什么方法可以使用这个方法,但要让进程可见?与手动打开相比,使用生成的 Visual Studio 会更加困难。

【问题讨论】:

    标签: c# visual-studio process-explorer


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2010-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多