const Num = 13; Spec = Num - 10; keys: array[1..Num] of byte = (byte('X'), byte('V'), byte('C'), byte('B'), byte('Z'), byte('L'), VK_LEFT, VK_RIGHT, VK_UP, VK_DOWN, byte('Q'), byte('S'), byte('N')); var msg: TMsg; id: array[1..Num] of integer; st: string; WA3, handle: THandle; i, key: integer; begin handle:= GetModuleHandle('WAHotKeys'); st:= 'hk '; for i:= 1 to Num do begin st[3]:= char(64+i); id[i]:= GlobalAddAtom(PAnsiChar(st)); RegisterHotKey(handle, id[i], MOD_WIN, keys[i]); end; while GetMessage(Msg, 0, 0, 0) do begin TranslateMessage(Msg); WA3:= findwindow(PAnsiChar(RC_Winamp3), nil); // WinAmp3 window if WA3=0 then WA3:=findwindow(PAnsiChar(RC_Winamp), nil); // WinAmp window if (WA30) then begin if ((msg.LParam shl 16) shr 16)=MOD_WIN then begin // MOD_WIN key:= (msg.LParam shr 16); if key=byte('S') then begin if IsWindowVisible(WA3) then ShowWindow(WA3, sw_minimize) else ShowWindow(WA3, sw_restore); end else if key=byte('N') then begin postmessage(WA3, wm_keydown, byte('B'), 0); postmessage(WA3, wm_keyup, byte('B'), 0); end else if key=byte('Q') then begin // UnRegisterHotKeys for i:= 1 to Num do UnRegisterHotKey(handle, id[i]); Halt(Msg.wParam); end else begin for i:= 1 to (Num-Spec) do begin // for i if key=keys[i] then begin postmessage(WA3, wm_keydown, keys[i], 0); postmessage(WA3, wm_keyup, keys[i], 0); end; end; // for i end; end; // MOD_WIN end; DispatchMessage(Msg); end; Halt(Msg.wParam); end.
эта прграмма позволяет управлять винампом. измените код. надеюсь у вас получится