Там ошибки быть не может.
Код:
procedure GenerateMsg(ShortCut: string); stdcall;
begin
// MessageBox(0, PChar(ShortCut), '', 0);
if ShortCut = ххх then
begin
....
end
else
if ShortCut = ууу then
begin
...
end;
end;
Почему я уверен, так это потому что, када окно активно то действия между begin и tnd выполняются, но када такое же значение ShortCut и окно не активно, то никакой реакции
