Форум программистов, компьютерный форум, киберфорум
Delphi: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 26.02.2013
Сообщений: 18

найти статью по wndproc

18.04.2013, 16:18. Показов 1239. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как то мне попадалась статья в которой человек зная wndproc элементов сторонних окон творил с приложением все что душе угодно. там был кусочек кода как через wndproc выдирался handle элемента интерфейса даже который не имел имени класса. ну что то типо...
Прост мне нужно найти hwnd элемента, знаю его wndproc, имени класса нет, а в той статье было.
Помогите найти, или если знаете код киньте примерчик=)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.04.2013, 16:18
Ответы с готовыми решениями:

WndProc&WndProc
В чем разница между функциями WndProc и WindowProc? Какая из них для API??

Как на хостинге найти определенную статью
Здравствуйте, уважаемые участники форума! Подскажите, пожалуйста, начинающему вебмастеру где на хостинге найти папку с определенной...

где найти статью, как пользоваться pcap
обыскал весь нет, не нашел ни одной статьи на эту тему.... Поделитесь ссылочкой пожалуйста....

5
Пишу на Delphi...иногда
 Аватар для cotseec
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
18.04.2013, 16:38
Цитата Сообщение от Protivogaz Посмотреть сообщение
знаю его wndproc
т.е. есть процедура обработки оконных сообщений (один из параметров, передающихся ей, является искомый хэндл)... а как вы получили этот заветный адрес?
я использую GetWindowLong и SetWindowLong, но им нужен хэндл, который вы ищете, так что это - не вариант, как? заранее спасибо
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
18.04.2013, 22:07
Цитата Сообщение от Protivogaz Посмотреть сообщение
найти hwnd элемента, знаю его wndproc
EnumWindows + EnumChildWindows + GetWindowLong - эти три функции с легкостью решают поставленную задачу
0
0 / 0 / 1
Регистрация: 26.02.2013
Сообщений: 18
19.04.2013, 16:27  [ТС]
GetWindowLong... ну я как бы изначально получаю по заголовку хендл и все из него вытекающее...
EnumChildWindows - ну перечислит дочерние окна, но насколько я понял из msdn элементы на форме он не будет перечислять.

насколько я понимаю вы имеете ввиду этот данный код?

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
function GetWindowTitle(hwnd: HWND): string;
begin
  SetLength(Result, 255);
  SetLength(Result, GetWindowText(hwnd, PChar(Result), 255));
end;
 
function GetWindowClass(hwnd: HWND): string;
begin
  SetLength(Result, 255);
  SetLength(Result, GetClassName(hwnd, PChar(Result), 255));
end;
 
function GetWindowInfo(hwnd: HWND): string;
begin
  Result := GetWindowTitle(hwnd) + " [" + GetWindowClass(hwnd) +
    "] (" + IntToStr(hwnd) + ")";
end;
 
function EnumChildProc(hwnd: HWND; lParam: Integer): BOOL; stdcall;
var
  NewNode, ParentNode: TTreeNode;
begin
  Result := True;
  ParentNode := TTreeNode(lParam);
  NewNode := ParentNode.Owner.AddChild(ParentNode,
    GetWindowInfo(hwnd));
  EnumChildWindows(hwnd, @EnumChildProc, Integer(NewNode));
end;
 
function EnumWindowsProc(hwnd: HWND; lParam: Integer): BOOL; stdcall;
var
  NewNode: TTreeNode;
begin
  Result := True;
  NewNode := TTreeView(lParam).Items.Add(nil, GetWindowInfo(hwnd));
  EnumChildWindows(hwnd, @EnumChildProc, Integer(NewNode));
end;
 
procedure EnumWindowsTree(Tree: TTreeView);
begin
  EnumWindows(@EnumWindowsProc, Integer(Tree));
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  TreeView1.Items.Clear;
  EnumWindowsTree(TreeView1);
end;
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33192 / 21488 / 8233
Регистрация: 22.10.2011
Сообщений: 36,874
Записей в блоге: 12
19.04.2013, 16:30
Цитата Сообщение от Protivogaz Посмотреть сообщение
насколько я понял из msdn элементы на форме он не будет перечислять
Это еще с чего? Все элементы - дочерние окна формы. Всё будет перечисляться.
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
19.04.2013, 17:15
Цитата Сообщение от Protivogaz Посмотреть сообщение
имеете ввиду этот данный код?
ну если не принимать внимание работу с виз.контролами, то да, именно это и имею ввиду
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.04.2013, 17:15
Помогаю со студенческими работами здесь

Найти человека, который написал статью на сайте
Добрый день Подскажите пожалуйста как можно найти человека и(или) место откуда этот человек выложил информацию на какой либо сайт...

Помогите,плз, найти статью "asp на блюдечке" в нормальном виде
В разделе 'Статью/asp' выложены статьи 'asp на блюдечке',каждая ис которых состоит из нескольких страниц.Проблема в том,что на...

WndProc
Что означает LRESULT CALLBACK перед именем функции? LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam) Ведь...

WndProc
как создавать новые окна на winapi чтобы у каждого нового окна был свой WndProc? при регистрации класа через WNDCLASSEX и RegisterClassEx...

WndProc в класс
Я пытаюсь создать класс окна, но проблема с LRESULT CALLBACK WndProc. Если сделать эту функцию статической, то она не может получать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru