Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - windows fehler sound
110022 - Mi 28.11.07 15:02
Titel: windows fehler sound
ihr kennt sicher so normale programme wie den editor.
wenn man einen text eingibt und schließt kommt eine meldung mit sound.
wie lautet der Befehl für den sound??
Atreyu - Mi 28.11.07 15:14
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| uses mmsystem;
procedure TForm1.Button1Click(Sender: TObject); begin PlaySound('SystemStart', nil, SND_SYNC); end; |
Würde zum Beispiel den SystemStart Sound abspielen.
Moderiert von
Narses: Code- durch Delphi-Tags ersetzt
iKilledKenny - Mi 28.11.07 15:14
Delphi-Quelltext
1:
| MessageBeep (MB_ICONASTERISK); |
Gruss
Atreyu - Mi 28.11.07 15:18
Wenn du die Standard-Wind-Sounds abspielen willst, ich hab hier ne Liste:
Zitat: |
Sound Events Table
==================
SystemAsterisk - Asterisk
Default - Default Beep
EmptyRecycleBin - when recycle bin is emptied
SystemExclamation - when windows shows a warning
SystemExit - when Windows shuts down
Maximize - when a program is maximized
MenuCommand - when a menu item is clicked on
MenuPopup - when a (sub)menu pops up
Minimize - when a program is minimized to taskbar
MailBeep - when email is received
Open - when a program is opened
SystemHand - when a critical stop occurs
AppGPFault - when a program causes an error
SystemQuestion - when a system question occurs
RestoreDown - when a program is restored to normal size
RestoreUp - when a program is restored to normal size from taskbar
SystemStart - when Windows starts up
Close - when program is closed
Ringout - when (fax) call is made outbound and the line is ringing
RingIn - incoming (fax) call |
110022 - Mi 28.11.07 15:24
@Atreyu:
Das klappt nich richtig
Ich bekomme ne meldung
Delphi-Quelltext
1:
| [Fehler] Unit1.pas(28): Inkompatible Typen: 'Cardinal' und 'Pointer' |
wie bekomme ich das weg?
Agawain - Mi 28.11.07 15:31
PlaySound(PChar('SystemStart'), nil, SND_SYNC);
110022 - Mi 28.11.07 15:33
klappt auch nicht
die selbe meldung kommt wieder
110022 - Mi 28.11.07 20:40
kann einer das bitte verbessern? :roll:
bin damit komplett überfordert :oops:
Dunkel - Mi 28.11.07 20:47
Delphi-Quelltext
1:
| PlaySound('SystemStart', 0, SND_SYNC); |
Agawain - Mi 28.11.07 20:49
hi
das mit dem pchar in der Funktion vergiß mal bitte wieder, hab da falsch geraten.
So wie Atreyu es geschrieben hat, ist es richtig, aber auch klar ist, dass es nicht an dieser Funktion liegen kann,der Wurm steckt woanders drin und ohne Quelltext kann man Dir nicht helfen.
:nixweiss:
110022 - Mi 28.11.07 20:52
dunkel hats gelöst
trotzdem danke
Tilman - Mi 28.11.07 20:54
Wenn du genau so eine Box wie bei Notepad anzeigen willst kannst du den MessageBox-Befehl verwenden, der Sound wird dann automatisch abgespielt:
Delphi-Quelltext
1:
| messageBox(handle,'Speichern?','Datei',48); |
Du kannst dir auch gratis meinen MessageBox-Editor runterladen:
http://www.delphi-forum.de/viewtopic.php?t=50136
Agawain - Mi 28.11.07 21:27
huch
jetzt hab ich gedacht, wieder was falsch gelesen, aber hiernach
http://www.dsdt.info/tipps/?id=579
ist das mit nil und nicht mit 0.
Auch meine SDK-Hilfe sagte aus, dass da ein Handle unter bestimmten Bedngungen erwartet wird.
Na jedefalls gut zu wissen, da man da in eine Falle laufen kann
Dunkel - Mi 28.11.07 21:39
Agawain hat folgendes geschrieben: |
Auch meine SDK-Hilfe sagte aus, dass da ein Handle unter bestimmten Bedngungen erwartet wird.
|
PSDK hat folgendes geschrieben: |
BOOL PlaySound(
LPCSTR pszSound,
HMODULE hmod,
DWORD fdwSound
);
hmod : Handle to the executable file that contains the resource to be loaded. This parameter must be NULL unless SND_RESOURCE is specified in fdwSound. |
So steht's geschrieben,
NULL = nil, denkt man. Da HMODULE AFAIR ein Cardinal ist (kein PCardinal!) übergibt man halt einfach eine 0 statt NULL. Aus dem Kopf hätte ich es aber auch mit
nil gemacht.
Agawain - Mi 28.11.07 22:23
Deswegen hatt ich ja im ersten Post auf PChar getippt,
Witzig, die Jungs von shellapi reiten auf enier anderen Welle, als die von mmsystems.
Nur die Dokumentationsabteilnung ist sich einig, dass die Strings, die übergeben werden, gelegentlich alle LPCSTR heissen, was hiernach eigentlich immer ein Pointer sein sollte
http://www.programmersheaven.com/mb/CandCPP/105233/105233/ReadMessage.aspx
Reizend :roll:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!