我正在从 .net C# 迁移到 QT C++,并且我正在尝试使用此 Win32 函数来模拟 QT 中的驱动器:
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern bool DefineDosDevice(int flags, string devname, string path);
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern int QueryDosDevice(string devname, StringBuilder buffer, int bufSize);
Run Code Online (Sandbox Code Playgroud)
上面的代码是用 C# 编写的,但我不知道如何在 QT 中使用它们,有人可以给我一个例子,如何做到这一点以及如何在 QT 中使用任何 Win32 API?
小智 2
感谢您的任何答复!我的问题的答案是:
#include <Windows.h>
void MainWindow::on_pushButton_clicked()
{
QString qstr1 = "Z:";
QString qstr2 = getenv("tmp");
DefineDosDevice(0, (LPCTSTR)qstr1.utf16(), (LPCTSTR)qstr2.utf16());
}
void MainWindow::on_pushButton_2_clicked()
{
QString qstr = "Z:";
DefineDosDevice(2, (LPCTSTR)qstr.utf16(), 0);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11930 次 |
| 最近记录: |