|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.07.2009, 17:43 | #1 |
Форумчанин
Регистрация: 09.09.2008
Сообщений: 395
|
FindWindow, окно с частицой (символомами)
Вообщем есть окно... Есть начальные символы (точнее они известны) окна.
Нужно сделать так... В случае если FindWindow находит окно где указанные символы есть, то показывает showmessage('ОК') что он нашел окно такое с начальными символами Но дело в том что я не знаю как это сделать! (pos не поможет вроде как) Помогайте (начальные символы окна!) Последний раз редактировалось zotox; 13.07.2009 в 17:59. |
13.07.2009, 17:54 | #2 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 384
|
|
13.07.2009, 17:57 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
начальные символы чего?
заголовка окна? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
13.07.2009, 17:58 | #4 |
Форумчанин
Регистрация: 09.09.2008
Сообщений: 395
|
|
13.07.2009, 18:03 | #5 |
Форумчанин
Регистрация: 10.02.2009
Сообщений: 815
|
Найти все окна , занести допустим в TStringList . Далее какраз с тем-же pos выполнить поиск , и снова FindWindow только с уже найденым заголовком окна.
|
13.07.2009, 18:09 | #6 |
Форумчанин
Регистрация: 09.09.2008
Сообщений: 395
|
|
13.07.2009, 18:13 | #7 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 384
|
Глянь пример.
|
13.07.2009, 18:14 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
EnumWindows в помощь
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
19.07.2009, 13:08 | #9 |
Участник клуба
Регистрация: 28.11.2007
Сообщений: 1,521
|
Код:
Всегда рад помочь!
|
19.07.2009, 16:14 | #10 |
Пользователь
Регистрация: 14.06.2009
Сообщений: 53
|
Смотрю тут тоже api обсуждается а я вот не могу решить задачку нужно считать строку из памяти процесса запущенной программы.
RVA строки $0036D0C8 нужен ведь RVA не VA Процедура выглядит следующим образом, для проверки значений заносил их в edit procedure TForm1.Button1Click(Sender: TObject); var hProc, PID, numberRead : DWORD; hWnd : THandle; // Хэндл окна чата IpBuf : string; // буфер куда поместиться наше значение ipBase: ^dword; // точка входа в памяти begin hWnd:=findwindow('TfChatClient',nil ); /// получаем хэндл окна программы Edit1.Text:=inttostr(hWnd); // заносим в edit Handle GetWindowThreadProcessId(hWnd, @PID); //получаем pid зная хэндл окошка интересующей нас программы Edit2.Text:=inttostr(PID); // заносим в edit ID hProc:=OpenProcess(PROCESS_VM_READ, False, PID); // подключаемся к процессу зная его ID try if hProc <> 0 then // условие проверки подключения к процессу begin Edit3.Text:=inttostr(hProc); // заносим в edit Process ipbuf:=' '; // очищаем буфер SetLength(ipbuf, 4); // устанавливаем длинну буфера ipBase:=ptr($0036D0C8); // RVA слова в памяти ReadProcessMemory(hProc, ipBase, Addr(ipbuf), 4, numberRead); // чтение из памяти строки Edit4.Text:=PCHAR(ipbuf); // заносим в edit Buffer end; finally CloseHandle(hProc); // отсоединяемся от процесса end; end; В результате получилось следующее хэндл, pid process считываються идеально, а вот переменная ipbuf куда должно занестись значение выдыдаёт какуето ерунду, строка в кодировке ascll. что не так где ошибки? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
FindWindow | Comer_Jus | Win Api | 7 | 29.11.2008 10:17 |
FindWindow('TMainForm',nil) а дальше куча одноименных кнопок | Стелс | Win Api | 17 | 01.11.2008 01:27 |
«Окно+символ». Создать класс, представляющий окно в текстовом режиме. | RustreX | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 11.11.2007 19:28 |
FindWindow не нашел окна, а ShellExecute возвращает ERROR_PATH_NOT_FOUND | malor | Win Api | 2 | 19.07.2007 15:15 |
Вопрос про функцию FindWindow | Dromok | Общие вопросы Delphi | 3 | 12.02.2007 23:00 |