Apakah maksud pemegang tetingkap skrin?
Apakah maksud mendapatkan pemegang tingkap skrin
Ianya mudah difahami apabila anda tahu apa itu pegangan
Hanya dapatkan kod pengenalan tetingkap ini
Pemegang ialah pengecam unik yang digunakan untuk membezakan pelbagai objek memori Ia adalah integer 32-bit.
Sesetengahnya unik untuk keseluruhan sistem (seperti pemegang tetingkap), dan ada yang unik untuk proses atau benang semasa
(seperti pemegang benang, yang global mempunyai pengecam lain).
Perincian boleh dibahagikan kepada banyak jenis, semuanya bermula dengan H. Apabila menggunakannya dalam VB, semua menggunakan Long.
Yang biasa termasuk pemegang tetingkap (HWND), pemegang konteks peranti (HDC), pemegang memori (HMEM),
Pemegang fail, pemegang proses, pemegang benang, pemegang jenis pen (HPEN), pemegang fon (HFONT),
Pengendali wilayah (HRGN) dan banyak lagi.
Apabila memohon pemegang, sumber diduduki, yang dibahagikan kepada tiga kategori: SISTEM, PENGGUNA dan GDI.
Sumber WINDOWS adalah tetap dan tidak berkembang dengan pengembangan memori, jadi anda mesti melepaskannya selepas digunakan
Letakkan.
>
Jika anda hanya menggunakan kod VB sendiri, anda biasanya tidak akan menggunakan pemegang, tetapi jika anda menggunakan fungsi API,
Kebanyakan orang akan menggunakannya.
Dalam sistem Windows, pemegang (saya selalu rasa perkataan ini diterjemahkan dengan sangat janggal) dibahagikan kepada tiga kategori: Kernel
Pemegang, UserHandle dan Handle yang ditakrifkan oleh aplikasi.
KernelHandle sebenarnya ialah indeks jadual penunjuk objek Kernel dalam proses objek kernel termasuk proses dan fail
Bahagian, isyarat, dsb. Tetapi untuk menyembunyikan fakta, MS menghasilkan nilai Obsfucator yang dipanggil apabila sistem bermula
(sebenarnya ia sepatutnya Obfuscator, MicrosoftBugs(R):), selepas menghasilkan Handle, bezakan Handle daripada nilai ini
atau kembali ke aplikasi, jadi Pemegang yang anda lihat semuanya adalah nombor yang besar dan tidak bermakna. Ini
Benda pemegang dan indeks diuruskan bersama oleh KRNL32.DLL dan VMM32.VXD, jadi ia dipanggil Kernel
Penangan.
UserHandle digunakan untuk menanda objek seperti tingkap dan DC Ia adalah penunjuk sebenar, tetapi ia tidak menghala ke objek
Pada awal, terdapat offset. Sekali lagi, objek ini diuruskan oleh USER32.DLL.
Jenis Pemegang ketiga hanyalah beberapa indeks yang disesuaikan oleh aplikasi. Maksud khusus adalah berkaitan dengan aplikasi
Bagaimana untuk mendapatkan pemegang tetingkap konsol
1. Panggil GetConsoleTitle() untuk menyimpan tajuk tetingkap konsol semasa.
2. Panggil SetConsoleTitle() untuk menukar tajuk konsol kepada tajuk yang unik.
3 Call Sleep(40) untuk memastikan tajuk tetingkap telah dikemas kini.
4. Panggil FindWindow(NULL, uniquetitle) untuk mendapatkan HWND Panggilan ini akan mengembalikan HWND Jika operasi gagal, NULL akan dikembalikan.
5 Dari langkah 1, untuk memulihkan tajuk tetingkap asal dapatkan semula panggilan nilai SetConsoleTitle().
HWND keputusan harus diuji. Sebagai contoh, anda boleh menguji sama ada HWND yang dikembalikan sepadan dengan proses semasa memanggil GetWindowText() pada HWND dan membandingkan hasilnya dengan GetConsoleTitle().
Contoh kod
Fungsi berikut mendapatkan semula pemegang tetingkap aplikasi konsol semasa (HWND). Jika fungsi ini berjaya, nilai pulangan ialah pemegang kepada tetingkap konsol. Jika fungsi ini gagal, nilai pulangan ialah NULL. Beberapa semakan ralat diketepikan untuk ringkasnya.
HWND GetConsoleHwnd(kosong)
{
#define MY_BUFSIZE 1024 // Saiz penimbal untuk tajuk tetingkap konsol.
HWND hwndFound; // Inilah yang dikembalikan kepada pemanggil.
char pszNewWindowTitle[MY_BUFSIZE]; // Mengandungi rekaan
// Tajuk Tetingkap.
char pszOldWindowTitle[MY_BUFSIZE]; // Mengandungi asal
// Tajuk Tetingkap.
// Ambil tajuk tetingkap semasa.
GetConsoleTitle(pszOldWindowTitle, MY_BUFSIZE);
// Formatkan "unik" NewWindowTitle.
wsprintf(pszNewWindowTitle,"%d/%d",
GetTickCount(),
GetCurrentProcessId());
// Tukar tajuk tetingkap semasa.
SetConsoleTitle(pszNewWindowTitle);
// Pastikan tajuk tetingkap telah dikemas kini.
Tidur(40);
// Cari NewWindowTitle.
hwndFound=FindWindow(NULL, pszNewWindowTitle);
// Pulihkan tajuk tetingkap asal.
SetConsoleTitle(pszOldWindowTitle);
return(hwndFound);
}
Bagaimana untuk mendapatkan pemegang semua tingkap pada desktop dalam masa 50 minit
#include
#include
menggunakan ruang nama std;
// Fungsi panggil balik untuk EnumWindows
BOOL CALLBACK EnumProc(HWND hwnd,LPARAM lparam)
{
vektor
pvec->tolak_belakang(hwnd);
kembali BENAR;
}
void main()
{
vektor
EnumWindows(EnumProc,(LPARAM)&vec);
}
Ini ditulis dalam projek program konsol win32 Jika anda ingin menggunakannya di bawah MFC, anda hanya perlu memasukkan
#include
EnumProc ditakrifkan di hadapan, dan fungsi respons butang. ditambah dalam fungsi utama kedua-dua ayat itu akan dilakukan.
Saya menguji di sini dan mendapat 407 pemegang
Atas ialah kandungan terperinci Apakah maksud pemegang tetingkap skrin?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Kesalahan awan stim boleh disebabkan oleh banyak sebab. Untuk bermain permainan dengan lancar, anda perlu mengambil beberapa langkah untuk mengeluarkan ralat ini sebelum anda melancarkan permainan. Perisian Php.CN memperkenalkan beberapa cara terbaik serta maklumat yang lebih berguna dalam siaran ini.

Anda mungkin melihat "Sambungan ke Metadata Windows dan Perkhidmatan Internet (WMIS) tidak dapat ditubuhkan." Ralat pada Penonton Acara. Siaran ini dari Php.cn memperkenalkan cara menghapuskan masalah Windows Metadata dan Internet.

Isu Kemas Kini KB5035942 - Sistem terhempas biasanya berlaku kepada pengguna. Orang yang ditimbulkan berharap dapat mencari jalan keluar dari jenis masalah, seperti sistem terhempas, pemasangan, atau masalah bunyi. Menyasarkan situasi ini, jawatan ini diterbitkan oleh Php.CN Wil

OneDrive adalah perkhidmatan penyimpanan awan dalam talian dari Microsoft. Pada masa -masa, anda mungkin mendapati OneDrive gagal memuat naik foto ke awan. Jika anda berada di bot yang sama, teruskan membaca siaran ini dari perisian Php.cn untuk mendapatkan penyelesaian yang berkesan sekarang!

Jika anda mempunyai program yang dipanggil PC App Store di komputer anda dan tidak sengaja memasangnya, maka PC anda mungkin dijangkiti dengan perisian hasad. Siaran ini dari php.cn memperkenalkan cara mengeluarkan malware kedai aplikasi PC.

Chris Titus Tech mempunyai alat yang dipanggil Utiliti Windows yang dapat membantu anda dengan mudah membuat Windows 11/10 ISO debloated untuk memasang sistem yang bersih. Php.cn menawarkan panduan penuh tentang cara melakukan perkara ini menggunakan alat Chris Titus.

Adakah Brothers: A Tale of Two Sons REMAKE TIDAK dilancarkan? Menemui Saudara -saudara: Kisah Dua Anak Sons REMAKE Skrin Hitam? Di sini siaran ini di Php.cn menawarkan penyelesaian yang diuji untuk membantu anda dalam menangani masalah ini.

Adakah anda mempersoalkan masalah yang Msconfig terus kembali ke permulaan selektif pada tingkap anda? Bagaimana cara beralih ke permulaan biasa jika anda memerlukannya? Cuba kaedah yang dijelaskan dalam pos php.cn ini untuk mencari yang berfungsi untuk anda.
