Я использую приведенный ниже код для запуска IIS в Windows Form.

if (hWndDocked != IntPtr.Zero) //don't do anything if there's already a window docked.
    return;

hWndParent = IntPtr.Zero;

pDocked = Process.Start(@"C:\Windows\System32\inetsrv\inetmgr");
while (hWndDocked == IntPtr.Zero)
{
    pDocked.WaitForInputIdle(1000); //wait for the window to be ready for input;
    pDocked.Refresh();              //update process info
    if (pDocked.HasExited)
    {
        return; //abort if the process finished before we got a handle.
    }
    hWndDocked = pDocked.MainWindowHandle;  //cache the window handle
}
//Windows API call to change the parent of the target window.
//It returns the hWnd of the window's parent prior to this call.
hWndOriginalParent = SetParent(hWndDocked, panel1.Handle);

//Wire up the event to keep the window sized to match the control
panel1.SizeChanged += new EventHandler(Panel1_Resize);
//Perform an initial call to set the size.
Panel1_Resize(new Object(), new EventArgs());

Но я получаю сообщение об ошибке:

система не может найти файл

Но то же самое и с блокнотом.

0
user1104946 24 Июн 2016 в 17:01
Хорошо, а существует ли "C:\Windows\System32\inetsrv\inetmgr" на самом деле?
 – 
bkribbs
24 Июн 2016 в 17:04
Да. Он действительно существует.
 – 
user1104946
24 Июн 2016 в 17:06
Возможно ли, что у программы нет разрешений?
 – 
bkribbs
24 Июн 2016 в 17:08

1 ответ

Лучший ответ

У меня была такая же проблема, и я нашел только один способ:

Process.Start(Environment.SystemDirectory + "\\inetsrv\\iis.msc");

Я надеюсь, что это помогает!

2
Brugner 2 Фев 2017 в 17:29