У чому різниця чоловікові handle і hwnd
У чому різниця чоловікові handle і hwnd?
Доброго всім часу доби!
У мене якось раз виникла суперечка, причому мені доводили, що handle і hwnd різні речі, а я намагався довести зворотне. При тестуванні прогаммулькі вилізла моя неправоту. Помогите плиз розібратися, не хочеться лохом в суперечках бути.
Всім заранее спасибо.
І те й інше є LongWord. А ось що за неправоту вилізла - так телепати у відпустці
Неправота в тому, що вони різні значення мають.
hwnd = window handle
> RedStranger # XA0; (04.05.05 16:28) [2]
> Неправота в тому, що вони різні значення мають.
а ти чий handle c чиїм hwnd порівнював?
2 RedStranger # XA0; (04.05.05 16:22)
Та різниця, яка змушує писати INVALID_HANDLE_VALUE замість LongWord (-1).
> Мені доводили, що handle і hwnd різні речі, а я намагався
> Довести зворотне
в залежності від повороту подій і конкретних комусь із вас доведеться-таки ящик шнапсу виставити в кач-ве плати за програш парі)
продовжуйте будується!)
не забудьте сповістити майстрів про хід та результати "лобовий дурі")
> При тестуванні прогаммулькі
угу. яка в ході свого виконання викликає хрін знає какік WinAPI-функції. то ді повертають хендл вікна, то чи хендл бозна чого і з боку з бантиком
handle і handle різні речі
Я спочатку питав в чому різниця між ними з точки зору windows. Значення handle і hwnd я брав у контрола. Handle завжди однаковий, а hwnd кожен раз різний.
> Handle завжди однаковий, а hwnd кожен раз різний
марення сивої кобили
> З точки зору windows
з т.з. Windows хендл хендлом є ворожнеча.
хоч і той і інший є елементи (системних таблиць), що ідентифікують той чи інший ОС-об'єктів.
Handle завжди однаковий, а hwnd кожен раз різний при перезапуску программульку.
> RedStranger # XA0; (04.05.05 17:19) [12]
суперечка ти продув. "Адназначна".
> Handle завжди однаковий
> # XA0; hwnd кожен раз різний
ну блін я не пам'ятаю
це що сильно важливо?
> RedStranger # XA0; (04.05.05 17:24) [17]
> Ну блін я не пам'ятаю
"Так до не буває - тут пам'ятаю, тут не пам'ятаю" (С)
> Це що сильно важливо?
коли ти продув пристойну суму, сперечаючись про те що зведомо не тямиш - невже не важливо.
І все ж у чому для вінди різниця між handle і hwnd у одного контрола.
Та й з чого ти взяв, що я на пристойну суму сперечався?
Дякую всім хто намагався допомогти. Хто не намагався того теж. Питання закрито за давністю років.
> У чому для вінди різниця між handle і hwnd у одного контрола
у контролів Вінди немає ні handle ні hwnd.
а є хендлом. просто якісь ідентифікатори. мають в залежності від контексту певну область відімлості і певний час життя.
Він-хендл - це просто якесь цілочисельне значення, що є в тому чи іншому випадку чим завгодно, але завжди однозначно ідентифікує (в тій чи іншій області видимості і з тим чи іншим часом життя) якусь керуючу структуру
У Windows:
HWND - тип дескриптора будь-якого вікна. Змінні цього типу можуть називатися як завгодно і приймати яке завгодно значення, але якщо він вказується в прототипі будь-якої функції це означає що параметр або результат такого типу може являтся дескриптором вікна.
HANDLE - тип дескриптора, є підтипом HWND. У його відношенні справедливо все що вказано для HWND, з різницею в тому що при вказівці його в прототипі функції дає програмісту підказку що в функції використовується дескриптор чого-небудь. У бібліотеках RTL / VCL цього типу зіставляється тип THandle.
У Delphi:
property handle: HWnd read GetHandle;
Властивість компонентів породжених від TWinControl. Як правило являє дескриптор вікна будь то форма або контрол.
Хендлов в Windows як собак некрезанних. Вона буквально грунтується на всіляких дескрипторах.
Пам'ять: 0.76 MB
Час: 0.084 c