0
この記事で質問されたような質問をwin10でC#SendInput to minimized window while you're working on other windowsとしています。'GetProcessIdOfThread'は常にゼロを返します
私が行うための最善の答えに続き、私は「GetProcessIdOfThreadは」いつもここで0
を返すようには動作しませんでした見つけるには、コードです:
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;
}
}
は、私は何を誤解していましたか? ありがとうございました!
この関数が成功すると、戻り値は指定されたスレッドに関連付けられたプロセスのプロセス識別子になります。関数が失敗した場合、戻り値はゼロです。拡張エラー情報を取得するには、 'GetLastError'を呼び出します。 – Marusyk
しかし、 'GetLastError'を直接呼び出さないでください - [' Marshal.GetLastWin32Error'](https://msdn.microsoft.com/en-us/library/system.runtime.interopservices.marshal.getlastwin32error(v = 100).aspxを参照してください)。 –