使用Windows的WMI库,如何弹出安装在特定CD/DVD驱动器中的CD ROM?
我要求来自WMI文档或示例的资源,因为我在Python上使用wmi.py库.
如果解决方案满足比Windows 2000更新的Windows计算机并具有多个CD-ROM,那将是很棒的.(即我有D:F:驱动器,两者都是CD-ROM驱动器.我可能想在F中弹出cd:具体来说.)
在网上搜索但找不到任何相关内容.最后一个解决方案必须是第三方二进制文件并从shell执行.
在 Linux 中检测 CDROM 介质移除和插入的最简单方法是什么?我想编写一些简单的代码来处理这个问题。例如,只需绑定一个媒体插入事件并实现处理程序。
谢谢!
我正在编写一个可以与音频CD和混合CD一起使用的应用程序.我想有一种方法来确定当前在应用程序使用的驱动器中是否存在音频或混合类型(具有至少一个音轨)光盘.
到目前为止,我能够确定驱动器是CD-ROM GetDriveType.但是,事实证明,识别驱动器内部的媒体并不容易.这是我到目前为止所得到的:
int drive_has_audio_disc(const char *root_path)
{
char volume_name[MAX_PATH+1];
BOOL winapi_rv;
DWORD fs_flags;
int rv;
winapi_rv = GetVolumeInformation(root_path, volume_name, sizeof(volume_name),
NULL, NULL, &fs_flags, NULL, 0);
if(winapi_rv != 0)
{
rv = (strcmp(volume_name, "Audio CD") == 0 &&
(fs_flags & FILE_READ_ONLY_VOLUME));
}
else
{
rv = (GetLastError() == ERROR_INVALID_PARAMETER) ? 0 : -1;
}
return rv;
}
Run Code Online (Sandbox Code Playgroud)
但是,它依赖于Windows为所有被识别为音频的光盘分配名称"Audio CD"的事实.这感觉不对,并且在混合模式CD上会失败,因为它们在Windows中的名称由数据轨道的卷名决定.此外,else块在这里是因为我注意到GetVolumeInformation返回错误,GetLastError等于ERROR_INVALID_PARAMETER驱动器中根本没有光盘.
理想情况下,我正在寻找类似CDROM_DISC_STATUSLinux上的ioctl之类的东西.它返回CDS_NO_INFO,CDS_AUDIO,CDS_MIXED,或者一些其他值,具体取决于光盘的内容.
有没有其他办法处理这个?那么混合模式光盘呢?
我环顾四周,无法找到我想做的简单解决方案.
我想从我的C#应用程序中打开一张CD-Rom.它应该检查媒体是否实际上是一个光盘,然后打开它.有没有快速的解决方案或我错过了什么?
我有一个客户端有一个静态站点,其中包含几个HTML索引的MS Word和.xls文件,他们希望在CD Rom上分发(即没有Web服务器).他们希望可以搜索此内容(HTML和链接的DOC和XLS文件).我很想从这整个事情中制作一个PDF,但它似乎是一个生硬的工具.
有谁能建议更好的解决方案?