我正在编写一个程序,可以自动完成在检测到可移动设备时必须完成的某些任务。最初只使用文件流。当我意识到并非所有可移动设备都能以这种方式访问时,我开始使用SHFileOperation,但现在我意识到即使使用这种方法也无法访问某些设备。
我想使用WPD API,但我的程序是使用MingW编译的,它使用的库也是使用MingW编译的。我看到的唯一两种可能性是重新编译Visual C ++的所有内容(我希望尽可能避免这种情况)或编写一个小的包装库,它将作为DLL编译,只能导出函数,并且可以从使用MingW编译的程序轻松链接即使DLL本身是用Visual C ++编译的(因此它可以使用WPD API)。
例如,如果有人知道已经包装了WPD的库,那将节省我很多时间。
答案 0 :(得分:1)
我不认为您会找到WPD的任何通用包装器,因为API公开了可以直接从MinGW访问的COM接口。问题是没有MinGW兼容的头文件声明接口和相关类型。很少有可能的解决方案不涉及使用Microsoft的编译器:
IDispatch
)。 Windows SDK文档briefly addresses此选项。