У чому різниця чоловікові 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