Cdromlaufwerk eausfahren??



  • und was sagst du nu zu meinem zeilenproblem?^^ also da geht ja irgendwas nich...kannst das mal erklärn, wär nett...
    gruß juli



  • Da Du Deine Zeilen nicht postest sag ich dazu gar nichts...
    PS: Verwende doch ein gscheites IDE (VC2005 Express ist kostenlos!)



  • also das is jo dein qc den du da reingemacht mit deinen defines noch... aber er zeigt mir einen fehler in der nicht vorhandenen zeil 76...

    [warning]backslash and newline separated by space

    #include <windows.h>
    #include <tchar.h>
    #include <stdio.h>
    #include <iostream>
    using namespace std;

    #define FILE_DEVICE_MASS_STORAGE 0x0000002d
    #define CTL_CODE( DeviceType, Function, Method, Access ) ( \
    ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
    )
    #define IOCTL_STORAGE_BASE FILE_DEVICE_MASS_STORAGE
    #define METHOD_BUFFERED 0
    #define FILE_READ_ACCESS ( 0x0001 ) // file & pipe
    #define IOCTL_STORAGE_EJECT_MEDIA CTL_CODE(IOCTL_STORAGE_BASE, 0x0202, METHOD_BUFFERED, FILE_READ_ACCESS)
    #define IOCTL_STORAGE_LOAD_MEDIA CTL_CODE(IOCTL_STORAGE_BASE, 0x0203, METHOD_BUFFERED, FILE_READ_ACCESS)

    int _tmain()
    {
    DWORD dwBytes;
    HANDLE hCdRom = CreateFile(_T("\\\.\\F:"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
    if (hCdRom == INVALID_HANDLE_VALUE)
    {
    _tprintf(_T("Error: %x"), GetLastError());
    return 1;
    }

    // Open the door:
    DeviceIoControl(hCdRom, IOCTL_STORAGE_EJECT_MEDIA, NULL, 0, NULL, 0, &dwBytes, NULL);

    // Close the door:
    DeviceIoControl(hCdRom, IOCTL_STORAGE_LOAD_MEDIA, NULL, 0, NULL, 0, &dwBytes, NULL);

    CloseHandle(hCdRom);
    }



  • Wenn der ein Fehler in Zeile 76 in diesem Quellcode meint, dann musst DU wohl in einem Dev-C++ Forum fragen 😉



  • Mal angenommen, dass die Zeilenangabe fehlerhaft ist und sich die Warnung auf den vorliegenden Code bezieht, hängt es damit zusammen, dass beim Copy&Pasten Leerzeichen hinter das \ am Zeilenende gelangt sind, die dort nicht hinsollten.



  • hmhm das klingt überzeugent, kannst du mir auch verraten wo diese leerzeichen sind?
    mfg juli



  • Jochen Kalmbach schrieb:

    geeky schrieb:

    In der WinAPI-FAQ wäre es auch zu finden gewesen: http://www.c-plusplus.net/forum/viewtopic-var-t-is-39397.html

    Da fehlt aber der aus meiner Sicht "bessere" Code mit dem DeviceIoControl (so kann man zumindest explizit angeben welches CD-ROM verwendet werden soll)

    Das Problem taucht in der FAQ auch auf: http://www.c-plusplus.net/forum/viewtopic-var-t-is-80618.html

    (Aber ich persönlich finde DeviceIoControl() auch schöner ^^)


Anmelden zum Antworten