Вожусь с плеером.Ктонибудь не подскажет одну вещь: допустим я использую свой плеер по умолчанию (
if not ('' = System.ParamStr(1)) then with MediaPlayer1 do begin try Filename := System.ParamStr(1); {Ну и так далее...}
) Так вот когда я не закрывая первого экземпляра плеера открываю другой муз. файл, то открывается второй экземпляр плеера и там играет вторая мелодия. А я хочу чтобы 2-я мелодия играла в первом экземпляре.
Вообще,я понял что ParamStr с PostMessage не катит,да?
Получите, распишитесь
const WM_ADD_TO_PLAYLIST = WM_USER + 1010;
procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean); var s: string; begin if Msg.message = WM_ADD_TO_PLAYLIST then begin SetLength(S, MSG.lParam + 1); GlobalGetAtomName(MSG.wParam, PChar(S), MSG.LParam + 1);
MediaPlayer1.FileName := S; MediaPlayer1.Open;
Handled := True;
end; end;
procedure TForm1.FormCreate(Sender: TObject); var h: hwnd; s: string; myAtom: TAtom; begin Application.OnMessage := AppMessage; s := ParamStr(1); h := FindWindow(nil,'MP3 1.8.0.7'); if h <> 0 then begin myAtom := GlobalAddAtom(PChar(s)); PostMessage(H, WM_ADD_TO_PLAYLIST, myAtom, Length(s)); GlobalDeleteAtom(myAtom);