|
Платные хостинги
Раскрутка сайта
Книги по программированию
API
- Я как то сталкивался с проблемой посылки нажатия кнопки в окно, но так вот не работает:PostMessage(wnd,WM_KEYDOWN,Key,0);PostMessage(wnd,WM_KEYUP,Key,0);Посмотрев по различным форумам я узнал, что нада посылать на дескриптор обьекта, а не окна. Для етого можно воспользоваться функцией FindWindowEx, но что делать если я не знаю ни класса, ни имени, требуемого мне обьекта
- Загружаешь WinSight и всё это узнаешь. Или лучше пишешь свою прогу, которая тебе, скажем в TTreeView будет показывать все характеристики для всех top-level окон.
- А что делать если у требуемого обьекта нету дескриптора? По крайней мере я не могу найти его вот таким небольшим кодом(У других приложений находит):procedure TForm1.Button1Click(Sender: TObject);var Wnd : hWnd; buff: array [0..127] of Char;begin ListBox1.Clear; //Перед этим заранее нахожу требуемый дескриптор горячей кнопкой, извлекая его при помощи WindowFromPoint и вывожу в Label Wnd := GetWindow(StrToInt(Label1.Caption), gw_Child); while Wnd <> 0 do begin ListBox1.Items.Add(IntToStr(Wnd)); Wnd := GetWindow(Wnd, gw_hWndNext); end; ListBox1.ItemIndex := 0;end;Причем существует программа, которая может посылать туда нажатия кнопок.Так в чем может быть дело?
- У любого объекта есть HWND. Поищите через FindWindowEx()
- Song дело говорит - посмотри winsight`омили используй EnumChildWindows
- WinSigth не показывает))))
- значит это не контрол, а рисунок контрола
- Но другая прога можеть ведь посылать туда нажатия. Как это можно объяснить?
- могешь дать прогу с энтим контролом на растерзание?man@kiev.vectis.ru (по 400Кб)
Интернет казино
Онлайн игры
Увеличение члена
Купить DVD
|