Program za auto otvaranje i zatvaranje cd traya
hehe, samo kako to izvesti na laptopu....(samo se šalim znam da se nemoze).
hehe, samo kako to izvesti na laptopu....(samo se šalim znam da se nemoze).
Može samo otvoriti =)
e care zašto to meni neradi jel možda jer imam windows 7 ili sam negdje za*** dok sam kopiro naredbu, spremi se u .bat ne? i ono nutra sam stavio e disk jer je e moj, i neče
e care zašto to meni neradi jel možda jer imam windows 7 ili sam negdje za*** dok sam kopiro naredbu, spremi se u .bat ne? i ono nutra sam stavio e disk jer je e moj, i neče
To kopiraš u bilokoji c++ IDE s kompajlerom, i kompajliraš ( Dev c++ ajmo reć)
Mislim da nije problem u wins 7 =)
Fora! Ovo unutar if-uvjeta bi se moglo napisati i ovako:
if ((hDrive != INVALID_HANDLE_VALUE) && (NO_ERROR == GetLastError()))
{
DWORD dwDummy = 0, naredba;
Open ? naredba = IOCTL_STORAGE_EJECT_MEDIA : naredba = IOCTL_STORAGE_LOAD_MEDIA;
bRetVal = DeviceIoControl(hDrive, naredba, NULL, 0, NULL, 0, &dwDummy, NULL);
}
Na ovaj nacin vidis da je poziv funkcije isti (ne trebas dvaput pisati kilometarsku naredbu s DeviceIoControl funkcijom), samo sto CD/DVD uredjaju posaljes drugu naredbu.
#include "wtypes.h"
#include "winioctl.h"
#include <string>
using namespace std;
bool OpenCloseDoor(const string& DriveName, const bool Open)
{
const string Drive = string("\\\\.\\") + DriveName + string(":");
HANDLE hDrive = INVALID_HANDLE_VALUE;
hDrive = CreateFile(Drive.c_str(), GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
BOOL bRetVal = FALSE;
if ((hDrive != INVALID_HANDLE_VALUE) && (NO_ERROR == GetLastError()))
{
DWORD dwDummy = 0;
if (Open)
{
bRetVal = DeviceIoControl(hDrive, IOCTL_STORAGE_EJECT_MEDIA,
NULL, 0, NULL, 0, &dwDummy, NULL);
}
else
{
bRetVal = DeviceIoControl(hDrive, IOCTL_STORAGE_LOAD_MEDIA,
NULL, 0, NULL, 0, &dwDummy, NULL);
}
}
return (!!bRetVal);
}
int main()
{
OpenCloseDoor("D", true); //D je ime mog cd traya,zamjenite ga sa svojim
OpenCloseDoor("D", false);
return 0;
}
Poželjno bubnut u petlju za bolji dojam =)