Also bei mir klappt es.
Vollbild-Anwendung: Einfach ein Formular mit windowState = wsMaximized und borderStyle = bsNone.
Auf Knopfdruck startet er das Overlay:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
si: TStartupInfo;
pi: TProcessInformation;
begin
si := Default(TstartupInfo);
si.cb := SizeOf(TStartupInfo);
si.wShowWindow := SW_SHOWNOACTIVATE;
pi := Default(TProcessInformation);
CreateProcess(
'.\OverlayApp.exe',
nil,
nil,
nil,
False,
0,
nil,
nil,
si,
pi
);
end;
Und die Overlay-Anwendung hat in den CreateParams nur
Delphi-Quellcode:
procedure TForm2.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.ExStyle := Params.ExStyle or WS_EX_NOACTIVATE or WS_EX_TOPMOST;
end;