gpt4 book ai didi

c++ - 在 Qt 项目中使用 mciSendString

转载 作者:太空宇宙 更新时间:2023-11-04 12:06:15 25 4
gpt4 key购买 nike

我正在尝试使用 mciSendString 函数在 Qt 中打开和关闭光盘托盘。这是代码:

#include <windows.h>
MCIERROR mciSendString(LPCTSTR lpszCommand, LPTSTR lpszReturnString, UINT cchReturn, HANDLE hwndCallback);
void OpenCD()
{
mciSendString((LPCTSTR)"set cdaudio door open",(LPTSTR)NULL, (UINT)0, (HANDLE)NULL);
}
void CloseCD()
{
mciSendString((LPCTSTR)"set cdaudio door closed",(LPTSTR)NULL, (UINT)0, (HANDLE)NULL);
}

但我收到此错误:“未定义对 `mciSendStringW(wchar_t const*, wchar_t*, unsigned int, void*)' 的引用”如何修复此错误并毫无问题地使用 mciSendString 函数?

最佳答案

尝试将下一行添加到 pro 文件中:

LIBS += path_to_lib/Winmm.lib

LIBS += path_to_lib/Winmm.dll

您还可以包含 Mmsystem.h 和 Windows.h

Link
例如:
Pro 文件包含从已安装的 SDK 到 lib 文件的链接:

LIBS += $$quote(C:\\Program Files\\Microsoft SDKs\\Windows\\v7.0A\\Lib\\WinMM.lib)

在 cpp 文件中:

#include "Windows.h"
#include "mmsystem.h"
//MCIERROR mciSendString(LPCTSTR lpszCommand, LPTSTR lpszReturnString, UINT cchReturn, HANDLE hwndCallback);
...
void MainWindow::on_pushButton_clicked() {
mciSendString((LPCTSTR)"set cdaudio door open",(LPTSTR)NULL, (UINT)0, (HWND__*)0);
}

关于c++ - 在 Qt 项目中使用 mciSendString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11960101/

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