MCI und zwei CD LW



  • Hallo !

    Wie kann ich zwei CD LW mit MCI ansprechen (nicht gleichzeitig) ?
    Normalerweise wird einem ja immer das primäre Laufwerk geliefert.



  • Mit
    open "d:" type CDAudio alias nenLaufwerkAlias
    das Laufwerk öffnen und dann in weiteren MCI-Calls einfach statt CDAudio den Alias "nenLaufwerkAlias" benutzen 😉

    Hier Laufwerk öffnen und schließen von beliebigen CD-LWs:

    // test_cdeject.cpp : Defines the entry point for the application.
    //
    
    #include "stdafx.h"
    #include "mmsystem.h"
    
    int cd_open(char *lw);
    int cd_close(char *lw);
    
    int APIENTRY WinMain(HINSTANCE hInstance,
                         HINSTANCE hPrevInstance,
                         LPSTR     lpCmdLine,
                         int       nCmdShow)
    {
    	cd_open("e");
    	cd_close("e");
    
    	return 0;
    }
    
    int cd_open(char *lw)
    {
    	char retString[256];
    	char mciCmd[100];
    
    	wsprintf(mciCmd,"open \"%s:\" type CDAudio alias audio_lw shareable",lw);
    	if (mciSendString(mciCmd,retString,sizeof(retString),NULL)!=0)
    	{
    		// Fehler!
    		OutputDebugString("Laufwerk-Alias konnte nicht geöffnet werden!\n");
    		return 0;
    	}
    
    	if (mciSendString("Set audio_lw Door Open",retString,sizeof(retString),NULL)!=0)
    	{
    		// Fehler!
    		OutputDebugString("Laufwerk konnte nicht geöffnet werden!\n");
    		return 0;
    	}
    
    	if (mciSendString("close audio_lw",retString,sizeof(retString),NULL)!=0)
    	{
    		// Fehler!
    		OutputDebugString("Laufwerk-Alias konnte nicht geschlossen werden!\n");
    		return 0;
    	}
    
    	return 1;
    }
    
    int cd_close(char *lw)
    {
    	char retString[256];
    	char mciCmd[100];
    
    	wsprintf(mciCmd,"open \"%s:\" type CDAudio alias audio_lw shareable",lw);
    	if (mciSendString(mciCmd,retString,sizeof(retString),NULL)!=0)
    	{
    		// Fehler!
    		OutputDebugString("Laufwerk-Alias konnte nicht geöffnet werden!\n");
    		return 0;
    	}
    
    	if (mciSendString("Set audio_lw Door Closed",retString,sizeof(retString),NULL)!=0)
    	{
    		// Fehler!
    		OutputDebugString("Laufwerk konnte nicht geöffnet werden!\n");
    		return 0;
    	}
    
    	if (mciSendString("close audio_lw",retString,sizeof(retString),NULL)!=0)
    	{
    		// Fehler!
    		OutputDebugString("Laufwerk-Alias konnte nicht geschlossen werden!\n");
    		return 0;
    	}
    
    	return 1;
    }
    

Anmelden zum Antworten