procedure PlaySysSound(Sound: string);
begin
PlaySound(PChar(Sound), 0, SND_ALIAS or SND_ASYNC or SND_NOWAIT);
end;
В качестве параметра, передаётся название системного звука.
Полный список системных звуков можно получить так:
var
r: TRegistry;
lst: TStringList;
begin
lst := TStringList.Create;
r := TRegistry.Create(STANDARD_RIGHTS_READ);
r.RootKey := HKEY_CURRENT_USER;
r.OpenKeyReadOnly('AppEvents\Schemes\Apps\.Default');
r.GetKeyNames(lst);
r.Free;
// Тут мы имее список звуков в lsl// Можем сделать, например Memo1.Lines.AddStrings(lst);
lst.Free;
end;
PlaySound - воспроизведение звуков системой
(PChar(Sound) - передаём название звука
SND_ALIAS - говорит, что играем системный звук
SND_ASYNC - играть асинхронно (не останавливая программу)
SND_NOWAIT - если звуковая система занята, то не нужно ничего играть.
Подробное описание всех флагов в MSDN: http://msdn.microsoft.com/en-us/library/ms712879.aspx
Да тут же все просто.
В том месте программы, где вы хотите воспроизвести звук пишите
PlaySysSound( "Имя_звука" );
Вместо Имя_звука пишем нужное имя. Список имен можно посмотреть в реестре в HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default
Например
PlaySysSound( ".Default" );
люди ведь procedure PlaySysSound(Sound: string); это путь к элементу, а я его не могу найти. если я неправельно всё понял то пожайлуйста обьясните. да и кстати я использую 2007 года выпуска