Koneksi Utas ke Desktop

Setelah proses tersambung ke stasiun jendela, sistem menetapkan desktop ke utas yang membuat koneksi. Sistem menentukan desktop untuk ditetapkan ke utas sesuai dengan aturan berikut:

  1. Jika utas telah memanggil fungsi SetThreadDesktop , utas akan tersambung ke desktop yang ditentukan.
  2. Jika utas tidak memanggil SetThreadDesktop, utas akan tersambung ke desktop yang diwarisi dari proses induk.
  3. Jika utas tidak memanggil SetThreadDesktop dan tidak mewarisi desktop, sistem mencoba membuka untuk akses MAXIMUM_ALLOWED dan menyambungkan ke desktop sebagai berikut:
    • Jika nama desktop ditentukan dalam anggota lpDesktop dari struktur STARTUPINFO yang digunakan saat proses dibuat, utas akan tersambung ke desktop yang ditentukan.
    • Jika tidak, utas tersambung ke desktop default stasiun jendela tempat proses tersambung.

Desktop yang ditetapkan selama proses koneksi ini tidak dapat ditutup dengan memanggil fungsi CloseDesktop .

Saat proses tersambung ke desktop, sistem mencari tabel handel proses untuk handel yang diwariskan. Sistem menggunakan handel desktop pertama yang ditemukannya. Jika Anda ingin proses anak tersambung ke desktop tertentu yang diwariskan, Anda harus memastikan bahwa satu-satunya handel yang diinginkan ditandai dapat diwariskan. Jika proses anak mewarisi beberapa handel desktop, hasil koneksi desktop tidak terdefinisi.

Menangani ke desktop yang dibuka sistem saat menyambungkan proses ke desktop tidak dapat diwariskan.

Memproses Koneksi ke Stasiun Jendela