Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.05.23;
Скачать: [xml.tar.bz2];

Вниз

Не Работает FindWindowEx !!!!!!!!!!!!!   Найти похожие ветки 

 
chernoruk   (2002-03-17 07:02) [0]

Возникла такая проблема: есть 2 диалоговых одной программы(модальных, с подтверждениями окончания загрузки и ввод парололей), на которых сидит по кропке OK типа button. В одном из окон с помощью следующего кода я могу нажать кнопку, а на другом при тех же условиях при FindWindowEx возникает ошибка Error Invalid Parameters!!!!!

var
s1, s2 :string;
butt :hWND;
begin
s1:="OK";
s2:="button";
butt:=FindWindowEx(Handle_To_A_Parent_Window,

\\указатель на само диалоговое окно

0, PChar(s2), PChar(s1));
PostMessage(butt, wm_LButtonDown, 0, 0);
Sleep(100);
postMessage(butt, wm_LButtonUp, 0, 0);
end.


 
VuDZ   (2002-03-17 07:18) [1]

э... ну кто же так делает?
EnumChildWindows(), вот что надо.
в cllback"e - GetClassName


 
chernoruk   (2002-03-19 01:00) [2]

А чем так плохо?
Что-то не пойму никак...


 
chernoruk   (2002-03-19 01:41) [3]

Удивительно: сейчас попробовал с EnumChildWindows, и всё прекрасно работает! Не пойму, почему.....


 
VuDZ   (2002-03-19 01:55) [4]

The FindWindowEx function retrieves a handle to a window whose class name and window name match the specified strings. The function searches child windows, beginning with the one following the specified child window. This function does not perform a case-sensitive search.

HWND FindWindowEx(
HWND hwndParent, // handle to parent window
HWND hwndChildAfter, // handle to child window
LPCTSTR lpszClass, // class name
LPCTSTR lpszWindow // window name
);

Parameters
hwndParent
[in] Handle to the parent window whose child windows are to be searched.
If hwndParent is NULL, the function uses the desktop window as the parent window. The function searches among windows that are child windows of the desktop.

Windows 2000 or later: If hwndParent is HWND_MESSAGE, the function searches all message-only windows.

hwndChildAfter
[in] Handle to a child window. The search begins with the next child window in the Z order. The child window must be a direct child window of hwndParent, not just a descendant window.
If hwndChildAfter is NULL, the search begins with the first child window of hwndParent.

Note that if both hwndParent and hwndChildAfter are NULL, the function searches all top-level and message-only windows.

Так что думай

На сколько я помню, хотя сейчас могу и ошибиться. в данном контексте дочерние окна - это MDI окна, а не контролы управления...

sya


 
Fellomena   (2002-03-19 11:07) [5]

Попробуй:
s2:="TButton";
и результаты тебя, наверняка, порадуют ;)


 
VuDZ   (2002-03-19 11:45) [6]

:>


 
chernoruk   (2002-03-21 00:07) [7]

Ха-ха! Не работает! Доподлино известно: класс-button, window text-OK. Но процедура нажатия срабатывает тольло если искать по имени.


 
VuDZ   (2002-03-21 07:26) [8]

Добропожаловать на тропу winAPI - кучи недокументированных моментов и неправильной документации :>


 
Fellomena   (2002-03-21 12:26) [9]

2 chernoruk © (21.03.02 00:07):
В том-то и дело, что пока я не поставила TButton вместо Button тоже ничего не находило 8(
А как только поменяла - всё ok ;)

А Win32 API это, действительно, штука не для слабонервных.
Далеко не всё, братцы, в SDK написанно, а что написанно иногда не совпадает с реальностью.



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.05.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.006 c
1-73198
Gari
2002-05-14 14:43
2002.05.23
Прошу помощи !!!!!


14-73390
Anatoly Podgoretsky
2002-04-16 18:31
2002.05.23
Чат


1-73213
kingdom
2002-05-14 18:58
2002.05.23
COM + TService


7-73423
Kozhanov
2002-02-27 16:24
2002.05.23
Как узнать какая ОС ?


14-73376
Михалыч
2002-04-10 16:40
2002.05.23
Для умных





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский