ПредишенСледващото

Как да стигнем дръжката и други елементи от програмата?

Вземете се справят прог си един от друг от FindWindow, а след това в продължение на Handl "и всички бутони, Едит и затова е необходимо да се прилага FindWindowEx, но не знам как. Като най-желаните и дръжките да се опознаят дръжката на кока кой елемент съответства.

Тъй като той правилно каза - това е необходимо да се използва FindWindowEx + знам класа на прозореца (на същия бутон прозорец), който искате да намерите.
например:

FindWindowEx (FindWindow ( "Shell_TrayWnd" нула), 0, "бутон" нула);

Можете да получите един бутон дръжка Start.
Т.е. FindWindowEx в първия параметър поле, родителят, третата класа на прозореца, който искате да намерите. Но когато дръжката ще знаете след това се определи какво този прозорец, или не това, което трябва - не е трудно.

Т.е. ако посочим "Бутон" или "Редактиране", след което тя ще бъде правилно и ще означава клас прозорец? И как, например, в DateTimePicker "ОМ бъде?
И за дръжка за да се определи кой бутон или Edit "в него принадлежи? Ако можете подробности.

Прочетете класовете около прозорците в Win9x - в SDK имената им.

>> И за дръжка за да се определи кой бутон или Edit "в него принадлежи?

Знаейки дръжката на прозореца, можете да използвате API е то да се запознаят с този прозорец всичко. Надписа, абсолютен размер, относителна размер, стил, родител и т.н.
И докато вие сами трябва да знаете какво търсите - бутон или Edit - зависи от името на класа, който сте посочили в FindWindowEx.
8)

Ако тя не работи - ние ще се борим :)

WinSight може би? Добре, изглежда. Но ако аз повдигне този въпрос по-:) Болезнено интересна тема. Да, и вероятно други ще се интересуват.

Всичко се оказа, само един малък проблем остава КАК да получите всички Хендли, например, Едит (EDIT1, EDIT2.) Ако празен? Т.е. Ако направим това FindWindowEx (Hndl, 0, "TEdit", нула); получаваме първите имам дръжка Едита. Т.е. Оказва се, че ако в момента няма Едит хедър, ако сто пъти, за да напишете този код, все още се на едно и също нещо, как да бъде?

Добре, аз ще видя статия.

опитайте по този начин.

овъгляване Buf [65535];
// тук, така че можете да получите на дръжката на първия прозорец дете
hwd = GetWindow (Ръкохватката е от прозореца, в който търсите Chidlom, GW_HWNDFIRST | GW_CHILD);
докато (hwd! = 0) // Обръщаме цикъл, докато няма прозорци деца
<
GetClassName (hwd, Buf, 255); // Получаване на името на класа
ако ((Buf [0] == "Е") (Buf [3] == "т")) // това Edit.
<
. Че нишка прави това handle`om
>
hwd = GetWindow (hwd, GW_HWNDNEXT); // следващия прозорец дете
>

и че не е необходимо да се къпе :)

Памет: 0.74 MB
Време: 0.023 гр

Свързани статии

Подкрепете проекта - споделете линка, благодаря!