Spacja ze ścieżki - odczytuje pierwszy plik, ponieważ drugi ma spację

0

Witam, robię sobie taki malutki programik w delphi, który nakłoni matkę do kupna nowej myszki :D (chytry BSOD) i napotkałem się z problemem:

Używam PlaySound (MMsystem) i gdy chcę, żeby odtwarzał się dźwięk o ścieżce:
%windir%\Media\Windows XP - Błąd krytyczny.wav

Program odtwarza mi dźwięk o następującej ścieżce:
%windir%\Media\Windows XP - Błąd.wav

Wiem, że przyczyną tego jest to, iż jest tam zawarta spacja, lecz nie wiem jak to rozwiązać, zmiana nazwy oczywiście odpada, a nie chcę dodawać do prog. dźwięku. : )

0

Nie warto się męczyć. Szybciej zbierzesz sam pieniądze na tą myszkę.

btw. czemu zmiana nazwy nie wchodzi w grę ?

0

Pokaż kod. A dźwięk w razie czego możesz dodać do zasobów.

0

Od kiedy kurde bluescreen jakiś dźwięk odtwarza? :O

0

@up
Uwierz, że nie uzbieram :D
FULL SCREEN, Chowanie kursora, dźwięk przy wciśnięciu klawisza, autostart, zablokowany WinKey, zablokowane wciskanie CTRL+ALT+DEL.

  1. Jeszcze zapomnę skasować kopię (jeszcze nie wiem gdzie to ukryję)
  2. Chcę się nauczyć też czegoś przy robieniu tego i na przyszłość będę pamiętał.

Się pewnie wkurzy... ale nie ma innego wyboru, bo nie będzie miała jak siedzieć na kompie ^^

@Edit

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  PlaySound(nil, 0, SND_PURGE); 
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  PlaySound(nil, 0, SND_PURGE); 
  PlaySound('"%windir%\Media\Windows XP - Błąd.wav"', 0, SND_ASYNC or SND_FILENAME);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  PlaySound('%windir%\Media\Windows XP - Błąd krytyczny.wav', 0, SND_FILENAME);

end;
0

BSoD niczego nie odtwarza bo nie może - to bardzo obcięty mechanizm (właściwie to, ten co go wyświetla) w jądrze systemu, do obsługi błędów w sterownikach i problemów ze sprzętem, w tym urządzeniami audio.

Patrz i płacz, ślepoto:

C:\WINDOWS\Media>dir *Błąd* /b
Windows XP -  Błąd krytyczny.wav
Windows XP - Błąd sprzętu.wav
Windows XP - Błąd.wav

Klawisze "klikają" bo BIOS maltretuje pc speaker. Po cholerę spację kasujesz? To dwie RÓŻNE nazwy plików, masz błąd FILE_NOT_FOUND przez to. Zobacz co Ci zwraca PlaySound i GetLastError.

0

Skasowałem najpierw, ponieważ myślałem, że może go odtworzy poprawnie i zapomniałem przywrócić.
Nie wiem czemu, ale gdy przywróciłem tą spację dalej nie działa.

@Edit Przepraszam za dziwnie sklejony tekst - telefon.

Zrobiłem sobie z ładowanie pliku z zasobów, mało waży to mi nic nie zaszkodzi :).

@Można zamknąć

1 użytkowników online, w tym zalogowanych: 0, gości: 1