函数的隐式声明';SetConsoleScreenBufferInfoEx';
我是C语言的新手,正在制作一个控制台应用程序,需要更改Windows控制台的默认16色调色板。我发现我需要使用这个函数,但是,我的编译器坚持不声明这样的函数(我只包括了函数的隐式声明';SetConsoleScreenBufferInfoEx';,c,windows,winapi,console,console-application,C,Windows,Winapi,Console,Console Application,我是C语言的新手,正在制作一个控制台应用程序,需要更改Windows控制台的默认16色调色板。我发现我需要使用这个函数,但是,我的编译器坚持不声明这样的函数(我只包括了windows.h) 此外,它不识别功能工作所需的控制台屏幕缓冲区信息结构,只识别控制台屏幕缓冲区信息 几天来我一直在寻找解决方案,我找到的最接近的答案是,我需要在代码中指定我针对的是Vista或更高版本的Windows。所以我试着定义 #定义NTDDI#u版本NTDDI#u VISTA和#定义#WIN32#WINNT#WINNT
windows.h
)
此外,它不识别功能工作所需的控制台屏幕缓冲区信息
结构,只识别控制台屏幕缓冲区信息
几天来我一直在寻找解决方案,我找到的最接近的答案是,我需要在代码中指定我针对的是Vista或更高版本的Windows。所以我试着定义
#定义NTDDI#u版本NTDDI#u VISTA
和#定义#WIN32#WINNT#WINNT#u VISTA
,但这也不起作用
请记住,我是C新手,所以请尽量简单地回答和解释(我使用的是Code::Blocks和Windows10)
编辑:我进行了大量搜索,以下是我的发现,有助于为可能有相同问题的人节省时间(下面的许多信息可能是错误的,因此请注意,如果确实是这样,请随时更正):
是一个函数,它只包含在来自的SetConsoleScreenBufferInfoEx
标题(由ConsoleApi2.h
使用)中,因此需要SDK才能工作windows.h
- MinGW编译器。它使用自己的
实现,仅部分支持SDK功能windows.h
- ,以访问SDK功能。(然而,我无法让它工作,所以我只安装了VisualStudioIntead)
有关如何正确包含windows.h,请参阅此问题的答案。答案可能有点过时,因此您必须查找正确的菜单。有关如何正确包含windows.h,请参阅此问题的答案。答案可能有点过时,因此您必须查找正确的菜单。