Windows API で AttachThreadInput の使い方
AttachThreadInput 関数は、あるスレッドの入力処理を別のスレッドの入力処理に関連付けるので、2 つのスレッドは同じキーボードおよびマウス入力を共有することができます。
関数のプロトタイプは次のとおりです。 BOOL AttachThreadInput(DWORD idAttach, DWORD idAttachTo, BOOL fAttach);
パラメータの説明
- 関連付けるスレッド ID。
- 関連付けるスレッドID
- アタッチ:関連フラグ。TRUE の場合、2つのスレッドの入力を関連付けて、FALSE の場合、関連付けを解除します。
使用する例:
#include <Windows.h>
int main()
{
DWORD threadId1 = 1234; // 第一个线程标识符
DWORD threadId2 = 5678; // 第二个线程标识符
BOOL result = AttachThreadInput(threadId1, threadId2, TRUE);
if (result)
{
// 关联成功,可以共享输入了
}
else
{
// 关联失败
}
return 0;
}
AttachThreadInput関数は同じデスクトップ上にあるスレッド間でしか関連付けられない点に注意し、関連付けが成功するためには十分な権限が必要になります。