snowmeteors 发表于 2024-7-25 16:52:42

为什么winapi标准库函数无法找到

https://p.sda1.dev/18/60e9218334502fb73f770d43417d6973/1.png
这段代码,我在vs上都能编译通过,火山为啥找不到RegDeleteTreeA,求大佬解答

uuyyhhjj 发表于 2024-7-25 17:41:11

@视窗.预定义宏   "WINVER=0x0600,_WIN32_WINNT=0x0600"

API要是提示找不到,你看他最低要求是不是非XP

https://learn.microsoft.com/zh-cn/cpp/porting/modifying-winver-and-win32-winnt?view=msvc-170

最低受支持的客户端        Windows Vista [仅限桌面应用]
最低受支持的服务器        Windows Server 2008 [仅限桌面应用]
目标平台        Windows
标头        winreg.h (包括 Windows.h)
Library        Advapi32.lib
DLL        Advapi32.dll

793359277 发表于 2024-7-25 18:03:15

这函数最低系统要求Vista

@视窗.预定义宏   "_WIN32_WINNT=0x0600"

Xelloss0618 发表于 2024-7-25 18:07:18

这个API要求Windows Vista以上系统,需要设置相关的版本宏才能使用。
另外常用的头文件火山已经默认加载,不需要你手动include


<火山程序 类型 = "通常" 版本 = 1 />

方法 RegDeleteTree <公开 静态 类型 = 逻辑型 折叠 @嵌入式方法 = "" @视窗.预定义宏 = "WINVER=0x0600,_WIN32_WINNT=0x0600">
参数 根目录 <类型 = 注册表根目录类型>
参数 注册项名 <类型 = 文本型>
{
    @ (RegDeleteTreeW((HKEY)(UINT_P)@<根目录>, @<注册项名>.GetText()) == ERROR_SUCCESS)
}

snowmeteors 发表于 2024-7-25 21:53:19

感谢各位已解决
页: [1]
查看完整版本: 为什么winapi标准库函数无法找到