Ich habe einen WH_CBT-hook eingerichtet in einer
dll. In der
dll fange ich die Message
HCBT_MINMAX ab und überprüfe anschliessend ob ein Fenster minimiert wird (
if loword(lParam) = SW_MINIMIZE then ...). Bis hier hin geht noch alles ohne Probleme. Der Code geht sogar. Ich weiss nun lediglich nicht, wie ich die Message so verändern kann, dass ein Fenster nicht minimiert wird sondern immer maximiert. Mir ist klar, dass ich dafür irgendwie SW_MINIMIZE zu SW_MAXIMIZE abändern muss. Wie kann ich nun den Parameter lParam so ändern, dass immer wenn man ein Fenster minimieren will es maximiert wird?
Teile des Quellcodes bis jetzt:
Delphi-Quellcode:
...
SetWindowsHookEx(WH_CBT, @CBTHookFunc, HInstance, 0);
...
Die Funktion CBTHookFunc sieht so aus:
Delphi-Quellcode:
function CBTHookFunc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LResult; stdcall;
begin
{überprüfen ob Fenster Maximiert oder Minimiert wird}
if nCode = HCBT_MINMAX then begin
{Überprüfen ob Fenster minimiert wird}
if loword(lParam) = SW_MINIMIZE then begin
{Code zum ändern von SW_MNIMIZE zu SW_MAXMIZE, aber wie?}
end;
end;
result := CallNextHookEx(cbthhook, nCode, wParam, lParam);
end;
Danke für eure Hilfe