Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получение данных с формы, Взаимодействие с чужими окнами 
:(
    Опции темы
A11MaNi
Дата 5.4.2008, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 5.4.2008
Где: россия, юфо

Репутация: нет
Всего: 1



Помогите, пожалуйста, с решением задачи...

Есть приложение в statusbar'е которого отображаются два значения.

Есть ли возможность извлечь(скопировать) эти значения на форму моей программы?
Значения эти постоянно обновляются...
Не могу найти ничего полезного по темеПомогите, пожалуйста, с решением задачи...

Есть приложение в statusbar'е которого отображаются два значения.

Есть ли возможность извлечь(скопировать) эти значения на форму моей программы?
Значения эти постоянно обновляются...
Не могу найти ничего полезного по теме
PM MAIL ICQ   Вверх
MetalFan
Дата 5.4.2008, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



читай MSDN на тему SB_GETTEXT.
надо только найти хэндл статусбара.


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
A11MaNi
Дата 6.4.2008, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 5.4.2008
Где: россия, юфо

Репутация: нет
Всего: 1



хэндл я знаю.

Добавлено через 14 минут и 39 секунд
Class - msctls_statusbar32
Handle - 00020346
PM MAIL ICQ   Вверх
Mayk
Дата 6.4.2008, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: нет
Всего: 134



В зависимости от того какой текст читается, может  потребовать выделить память в чужом процессе а потом скопировать её себе.
Про статус бар ничего точно не скажу, но для чтения с listview это так делается: тынц.
ps. правда это для си и чистых винапи, есть ли в дельфи что поспециальнее -- smilen

Это сообщение отредактировал(а) Mayk - 6.4.2008, 10:14


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
A11MaNi
Дата 6.4.2008, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 5.4.2008
Где: россия, юфо

Репутация: нет
Всего: 1



Ээээ в сях я не разбераюсь...
PM MAIL ICQ   Вверх
MetalFan
Дата 6.4.2008, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



есть примеры "залазанья" в память чужого процесса.
ищи по OpenProcess, VirtualAllocEx, VirtualFreeEx


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Igor22
Дата 30.11.2010, 07:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 27.2.2008

Репутация: нет
Всего: нет



вот выдираю статус из Internet Explorer !!! всё просто.

Код

function getbartext(): string;
var
  lpBuffer: PChar;
  lWndHandle: DWord;
begin

  lWndHandle := FindWindowEx(0, 0, 'IEFrame', nil);
  lWndHandle := findwindowex(lWndHandle, 0, 'Frame Tab', nil);
  lWndHandle := findwindowex(lWndHandle, 0, 'TabWindowClass', nil);
  lWndHandle := findwindowex(lWndHandle, 0, 'msctls_statusbar32', nil);

  lpBuffer := GetMemory(1024);
  try
    SendMessage(lWndHandle, WM_GETTEXT, 1024, Integer(lpBuffer));
  finally
    FreeMemory(lpBuffer);
  end;

  result := (string(lpBuffer));
end;


а кто нибудь знает как выдрать текст из строки состояние в опере (opera) !????

PM MAIL   Вверх
RockClimber
Дата 30.11.2010, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: нет
Всего: 15



Цитата(Igor22 @  30.11.2010,  07:43 Найти цитируемый пост)
а кто нибудь знает как выдрать текст из строки состояние в опере (opera) !????

Если ты легко выдираешь из IE, в чем проблема с оперой? Ответ "В опере нет окна класса msctls_statusbar32" не принимается.
Я больше в теории знаю.
Теоретически, есть API функция перечисления окон. Есть функция перечисления дочерних окон. Находим окно оперы, находим ее дочерние окна, находим в них строку состояния, берем оттуда данные. В DRKB был пример по работе с дочерними окнами.


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
Snowy
Дата 30.11.2010, 14:31 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



У Оперы нет дочерних окон.
У неё есть одно окно.
Всё, что в нём - нарисовано.
Нет ни кнопок, ни меню, ни списков, ни прочих элементов.
Это всё одна большая картинка.
Так что фиг что из неё вытащишь стандартными способами.
PM MAIL   Вверх
Igor22
Дата 30.11.2010, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 27.2.2008

Репутация: нет
Всего: нет



пока нашел 2 варианта:

1. это скринить и распозновать текст по буквам (изпользовать шаблон X:Y для каждой буквы)

2. использовать расширение для оперы. Написать на языке UserJS функцию которая при наведении на ссылку копирует в будет обмена урл...  но я чето ничего не понимаю как это расширение для оперы писать.

думаю 2 вариант будет по удачнее. только как реализовать это расширение ??? если кто умеет работать напишите!!! 

вот нашел как юзать расширение в опере 11 !!
http://habrahabr.ru/blogs/opera/106609/
PM MAIL   Вверх
RockClimber
Дата 3.12.2010, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: нет
Всего: 15



Цитата(Snowy @  30.11.2010,  14:31 Найти цитируемый пост)
У неё есть одно окно.Всё, что в нём - нарисовано.

Опа... Интересный подход. И что, и панели и меню тоже?


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
Igor22
Дата 4.12.2010, 05:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 27.2.2008

Репутация: нет
Всего: нет



Цитата(RockClimber @ 3.12.2010,  20:00)
Цитата(Snowy @  30.11.2010,  14:31 Найти цитируемый пост)
У неё есть одно окно.Всё, что в нём - нарисовано.

Опа... Интересный подход. И что, и панели и меню тоже?

ага, никак не захамутать =))
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0556 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.