Win32API aufrufen
-
Hi,
Ich möchte mit meinem Programm auf die API Funktion PlaySoundFile (winmm.dll) zurückgreifen. Hab aber keine Ahnung wie in VCL eine API eingesetzt wird. Könnt Ihr mir bitte helfen?
Gruß und Danke
-
Du musst eigentlich nur die windows-Header linken.
-
bin totaler C++ Newbie. Hab sowas bis jetzt immer nur mit VB gemacht. Könntest du mir bitte etwas genauer erklären?
Wie Header linken?
Muss die API deklariert werden?
Wie ruf ich dann die Funktion auf?
Gruß und Danke
-
Linken tust du so:
#include<windows.h>
und danach kannst du die Funktion in deinem Programm benutzen.
-
PlaySoundFile ist keine API-Funktion, zumindest kennt die MSDN sowas nicht. Und in winmm.dll gibt es auch keinen entsprechenden Eintrag.
Ganz allgemein gilt:
- Header einbinden
#include <winmm.h>
Viele Windows-Header werden aber bereits durch die vcl.h inkludiert und müssen deshalb nicht mehr explizit eingebunden werden.
- Funktion aufrufen:
PlaySound(...);
- Unter Umständen muss noch die entsprechende Lib zum Projekt hinzugefügt werden (Projekt-Menü), hier wäre das dann theoretisch die winmm.lib.
-
Ahh, ich hab´s! PlaySoundFile funzt nur bei VB. Hier muss das PlaySoundA heißen. Aber da ich den Pfad in einem AnsiString abgelegt hab bekomme ich jetzt folgenden Fehler: Konvertierung von ANSI nach const car nicht möglich.
Wie konvertiert man denn sowas?
Gruß
-
Siehe FAQ unter "AnsiString".
-
Danks @ all! Es funzt!!!!!!!!!!!