c++ - 在 QT for Windows 中使用 Win32 API

标签 c++ qt winapi

我正在从 .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);

上面的代码是用 C# 编写的,但我不知道如何在 QT 中使用它们,有人可以给我一个如何执行此操作以及如何在 QT 中使用任何 Win32 API 的示例吗?

最佳答案

查看 DefineDosDevice 的文档和 QueryDosDevice ,您会在底部的表格中看到它们都在“kernel32.lib”库中定义,并在“Windows.h”中声明(间接)。

在你的代码中,你应该#include <Windows.h> : 然后您就可以直接给他们打电话了。

我不确定您的特定编译器/IDE,但如果您在链接时收到有关“未解析的引用”的错误,您可能需要将“kernel32.lib”(来自 Windows SDK)添加到您的库路径。

关于c++ - 在 QT for Windows 中使用 Win32 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11813782/

相关文章:

c - 如何验证文件名在 Windows 中是否有效?

c++ - gcc - 如何使用地址 sanitizer

C++ 头文件和 cpp 文件 - 我该如何管理它们?

c++ - 在 Qt 应用程序中共享 cookie 的最佳方式

user-interface - 用于只读、可滚动、可折叠、图标列表的 Qt 小部件

c++ - 是否有必要销毁工具提示?

c++ - 我应该使用 unsigned char 而不是 int 来存储永远不会大于 255 的值吗?

c++ - 使用 qt 为发送者和接收者自动生成的 Ui

c++ - 在 C++ 中添加自定义字体并在 QML 中按其姓氏调用它们

winapi - Microsoft Active Accessibility 在枚举控件时 super 慢。帮助!