Cdromlaufwerk eausfahren??
-
Was für ein Fehler kommt denn nicht?
Falls die Defines fehlen, kannst Du das folgende einfügen...
#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)
-
nun gut aber dann kommt folgendern fehler:
line 76 ::: [Warning] backslash and newline separated by space
warum?
gruß julian
Edit: Wie kann in zeile 76 was falsch sein, wo es doch nur 34 zeilen gibt^^
-
In der WinAPI-FAQ wäre es auch zu finden gewesen: http://www.c-plusplus.net/forum/viewtopic-var-t-is-39397.html
-
das geht auch nich, nene kann mal einer das andere da oben mit zeile 76 erklärn?^^
-
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)
-
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 ^^)