Например, есть у нас программа с картой месности, а в статус баре кажутся координаты географические того места, где курсор.
Моя идея — навести мышь на место, а в другой программе эти координаты подсматривать.
Как это вообще реализовать можно.
Пытался через handle окна добраться — ничего не получилось.
Думал, может какие сообщения WM_SETTEXT, или что-то подобное шлет — нифига не шлет
Пробовал, как дочерний процесс запустить — тоже ничего не вышло (в смысле до данных добраться).
Народ, тема думаю многим интересна будет — дайте плиз наметки — куда пробовать.
Заранее спасибо.
All we are is dust in the wind...
Re: Добраться до данных другого процесса. Это реально?
Здравствуйте scopr21, Вы писали:
S>Например, есть у нас программа с картой месности, а в статус баре кажутся координаты географические того места, где курсор. S>Моя идея — навести мышь на место, а в другой программе эти координаты подсматривать.
S>Как это вообще реализовать можно. S>Пытался через handle окна добраться — ничего не получилось. S>Думал, может какие сообщения WM_SETTEXT, или что-то подобное шлет — нифига не шлет :)) S>Пробовал, как дочерний процесс запустить — тоже ничего не вышло (в смысле до данных добраться).
S>Народ, тема думаю многим интересна будет — дайте плиз наметки — куда пробовать.
S>Заранее спасибо.
вот кусок кода, который тупым образом подбирает пароли к sub7 server editor
на примере этого можно ипхать куда угодно.
кроме того — до некоторых данных ты можешь добраться весьма тривиальным образом :
получить handle этого child-window (для начала можно тем же самым SPYXX)
потом
CWnd * pWnd;
pWnd::FromHandle (hHwnd); pWnd->GetWindowText(...); pWnd->SetWindowText(...); pWnd->GetDlgItemText(...); pWnd->SetDlgItemText(...);
но у меня не получалось так добираться до некоторых окон которые сделаны в Delphi
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// If you add a minimize button to your dialog, you will need the code below
// to draw the icon. For MFC applications using the document/view model,
// this is automatically done for you by the framework.
void CSub7Dlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() — cxIcon + 1) / 2;
int y = (rect.Height() — cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
// The system calls this to obtain the cursor to display while the user drags
// the minimized window.
HCURSOR CSub7Dlg::OnQueryDragIcon()
{
return (HCURSOR) m_hIcon;
}
Здравствуйте scopr21, Вы писали:
S>Например, есть у нас программа с картой месности, а в статус баре кажутся координаты географические того места, где курсор. S>Моя идея — навести мышь на место, а в другой программе эти координаты подсматривать.
S>Как это вообще реализовать можно. S>Пытался через handle окна добраться — ничего не получилось. S>Думал, может какие сообщения WM_SETTEXT, или что-то подобное шлет — нифига не шлет S>Пробовал, как дочерний процесс запустить — тоже ничего не вышло (в смысле до данных добраться).
S>Народ, тема думаю многим интересна будет — дайте плиз наметки — куда пробовать.
S>Заранее спасибо.
В Рихтере подробно описано как внедряться в чужой процесс и там хозяйничать
Могу прислать пример из его книжки.
Саша.
Re[2]: Добраться до данных другого процесса. Это реально?
S>В Рихтере подробно описано как внедряться в чужой процесс и там хозяйничать :) S>Могу прислать пример из его книжки.
Хм, интересно, интересно.
Пошел процесс, пошел, только вот handles далеко не всех контролов, в часности тех, что в
Borland C++ Builder, как TLabel известны, доступны.
А пример из Рихтера — можно по мылу только, ок?
Большой Thanks.
All we are is dust in the wind...
Re[3]: Добраться до данных другого процесса. Это реально?
Здравствуйте scopr21, Вы писали:
S>>В Рихтере подробно описано как внедряться в чужой процесс и там хозяйничать S>>Могу прислать пример из его книжки.
S>Хм, интересно, интересно. S>Пошел процесс, пошел, только вот handles далеко не всех контролов, в часности тех, что в S>Borland C++ Builder, как TLabel известны, доступны.
S>А пример из Рихтера — можно по мылу только, ок?