CD ID Auslesen



  • Ich habs 🙂

    So Funzt es bei mir :

    #include <sys/types.h>
    #include <dirent.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <iostream>
    #include <windows.h>
    
    using namespace std;
    
    int main() {
       DIR *dir;
       struct dirent *dirzeiger;
       char quit;  
       MCI_INFO_PARMS mip; 
       MCI_OPEN_PARMS mop; 
       char szIdentity[20];
       MCIERROR error;
       char fehlertext [1024];
       long ret;
       long dvid;
    
       quit = '\0';
    
        memset(&mip, 0, sizeof(mip)); 
        mip.lpstrReturn = szIdentity; 
        mip.dwRetSize = sizeof(szIdentity); 
        mop.lpstrDeviceType= (LPSTR)MAKELONG(MCI_DEVTYPE_CD_AUDIO, 0);
        mop.lpstrElementName="i:";
    
       error =mciSendCommand(0,MCI_OPEN,MCI_OPEN_SHAREABLE|MCI_OPEN_ELEMENT|MCI_OPEN_TYPE|MCI_OPEN_TYPE_ID,(DWORD)&mop);
        mciGetErrorString(error,fehlertext,1024);
        cout <<"return= "<<fehlertext <<endl;
    
         dvid  = mop.wDeviceID;
         cout << "handle : "<<dvid<<endl;
    
       error = mciSendCommand(dvid, MCI_INFO, MCI_INFO_MEDIA_IDENTITY, (DWORD)&mip);
       mciGetErrorString(error,fehlertext,1024);
       cout <<"return= "<<fehlertext <<endl;
       cout << "id= ";
       for(int i=0;i<sizeof(szIdentity);i++)
       {
    
               cout << dec << szIdentity[i];
       }
    
       cout << endl; 
    
          while (quit != 'q')
        {
    
            cout << "Press q to quit " << endl;
            cin >> quit;
        }
        CloseHandle;
    
       return EXIT_SUCCESS;
    }
    

Anmelden zum Antworten