View Full Version : [C++] Headers
l'altro giorno un mio amico mi parlava di alcuni headers che permettevano funzioni come aprire e chiudere il cassetto del disco, far lampeggiare pixel e accendere e spegnere le luci sul case
purtroppo non ricordo il nome, e vorrei sapere se avete capito di cosa si tratta.
grazie mille :)
dubito esista qualcosa di standard. su linux alcune cose (sicuramente la gestione del cassetto del cdrom) le puoi gestire tramite ioctl
ad esempio
ioctl(cdrom,CDROMEJECT,0)
apre il cassettino
ciao ciao!!!
il mio amico pero ha win e riesce a fare tutte queste cose lo stesso..
trallallero
17-08-2006, 15:47
dubito esista qualcosa di standard. su linux alcune cose (sicuramente la gestione del cassetto del cdrom) le puoi gestire tramite ioctl
ad esempio
ioctl(cdrom,CDROMEJECT,0)
apre il cassettino
ciao ciao!!!
digliela tutta a 'sto punto ;)
#include <stdio.h>
#include <time.h>
#include <sys/ioctl.h>
#include <linux/cdrom.h>
#include <fcntl.h>
int main()
{
int cd = open("/dev/cdrom", O_RDONLY);
ioctl(cd, CDROMEJECT,0);
return 0;
}
ciao
trallallero
17-08-2006, 15:49
il mio amico pero ha win e riesce a fare tutte queste cose lo stesso..
anche mio cuggino :D
io su win non ti posso aiutare, devi aspettare che torni qualcuno come "andbin" dalle ferie ;)
Sennó cerca su msdn
devi aspettare che torni qualcuno come "andbin" dalle ferie ;)Sono già qui ... non sono mai partito ... :(
Tornando al problema di AngeL), non so di quali header sta parlando. Dovrebbe anche specificare per quale piattaforma (DOS, Windows, Linux, ecc...). Gestire da programma l'hardware non è una cosa semplice e sopratutto è una cosa assolutamente system-dependent.
Su Windows (Win32) per aprire lo sportello di un lettore CD si possono usare le funzioni MCI (Media Control Interface).
Ecco un esempio:
#define STRICT
#include <windows.h>
INT APIENTRY WinMain (HINSTANCE hInstance, HINSTANCE hPrevious, LPSTR lpszCmdLine, INT iCmdShow)
{
mciSendString ("open D: type cdaudio alias cddev wait", NULL, 0, NULL);
mciSendString ("set cddev door open wait", NULL, 0, NULL);
mciSendString ("close cddev", NULL, 0, NULL);
return 0;
}Alcune note:
- D: indica la lettera del drive relativo al CDROM.
- Si dovrebbe testare il valore di ritorno di mciSendString (non l'ho fatto per brevità).
- Linkare con la libreria Winmm.lib.
non riesco a trovare la dir di installazione del framework... qualcuno di voi sa qual è?
p.s. quando provo a compilare un semplice progetto da errore durante la creazione di "cl.exe". ovviamente non so cosa sia :D
trallallero
18-08-2006, 07:05
Sono già qui ... non sono mai partito ... :(
e hai fatto bene, guarda che tempo :asd:
ad Agosto é meglio starsene in ufficio o a casa ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.