Có ai biết cách đóng khay CD theo chương trình trên Windows 2000 trở lên không? Có khay CD đang mở nhưng dường như tôi không thể đóng nó lại, đặc biệt là dưới W2k.
Tôi đặc biệt đang tìm cách thực hiện việc này từ một tệp bó nếu có thể, nhưng lệnh gọi API sẽ ổn.
Tôi khá thích sử dụng DeviceIOControl vì nó cho phép tôi đẩy mọi loại ổ đĩa di động (chẳng hạn như USB, ổ đĩa flash và khay CD). Da codez để đẩy đĩa chính xác bằng DeviceIOControl là (chỉ cần thêm xử lý lỗi chính xác):
bool ejectDisk(TCHAR driveLetter)
{
TCHAR tmp[10];
_stprintf(tmp, _T("\\\\.\\%c:"), driveLetter);
Xử lý HANDLE = CreateFile(tmp, GENERIC_READ, FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0);
byte DWORD = 0;
DeviceIoControl(xử lý, FSCTL_LOCK_VOLUME, 0, 0, 0, 0, &byte, 0);
DeviceIoControl(xử lý, FSCTL_DISMOUNT_VOLUME, 0, 0, 0, 0, &byte, 0);
DeviceIoControl(xử lý, IOCTL_STORAGE_EJECT_MEDIA, 0, 0, 0, 0, &byte, 0);
CloseHandle(xử lý);
trả về đúng sự thật;
}
Tôi là một lập trình viên xuất sắc, rất giỏi!