[delphi] Получение инфы с чужого окна

Статус
В этой теме нельзя размещать новые ответы.

Ser Frood

Заблокирован
Регистрация
12 Дек 2006
Сообщения
515
Реакции
397
Народ подскажите как плучить инфу с определённого окна! пример:
Есть окно, там где есть числовое значение, оно постоянно изменяется ,как вот определять это числовое значение чужого окна, на дельфи??
 
Получаешь хендл нужного приложения (например, по заголовку окна), а потом с помощью sendmessage творишь с ним что угодно.
 
Получаешь хендл нужного приложения (например, по заголовку окна), а потом с помощью sendmessage творишь с ним что угодно.

Гы это знает любой) а ты преведи примером как с чужого окна содрать текст например с оперы с поля url!!
 
Получить Handle поля ввода адреса в Опере не удастся, все сообщения берет на себя тулбар, на котором лежит combobox с адресом. Адрес можно получить следующим образом (проверял на D7:(

Код:
uses DdeMan;
function GetURL(Browser: string): string;
var
 Client_DDE: TDDEClientConv;
 temp: PChar;
begin
 Result := '';
 Client_DDE:= TDDEClientConv.Create( nil );
 with Client_DDE do
  begin
   SetLink(Browser, 'WWW_GetWindowInfo');
   temp := RequestData('0xFFFFFFFF');
   Result := StrPas(temp);
   // оставляем только урл
   Delete(Result, Pos(',', Result), Length(Result)-Pos(',', Result)+1);
   // удаляем кавычки
   Delete(Result, 1, 1);
   Delete(Result, Length(Result), 1);
   StrDispose(temp);
   CloseLink;
  end;
 Client_DDE.Free;
end;
ShowMessage(GetURL ('Opera'));
 
Получить Handle поля ввода адреса в Опере не удастся, все сообщения берет на себя тулбар, на котором лежит combobox с адресом. Адрес можно получить следующим образом (проверял на D7:(

Код:
uses DdeMan;
function GetURL(Browser: string): string;
var
 Client_DDE: TDDEClientConv;
 temp: PChar;
begin
 Result := '';
 Client_DDE:= TDDEClientConv.Create( nil );
 with Client_DDE do
  begin
   SetLink(Browser, 'WWW_GetWindowInfo');
   temp := RequestData('0xFFFFFFFF');
   Result := StrPas(temp);
   // оставляем только урл
   Delete(Result, Pos(',', Result), Length(Result)-Pos(',', Result)+1);
   // удаляем кавычки
   Delete(Result, 1, 1);
   Delete(Result, Length(Result), 1);
   StrDispose(temp);
   CloseLink;
  end;
 Client_DDE.Free;
end;
ShowMessage(GetURL ('Opera'));

Это пример как получить урл пробузера) лан сделую другой пример!
Имеется игра lineage так вот надо получить счётчик HP персоонажа))) то есть обратиться в чужое окно забрать текст и вывести))
 
Seregakz - конечное предназначение проги какое будет ???
я не специалист в плане игр и прочего гейма :D про lineage тока слышал ...
Не проще воспользоваться чужими трудами ...??
Уже много лет еcть прога ArtMoney работает со всеми популярными играми настроить её и всё будет показываться и выводиться как вам надо... :)
Как вариант выдёргивать данные из directx или opengl как оно там работает хер его знает ...
ещё как вариант настроить какуюто прогу (таких много) или написать свою чтобы делала скриншот определённой области экрана и сохраняла в картинку распознав котрую можно получить искомые данные ... :D

Наверняка есть какиенибудь боты под ланейдж если они "HP" отображают изучи их в дебагере можно узнать очень много интересного ...
Это намного проще чем саму lineage в дебагер подгружать ... :D
 
  • Нравится
Реакции: jik
У меня была подобная проблемма. С эдита, лэйбла и прочего вроде работает. А вот с других компонентов ничего не получится. Если графика 3D то геморая я думаю будет много.
 
o_nix **х мне армани если мне надо чисто вести контроль над HP перса и всё и нечего не менять!??
MadWizard так и неразобрался с твоим примером ))
не вкурсах какой прогой мона снифануть число в игре? (чтобы узнать имя переменой в которой число хранится)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху