Bagikan melalui


Fungsi AttachThreadInput (winuser.h)

Melampirkan atau melepaskan mekanisme pemrosesan input dari satu utas ke utas lain.

Sintaks

BOOL AttachThreadInput(
  [in] DWORD idAttach,
  [in] DWORD idAttachTo,
  [in] BOOL  fAttach
);

Parameter

[in] idAttach

Pengidentifikasi utas yang akan dilampirkan ke utas lain. Utas yang akan dilampirkan tidak boleh berupa utas sistem.

[in] idAttachTo

Pengidentifikasi utas tempat idAttach akan dilampirkan. Utas ini tidak boleh berupa utas sistem.

Utas tidak dapat dilampirkan ke dirinya sendiri. Oleh karena itu, idAttachTo tidak dapat sama dengan idAttach.

[in] fAttach

Jika parameter ini TRUE, dua utas akan dilampirkan. Jika parameternya FALSE, utas akan dilepaskan.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Windows Server 2003 dan Windows XP: Tidak ada informasi kesalahan yang diperluas; jangan panggil GetLastError. Perilaku ini berubah pada Windows Vista.

Keterangan

Dengan menggunakan fungsi AttachThreadInput , utas dapat berbagi status inputnya (seperti status keyboard dan jendela fokus saat ini) dengan utas lain. Peristiwa keyboard dan mouse yang diterima oleh kedua utas diproses dalam urutan yang diterima hingga utas terlepas dengan memanggil AttachThreadInput untuk kedua kalinya dan menentukan FALSE untuk parameter fAttach .

Fungsi AttachThreadInput gagal jika salah satu utas yang ditentukan tidak memiliki antrean pesan. Sistem membuat antrean pesan utas ketika utas melakukan panggilan pertamanya ke salah satu fungsi USER atau GDI. Fungsi AttachThreadInput juga gagal jika kait rekaman jurnal diinstal. Journal kait rekaman melampirkan semua antrean input bersama-sama.

Perhatikan bahwa status kunci, yang dapat dipastikan oleh panggilan ke fungsi GetKeyState atau GetKeyboardState , diatur ulang setelah panggilan ke AttachThreadInput. Anda tidak dapat melampirkan utas ke utas di desktop lain.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header winuser.h (sertakan Windows.h)
Pustaka User32.lib
DLL User32.dll
Set API ext-ms-win-ntuser-misc-l1-2-0 (diperkenalkan dalam Windows 8.1)

Lihat juga

GetCurrentThreadId

GetKeyState

GetKeyboardState

GetWindowThreadProcessId

Fungsi Proses dan Utas

SetFocus

Threads