2015-05-19 2 views
1

Я пишу приложение, чтобы изменить положение окна на screan в C# с помощью setwindowpos, но когда я хочу получить дескриптор главного окна из класса Process, используя MainWindowHandle, все время я получаю нуль. Что я делаю неправильно.Неверный дескриптор окна

public void run() 
{ 

    string patch = "1.pdf"; 
    Process p = new Process(); 
    ProcessStartInfo pi = new ProcessStartInfo(); 
    pi.UseShellExecute = true; 
    pi.FileName = @patch; 
    p.StartInfo = pi; 
    p.Start(); 
    Thread.Sleep(1000); 
    p.Refresh(); 
    IntPtr id = p.MainWindowHandle; 
    Console.Write(id); 
    Load.SetWindowPos(id, (IntPtr)HWND_TOP, 0, 0, 0, 0, 0x0040); 

} 

ответ

-1

Here - хороший пример, который поможет вам. Также помните, что окна hese упорядочены в соответствии с их внешним видом на экране. Самое верхнее окно получает наивысший ранг и является первым окном в порядке Z.