Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
14-94566
Tosov
2002-03-23 18:31
2002.04.29
Помогите ссылками


1-94481
Керик
2002-04-16 04:54
2002.04.29
Где взять TZPHint?


14-94574
False
2002-03-20 12:28
2002.04.29
Какое расширение имееи Oracle?


1-94457
LazorenkoX
2002-04-16 09:16
2002.04.29
TStringGrid.PrintMe()


3-94257
valievrf
2002-04-07 17:02
2002.04.29
Обсуждение рендома и фора.....





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский