Форум: "WinAPI";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];
ВнизВнимание! Хотелось бы обобщить вопросы по handle за последние несколько дней. Найти похожие ветки
← →
Оля (2002-02-21 10:22) [0]Любопытная функция, но я не зная как заставить ее работать [D4, Win95/98]
Евгений_т (20.02.02 13:14)
Q: Как заставить мою программу нажать на кнопку в другой программе?
Function PressButton(wind_name,button_name:string):boolean;
Var window_handle,button_handle:integer;
begin
{Ищем хэндл окна}
window_handle:=FindWindow(nil,pchar(wind_name));
if window_handle=0 then
begin
result:=false;
exit;
end;
{Ищем хэндл кнопки}
button_handle:=FindWindowEx(window_handle,0,nil,pchar(button_name));
if button_handle=0 then
begin
result:=false;
exit;
end;
{Посылаем нажатие}
SendMessage(button_handle,bm_click,0,0);
result:=true;
end;
Искать хендлы - RTFM FindWindow, FindWindowEx
А что такое хендлы?
Может кто-то напишет прогу с исходниками и выложит на сайт?
Ето быдет зело полезно...
//==========================================================
Люди обьясните что такое Handle ?
Masa © (20.02.02 17:09)
Люди обьясните что такое Handle ?
И для чего его использовать ?
--------------------------------------------------------------------------------
Romul © (20.02.02 17:44)
Хэндл это типа порядковый номер окна в системе Windows. Весь вынь построен на окнах (как говорят здесь на форуме, edit это тоже окно ;)). Хэндл представляет собой просто число типа integer, которое уникально определяет любое окно в системе, а главное позволяет с помощью него обратиться к этому окну. Ну типа я тебе говоря Masa, читай Help, и ты понимаешь, что это я к тебе обращаюсь, так и окно, только у него вместо имени число типа 238765 или 123456 или 230, ну и т.д.
--------------------------------------------------------------------------------
Masa © (20.02.02 17:55)
Понял.
...
p.s. Пошел читать хелп :)
--------------------------------------------------------------------------------
[NIKEL] © (20.02.02 18:05)
...можно отметить также, что WIN32 присваиваються хэндлы чему угодно - окну, меню, курсору, иконке, файлу и т.д.
Фактически хэндл - это указатель на блок памяти, в котором размещен тот или иной объект.
//==============================================================
//==============================================================
Handle, а как узнать какой номер присвоен тому или иному окну, кнопке?
Оля (20.02.02 22:12)
Handle, а как узнать какой номер присвоен тому или иному окну, кнопке?
--------------------------------------------------------------------------------
Артемий (21.02.02 01:21)
Вопрос я не очень понял, но подозреваю что вам это поможет.
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
const
NamePrefix = "MyEdit";
begin
for i := 1 to 20 do begin
TEdit.Create(Self).Name := NamePrefix + IntToStr(i);
with TEdit(FindComponent(NamePrefix + IntToStr(i))) do
begin
Left := 10;
Top := i * 20;
Parent := self;
end;
end;
end;
--------------------------------------------------------------------------------
Gayrus © (21.02.02 03:14)
>>Артемий А я не понял твоешо кода, здесь спрашивается: Как получить Handle.
--------------------------------------------------------------------------------
MBo © (21.02.02 09:15)
h:=Button1.Handle;
это нужно?
//===============================================================
В кладовке я нашла прогу Sisinfo (255_exe.zip) которая может показать хендл окна. А как всетаки узнать хендл кнопки в программе (чужой, например кнопка сохранить в ворде)?
И как работает функция представленная Евгением?
P.S. Надеюсь не надо объяснять какие перспективы открывает эта технология перед програмерами...
← →
PVOzerski (2002-02-21 10:42) [1]Кнопка - это обычно child window по отношению к окну, на котором она располагается.
Получить ее хэндл можно, например, воспользовавшись функцией EnumChildWindows.
А часто, кроме того, окно является диалогом, созданным стандартными средствами WinAPI, и
тогда кнопка откликается на сообщение WM_COMMAND с передачей соответствующего ID,
который можно выяснить, покопавшись в данной программе какой-нибудь смотрелкой ресурсов.
Вообще, описание функций WinAPI входит в Delphi Help (единственно, что напрягает: все
прототипы функций от MS приведены на Си, так что придется их переводить на Паскаль
самостоятельно).
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c