Hi,
In memo1 stehen die Handles aller Fenster der Applikation. Ich versuche an all diese Fenster eine Message zu schicken.
Nur kommt sie da nie an.
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin //cardinal(memo1.lines.Strings[i])
for i:=0 to 1 do SendMessage(cardinal(memo1.lines.Strings[i]),SET_LNG_CMD,0,0);
end;
Hab ich mit dieser Funktion ermittelt:
Delphi-Quellcode:
function EnumWinx(hWnd: THandle; ProcID: PCardinal): Boolean; stdcall;
var
WinProcId: cardinal;
Text: AnsiString;
begin
Result := True;
if IsWindowVisible(hWnd) then
begin
GetWindowThreadProcessID(hWnd, WinProcId);
if ProcID^ = WinProcId then
begin
form1.memo1.lines.add(inttostr(hwnd));
end;
end;
end;
Abgefangen werden die messages, in der jeweiligen Form mit:
Delphi-Quellcode:
const
SET_LNG_CMD = WM_USER+2;
.....
procedure TForm1.GetMessages(var msg: TMsg; var handled: boolean);
begin
if msg.message = SET_LNG_CMD then
begin
......
handled:=true;
end;
end;
Was mach ich falsch? Warum kommt die Message nicht an?
Grüsse
Rainer