Может быть тогда поможете разобрать что этот кусок кода делает???
---
RegisterHotKey(0, 356, Mod_Shift, VK_Space);
RegisterHotKey(0, 358, Mod_Control, VK_End);
Name := ParamStr(1);
if ParamStr(2) <> '' then Name := Name +' ' + ParamStr(2);
if ParamStr(3) <> '' then Name := Name +' ' + ParamStr(3);
if Name = '' then Name := 'Blablabla';
repeat
WaitMessage;
GetMessage(HotKey, 0, WM_HotKey, WM_HotKey);
if HotKey.WParam = 356 then
begin
Handle := FindWindow(nil, PChar(Name));
if Hidden then
begin
Enabled := True;
EnableWindow(Handle, Enabled);
ShowWindow(Handle, SW_Restore);
SetForegroundWindow(Handle);
Hidden := False;
end
else
begin
Enabled := False;
SetForegroundWindow(GetNextWindow(Handle, GW_HWNDPREV));
EnableWindow(Handle, Enabled);
ShowWindow(Handle, SW_Hide);
Hidden := True;
end;
end;
until HotKey.WParam = 358;
EnableWindow(Handle, True);
ShowWindow(Handle, SW_Restore);
SetForegroundWindow(Handle);
---
Хотя бы в общих чертах...

как работает REGISTERHOTKEY...