Hi,
hätt nen kleinen verbesserungsvorshclag, da ich es doch etwas umständlich finde. So muss das Programm doch im Hintergurnd laufen, und auch noch in den Autostart. Das geht auch einfacher, ohne das die Anwendung läuft. Das gleiche habe ich mal in meinen Delphi anfängen gemacht, daher noch ganz easy ohne grosse Sicherheiten.
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, MMSystem;
type
TForm1 =
class(TForm)
Button1: TButton;
Timer1: TTimer;
Timer2: TTimer;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
SndPlaySound(PChar(ParamStr(2)), SND_ASYNC);
//SND_SYNC = Während die Datei abgespielt wird, steht das Prog.
//SND_ASYNC = Die Datei wird unabhängig vom Programm abgespielt
//SND_LOOP = Immer wieder und immer wieder
Label1.Caption := ParamStr(1);
Button1.SetFocus;
Beep;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Beep;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
Timer1.Free;
end;
end.
Der Vorteil jetzt an der ganzen Sache, Du kannst die Anwendung über den Task Planer benutzen der in Windows schon drin ist. Dort planst Du nur die Zeit und gibst der Anwendung einfach zwei Parameter mit auf den Weg. So kann die .exe liegen wo sie mag und muss nie im Hintergrund laufen oder sonst wie.
Starten mal als Beispiel: c:\Pause.exe "es ist pause" "chimes.wav"
Der erste Parameter ist einfach nur ein Text der auf der Form angezeigt wird, der zweite ist die Sounddatei die gleichzeitig abgespielt werden soll. Mehr isses nicht. Und der WMP ist auch nicht nötig... wenn man keine bestimmten Soundformate braucht...