Я пытаюсь «растянуть» существующее приложение.
Цель - увеличить существующее приложение без изменения кода этого приложения.
Cosntraint заключается в том, что растянутое приложение не будет "замечать" его, поэтому, если приложение запросит размер созданного окна, оно увидит исходный размер, а не измененный размер.окна, использующие SetWindowsHookEx
:
HHOOK hMessHook = SetWindowsHookEx(WH_CBT,CBTProc, hInst, 0);
И:
LRESULT CALLBACK CBTProc( __in int nCode,
__in WPARAM wParam,
__in LPARAM lParam)
{
if (HCBT_CREATEWND == nCode)
{
CBT_CREATEWND *WndData = (CBT_CREATEWND*) lParam;
// Calculate newWidth and newHeight values...
WndData->lpcs->cx = newWidth;
WndData->lpcs->cy = newHeight;
}
CallNextHookEx(hMessHook, nCode, wParam, lParam);
}
Проблема, с которой я сталкиваюсь, заключается в том, что я не могу растянутьПриложение см. в исходных размерах.
Например, если создается форма .NET:
public class SimpleForm : Form
{
public SimpleForm()
{
Width = 100;
Height = 200;
}
}
А позже запрашивается размер:
void QuerySize(SimpleForm form)
{
int width = form.Width;
int height = form.Height;
}
I 'd width
и height
be 100
и 200
, а не измененные значения.Мне не удалось найти правильный крючок, который запрашивает размер существующего окна.
Как правильно перехватить запрос размера окна?