Cara Mendapatkan Pegangan Ke Jendela

Daftar Isi:

Cara Mendapatkan Pegangan Ke Jendela
Cara Mendapatkan Pegangan Ke Jendela

Video: Cara Mendapatkan Pegangan Ke Jendela

Video: Cara Mendapatkan Pegangan Ke Jendela
Video: Cara Mendapatkan KHODAM PENDAMPING 2024, Mungkin
Anonim

Konsep antarmuka pengguna di Windows didasarkan pada konsep jendela. Dialog, tombol, panel kontrol, daftar semuanya adalah jendela. Oleh karena itu, untuk melakukan tindakan apa pun dengan elemen antarmuka aplikasi Anda sendiri atau orang lain, Anda perlu mendapatkan pegangan jendela.

Cara mendapatkan pegangan ke jendela
Cara mendapatkan pegangan ke jendela

Diperlukan

  • - Paket Platform SDK;
  • - penyusun.

instruksi

Langkah 1

Dapatkan pegangan ke jendela dengan membuatnya. Lakukan panggilan ke fungsi CreateWindow atau CreateWindowEx API, atau panggil metode pembungkus yang sesuai (pada objek yang diperlukan) dari kelas kerangka kerja atau pustaka yang digunakan yang merangkum fungsionalitas bekerja dengan jendela atau kontrol. Fungsi CreateWindow dan CreateWindowEx secara langsung mengembalikan pegangan jendela pada pembuatan yang berhasil. Jika dipanggil tidak berhasil, mereka mengembalikan NULL. Kode alasan kesalahan dapat diminta menggunakan fungsi GetLastError API. Prototipe dan deskripsi detail parameter fungsi CreateWindow dan CreateWindowEx dapat diperoleh dari tautan https://msdn.microsoft.com/en-us/library/windows/desktop/ms632679%28v=vs.85%29.aspx dan https:// msdn.microsoft.com / en-us / library / windows / desktop / ms632680% 28v = vs.85% 29.aspx Saat menggunakan kelas kerangka kerja yang berbeda, pembuatan objek jendela sistem operasi dapat terjadi baik secara eksplisit (dengan memanggil metode) atau secara implisit (implementasi strategi RAII). Oleh karena itu, lebih baik untuk mendapatkan pegangan jendela pada objek inisialisasi yang sudah jadi. Anda dapat mempelajari tentang metode kelas yang mengembalikan pegangan jendela yang dienkapsulasi oleh objek dalam dokumentasi kerangka kerja yang sesuai. Misalnya, di MFC, metode serupa adalah GetSafeHwnd dari kelas CWnd.

Langkah 2

Dapatkan pegangan ke jendela dengan mencarinya. Gunakan fungsi API FindWindow dan FindWindowEx atau pembungkus objek kelas yang sesuai untuk kerangka kerja yang Anda gunakan. FindWindow mengembalikan pegangan ke jendela tingkat atas jika ditemukan, atau NULL jika gagal. Pencarian dilakukan berdasarkan nama kelas dan judul jendela. Deskripsi parameter dan aspek fungsi dapat ditemukan di tautan https://msdn.microsoft.com/en-us/library/windows/desktop/ms633499%28v=vs.85%29.aspx. fungsi FindWindowEx mirip dengan FindWindow dengan satu-satunya perbedaan adalah mencari jendela anak. Dokumentasi untuk FindWindowEx tersedia di

Langkah 3

Temukan pegangan ke jendela saat mendaftar set mereka. Gunakan fungsi API EnumWindows, EnumChildWindows, EnumThreadWindows, atau metode objek kelas dari kerangka kerja yang Anda gunakan. Fungsi EnumWindows dan EnumChildWindows masing-masing menghitung jendela tingkat atas dan jendela anak. Fungsi EnumThreadWindows menghitung semua jendela non-anak dari utas yang ditentukan. Masing-masing fungsi ini harus melewati pointer ke prosedur panggilan balik, yang akan melewati pegangan jendela yang ditemukan sebagai parameter selama operasi. Dengan menggabungkan fungsi enumerasi, mendapatkan dan menganalisis properti jendela dalam prosedur panggilan balik, Anda dapat menemukan pegangan dari jendela yang diperlukan. Dokumentasi untuk fungsi yang dijelaskan diberikan di tautan: - EnumWindows: https://msdn.microsoft.com/en-us/library/windows/desktop/ms633497%28v=vs.85%29.aspx; - EnumChildWindows: https:// msdn.microsoft.com/en-us/library/windows/desktop/ms633494%28v=vs.85%29.aspx; - EnumThreadWindows: https://msdn.microsoft.com/en-us/library /windows/desktop /ms633495%28v=vs.85%29.aspx.

Langkah 4

Dapatkan pegangan ke jendela pada koordinat yang diketahui. Fungsi WindowFromPoint, ChildWindowFromPoint, ChildWindowFromPointEx mengembalikan pegangan ke jendela yang menjadi milik titik yang ditentukan. Fungsi WindowFromPoint adalah yang paling mudah digunakan, tetapi tidak mengembalikan pegangan untuk jendela yang tersembunyi atau dinonaktifkan. Anda dapat menemukan dokumentasi tentang penggunaannya di https://msdn.microsoft.com/en-us/library/windows/desktop/ms633558%28v=vs.85%29.aspx Fungsi ChildWindowFromPoint dan ChildWindowFromPointEx menemukan pegangan untuk anak jendela dari jendela induk tertentu milik titik tertentu. Dalam hal ini, perilaku ChildWindowFromPointEx dapat dikontrol secara fleksibel menggunakan parameter tambahan. Dokumentasi untuk fungsi-fungsi ini disediakan oleh tautan: - ChildWindowFromPoint: https://msdn.microsoft.com/en-us/library/windows/desktop/ms632676%28v=vs.85%29.aspx; - ChildWindowFromPointEx: https:// msdn.microsoft.com/en-us/library/windows/desktop/ms632677%28v=vs.85%29.aspx.

Direkomendasikan: