Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Шпион за едитом

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Шпион за едитом
Имя
Сообщение << Старые топики   Новые топики >>
Шпион за едитом - 2007-03-03 17:18:43.816666   
Bitldjus

Сообщений: 1
Оценки: 0
Присоединился: 2007-03-03 17:05:59.016666
Привет всем.
Вопрос - нужно сохранить строку из определенного едита конкретного окна.
Я знаю это можно сделать через хуки. (что то там на счет хендла для поиска).

Вообщем пользователь вводит пароль в аське (допустим;)), а программа записывает что он ввел в Edit2 в файл и сохраняет его куданить далеко далеко:)
Кто поможет? (язык Делфи, Билдер Си)
Post #: 1
RE: Шпион за едитом - 2007-03-03 18:26:37.576666   
Technologist

Сообщений: 3590
Оценки: 0
Присоединился: 2006-10-28 20:28:06.943333
Эта тема вроде обсуждалась на форуме, так что поищи.
Post #: 2
RE: Шпион за едитом - 2007-03-03 20:44:07.646666   
je0n

Сообщений: 126
Оценки: 0
Присоединился: 2004-07-05 23:40:07
короче тебе нужно будет сначал найти этот. API-функции
FindWindow()
GetNextWindow()
Как ими пользоваться поищи в сети. Это ты получишь хендл нужного тебе едита

Чтобы получить текст из едита - API-функция GetWindowText()
как юзать ищи в сети.

Вообще на тему как управлять элементами в чужих программах была афигенная статья в хакере. Там пишеться про то как управлять WebMoney клиентом. и все примеры на дельфи - как тебе и надо.
вот тебе: http://www.xakep.ru/magazine/xa/067/042/1.asp
Post #: 3
RE: Шпион за едитом - 2007-03-03 21:45:43.936666   
voody

Сообщений: 958
Оценки: 0
Присоединился: 2005-02-06 22:28:30
je0n, хочу сказать, что функция GetWindowText() может прочитать заголовок окна, но не текст из разных текстовых элементов управления. Автору: эта тема действительно уже обсуждалась. Но, так уж и быть, повторю. Вот код:

WPARAM BufferLength = SendMessageA(WinHandle, WM_GETTEXTLENGTH, NULL, NULL);
char *Buffer = new char[BufferLength+1];
SendMessageA(WinHandle, WM_GETTEXT, BufferLength+1, (LPARAM)Buffer);

В этом примере переменная WinHandle должна быть типа HWND и иметь в себе хэндл нужного окна. После выполнения кода в переменной Buffer будет указатель на строку с прочитанным текстом.
Post #: 4
RE: Шпион за едитом - 2007-03-19 00:12:12.240000   
NEFFboy

Сообщений: 204
Оценки: 0
Присоединился: 2007-03-18 11:11:02.040000
Используем функцию FindWindow
var ApplicWnd:HWND; begin while ApplicWnd=0 do ApplicWnd:=FindWindow(nil,PChar('Заголовок_приложения'));
Потом функцию GetWindow
Post #: 5
RE: Шпион за едитом - 2007-03-21 21:26:37.473333   
voody

Сообщений: 958
Оценки: 0
Присоединился: 2005-02-06 22:28:30

quote:

ORIGINAL: NEFFboy

Используем функцию FindWindow
var ApplicWnd:HWND; begin while ApplicWnd=0 do ApplicWnd:=FindWindow(nil,PChar('Заголовок_приложения'));
Потом функцию GetWindow


Я уже дал человеку готовый рабочий пример кода. Зачем повторяться, давая недоделанный, выполняющий совершенно не то, что просит автор? Причем тут FindWindow и GetWindow? Эти функции нужны для получения хэндла, но уж никак не для прочтения текста из эдита.
Post #: 6
RE: Шпион за едитом - 2007-03-22 08:44:11.143333   
NEFFboy

Сообщений: 204
Оценки: 0
Присоединился: 2007-03-18 11:11:02.040000
quote:

Эти функции нужны для получения хэндла, но уж никак не для прочтения текста из эдита.


Так едит то не в воздухе висит;)
Post #: 7
RE: Шпион за едитом - 2007-03-23 01:25:29.460000   
voody

Сообщений: 958
Оценки: 0
Присоединился: 2005-02-06 22:28:30

quote:

ORIGINAL: NEFFboy

quote:

Эти функции нужны для получения хэндла, но уж никак не для прочтения текста из эдита.


Так едит то не в воздухе висит;)

Как сказать. По крайней мере, я думаю, что автор в состоянии самостоятельно получить хэндл нужного окна. Если же он не может передать 2 параметра функции (один из которых - NULL), то о каком программировании может идти разговор впринципе?
Post #: 8
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Шпион за едитом







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.