Poniżej masz kod, który ustawiał okno pluginu do WinAmpa o nazwie StreamRipper i klikał na przycisk
""Start" albo "Stop" w jego oknie. Tylko taką metodę znam, z ukazaniem danego okna na wierzchu.
procedure Start_Sr;
var
SR_Rect : TRect;
C, OldC : TPoint;
Lw, Gor : integer;
H, SR_HWND : HWND;
begin
H := GetForeGroundWindow;
GetCursorPos(OldC);
SR_HWND := FindWindow('sripper', nil);
SetForeGroundWindow(SR_HWND);
SendMessage(SR_HWND, WM_SYSCOMMAND, SC_RESTORE, 0);
GetWindowRect(SR_HWND, SR_Rect);
Lw := SR_Rect.Left;
Gor := SR_Rect.Top;
SetCursorPos(Lw + 40, Gor + 128);
GetCursorPos(C);
mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, C.x, C.y, 0, 0);
mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, C.x, C.y, 0, 0);
SetWindowPos(SR_HWND, SR_HWND, Lw, Gor, 0, 0, 0);
SetCursorPos(OldC.X, OldC.Y);
SetForeGroundWindow(H);
end;
procedure Stop_sr;
var
SR_Rect : TRect;
C, OldC : TPoint;
Lw, Gor : integer;
H, SR_HWND : HWND;
begin
H := GetForeGroundWindow;
GetCursorPos(OldC);
SR_HWND := FindWindow('sripper', nil);
SetForeGroundWindow(SR_HWND);
SendMessage(SR_HWND, WM_SYSCOMMAND, SC_RESTORE, 0);
GetWindowRect(SR_HWND, SR_Rect);
Lw := SR_Rect.Left;
Gor := SR_Rect.Top;
SetCursorPos(Lw + 94, Gor + 128);
GetCursorPos(C);
mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, C.x, C.y, 0, 0);
mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, C.x, C.y, 0, 0);
SetWindowPos(SR_HWND, SR_HWND, Lw, Gor, 0, 0, 0);
SetCursorPos(OldC.X, OldC.Y);
SetForeGroundWindow(H);
end;