gpt4 book ai didi

c++ - 试图打开 CD 托盘

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:23:32 26 4
gpt4 key购买 nike

我正在尝试使用一段代码打开和关闭计算机的 CD 托盘。我一直在使用 MCI 命令,并将 winmm.lib 包含在我的项目配置的附加依赖项中。我还包含了 windows.hmmsystem.h

我使用的代码如下:

mciSendCommand(0, MCI_SET, MCI_SET_DOOR_OPEN, NULL);
mciSendCommand(1, MCI_SET, MCI_SET_DOOR_CLOSED, NULL);

代码构建并运行良好,只是没有 CD 托盘操作在进行!谁能建议我需要如何调整它?

最佳答案

如果您有多个 CD 驱动器,您应该使用以下代码:

#include <windows.h>  
#include <tchar.h>
#include <stdio.h>

int _tmain()
{
DWORD dwBytes;
HANDLE hCdRom = CreateFile(_T("\\\\.\\M:"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
if (hCdRom == INVALID_HANDLE_VALUE)
{
_tprintf(_T("Error: %x"), GetLastError());
return 1;
}

// Open the door:
DeviceIoControl(hCdRom, IOCTL_STORAGE_EJECT_MEDIA, NULL, 0, NULL, 0, &dwBytes, NULL);

Sleep(1000);

// Close the door:
DeviceIoControl(hCdRom, IOCTL_STORAGE_LOAD_MEDIA, NULL, 0, NULL, 0, &dwBytes, NULL);

CloseHandle(hCdRom);
}

关于c++ - 试图打开 CD 托盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21908144/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com