2015-03-28 4 views
-1

там я пытаюсь открыть wfapp из другого и когда я запустил код: в System.dll появилось необработанное исключение типа «System.ComponentModel.Win32Exception». Есть код:C# открыть приложение с окном другое

private void button2_Click(object sender, EventArgs e) 
    { 

     Panel panel1 = new Panel(); 


     Process p = Process.Start("ap.exe"); 
     //Thread.Sleep(500); // Allow the process to open it's window 
     SetParent(p.MainWindowHandle, panel1.Handle); 
    } 

    [DllImport("user32.dll")] 
    static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent); 
+0

Почему вы пытаетесь «SetParent»? –

ответ

0

Ответ от индийского программиста правильный.

Ваш путь должен быть что-то вроде:

"C:\Users\YourUser\Documents\Visual Studio 2013\Projects\Yourapp\Yourapp\bin\debug\ap.exe"

Предполагая, что вы используете VS 2013 и отладку.

Если вы используете только «ap.exe», то он должен присутствовать в папке отладки или он не найдет его.

+0

Большое спасибо, я переместил exe в папку проекта, и он работает –

1

Причина, по которой вы получаете эту ошибку, состоит в том, что ваш код не может найти ap.exe, пожалуйста, укажите правильный путь.

Я смог воспроизвести ту же ошибку, когда имя файла, присвоенное Process, не найдено.

Смежные вопросы