#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 =)