Programowanie w języku C/C++ » FAQ

Jak wysunąć szufladkę CD-ROM-u

  • 2009-09-29 18:45
  • 9 komentarzy
  • 4271 odsłon
  • Oceń ten tekst jako pierwszy
Uniwersalny sposób dzięki któremu wysuniemy szufladkę z dowolnego napędu optycznego.

#include <windows.h>
 
/*
...
*/
 
//otwieramy volumin napędu optycznego (tj. pod literą H)
HANDLE hwnd = CreateFileA("\\\\.\\H:", GENERIC_READ, FILE_SHARE_WRITE | FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
 
if (hwnd != INVALID_HANDLE_VALUE)
{
        DWORD cc;
        //wysuwamy szufladkę
        DeviceIoControl( hwnd, IOCTL_STORAGE_EJECT_MEDIA,
                NULL, 0, NULL, 0, &cc, NULL
        );
        //wsuwamy szufladkę
        DeviceIoControl( hwnd, IOCTL_STORAGE_LOAD_MEDIA,
                NULL, 0, NULL, 0, &cc, NULL
        );
        //zamykamy uchwyt
        CloseHandle(hwnd);
}

9 komentarzy

Mammoth 2009-10-05 21:52

1. plagiat - przecież to zupełnie inny sposób jest - sam do tego doszedłem ;-) Poprzedni korzysta z MCI. Poza tym powyższy kod demonstruje jak dobrać się do sprzętu. Można np. odczytywać powierzchnię CD-ROMu (tzn. zgrywać obrazy ISO).
2. pełno taki rzeczy na necie jest - na tej stronie nie ma nic specjalnie unikatowego ;-) bez urazy

Patryk27 2009-09-30 20:31

<quote>kurde pelno takich rzeczy po necie lata =}</quote> no niby racja, ale niektórzy mają bana na google ;)

Demonical Monk 2009-09-29 18:46

Mammoth, nie zmieniaj tego znowu na Delphi. Ten FAQ przeniosłem do działu C++ bo:
1. Były w nim podane dwa sposoby: implementacji w CPP i Delphi
2. Implementacja w Delphi jest w kategorii Żarty w Delphi więc ją wywaliłem (bo to duplikat) i zrobiłem to jako FAQ o C++.

Demonical Monk 2009-09-28 22:37

I w ten sposób artykuł pierwotnie napisany przez Adama o otwieraniu tacki w Delphi dokonał mutacji do kodu C++ w innej kategorii.
Anyway chyba nie ma sensu trzymać 2 artów o tym samym

Demonical Monk 2009-09-28 22:34

Kod CPP w dziale Delphi?
Szczególnie, że coś takiego już jest w mojej kategorii:
CD Machacz

Coldpeer 2006-06-17 20:13

Seigba: i jaki z tego morał?

Seigba 2006-06-17 20:05

kurde pelno takich rzeczy po necie lata =}

tomksoft 2004-04-25 14:24

ja ma dwa CD-room-y i mi nie działa ;-(