Как я могу показать визуальный процесс студии, созданный с помощью EnvDTE

У меня есть приложение, которое может помочь исследовать, создавать и открывать проекты визуальных студий. Я создаю визуальный студийный процесс, используя метод Activator следующим образом:

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 (идентификатор процесса 22196), который в настоящее время не отображается в списке процессов.

Хорошо

Есть ли способ использовать этот метод, но сделать процесс видимым? Это делает работу с порожденной визуальной студией немного сложнее, чем если бы вы открывали ее вручную.

0 ответов

Попробуйте File > Show Details for All Processes

Другие вопросы по тегам