Ich versuche, etwas wie die Frage in diesem Beitrag in win10 mit C# SendInput to minimized window while you're working on other windows.'GetProcessIdOfThread' immer Null zurück
Ich folgte die beste Antwort zu tun, und ich finde es nicht als „GetProcessIdOfThread“ Rückkehr immer 0.
Hier ist der Code nicht funktioniert:
public MainWindow()
{
InitializeComponent();
IntPtr NotepadHandle = FindWindow("Notepad", "Untitled - Notepad");
if (NotepadHandle == IntPtr.Zero)
{
MessageBox.Show("Notepad is not running.");
return;
}
uint noteid = GetProcessIdOfThread(NotepadHandle);
uint selfid = GetCurrentThreadId();
bool attach = AttachThreadInput(selfid, noteid, true);
if (attach == false)
{
MessageBox.Show("attach fail");
return;
}
}
Habe ich falsch verstanden etwas? Vielen Dank!
Wenn die Funktion erfolgreich ist, ist der Rückgabewert die Prozess-ID des Prozesses, der dem angegebenen Thread zugeordnet ist. Wenn die Funktion fehlschlägt, ist der Rückgabewert Null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie 'GetLastError' auf. – Marusyk
Aber rufen Sie 'GetLastError' nicht direkt auf - verwenden Sie [' Marshal.GetLastWin32Error'] (https://msdn.microsoft.com/en-us/library/system.runtime.interopservices.marshal.getlastwin32error (v = vs. 100) .aspx) und lies die Dokumentation dort für andere Anforderungen. –