Nie mogę rozwiązać tego problemu. pojawia się błąd:Uchwyt okna powrotu według nazwy/tytułu
The name 'hWnd' does not exist in the current context
Brzmi to bardzo proste i zapewne ... przepraszam za pytanie tak oczywistych pytań.
Oto mój kod:
public static IntPtr WinGetHandle(string wName)
{
foreach (Process pList in Process.GetProcesses())
{
if (pList.MainWindowTitle.Contains(wName))
{
IntPtr hWnd = pList.MainWindowHandle;
}
}
return hWnd;
}
Próbowałem wiele różnych sposobów, a każdy kończy się niepowodzeniem. Z góry dzięki.
Próbowałem deklarowania przed ** ** foreach i otrzymałem 'Use of nieprzypisana zmienna lokalna 'hWnd'' w' return hWnd' line, dlatego spytałem tutaj. – VixinG
Następnie powinieneś zainicjować go na 'IntPtr.Zero' (zobacz moją edycję). Dzieje się tak dlatego, że tytuł okna nie jest dopasowywany - więc nigdy nie ustawiasz zmiennej, która wskazuje obszar pamięci o niezdefiniowanej zawartości. – Basic
Rozumiem, powinno to być 'IntPtr hwnd = IntPtr.Zero;' :) – VixinG