我想找到一些Windows API常量的值,例如但不限于 LVM_ENABLEGROUPVIEW & WM_SHOWWINDOW
在网上查看引导我MSDN,它告诉我它们的用途,但不是基础值。
stackOverflow上有一个非常类似的问题Where can I find a list of windows API constants,但是所有答案都是针对.net的,或者假设我有Windows SDK,据我所知,我没有。
那么我在哪里可以找到它们?
如果它有所作为我正在使用Delphi 2007,虽然它在消息单元中有很多内容,但它没有全部内容,包括一些最新的内容。
由于
答案 0 :(得分:11)
答案 1 :(得分:2)
大多数都可以在VCL源代码中找到,主要是在Windows.pas文件中。最好的办法是进行搜索|在文件中查找,键入要查找其值的常量的名称,设置“搜索目录”选项,将文件掩码设置为* .pas,然后输入包含该文件夹的路径Windows.pas。 IDE将查找常量的所有用法并将它们放在“搜索结果”窗口中;双击该窗口中的源代码行将打开该行的文件。
其他人可以像Kevin和GameCat所提到的那样,可以在Windows SDK的标题(.h)文件中找到,可以从MSDN下载。
答案 2 :(得分:2)
优秀的Delphi JEDI项目已将大多数Windows API头文件转换为delphi / pascal。查看JEDI网站上的win32api。
答案 3 :(得分:1)
您可以查看常量的Windows单位源(和相关单位)。他们对使用的评论有限。
Windows SDK帮助提供了更多答案。
在互联网上使用MSDN。
获取完整列表需要进行一些研究。但最终你将能够找到所有的答案。
答案 4 :(得分:1)
您可以使用ApiViewer。 最初是为VB6开发的,它可以设置为以对象pascal语言显示声明,这可以为您节省一些打字。
请注意,它的数据库并不完美。一些函数definitios是不正确的,也有一些常量(比如0xFFFF而不是0xFFFFFFFF)。
答案 5 :(得分:1)
LVM_ENABLEGROUPVIEW和co位于CommCtrls.pas中 - 它们可能在Delphi 2007中,但我没有检查过:
LVM_FIRST = $1000;
LVM_SETGROUPMETRICS = LVM_FIRST + 155;
LVM_GETGROUPMETRICS = LVM_FIRST + 156;
LVM_ENABLEGROUPVIEW = LVM_FIRST + 157;
LVM_SORTGROUPS = LVM_FIRST + 158;
对于Delphi 2007, WM_SHOWWINDOW
应该在Windows.pas中 - 开始搜索SW_HIDE
。或者,您可以查看this post on translating API calls,它不仅具有您正在寻找的值,还会显示如何以类型安全的方式使用它们。
Delphi 2007的CommCtrl.pas有很多消息和API宏在VCL的任何地方都没有使用,在Delphi中没有记录,单位总是值得一看。
更一般地说,如果你在MSDN(或Delphi帮助文件)上查找任何API调用,它会在功能信息下面的底部列出头文件的名称。如果此标头位于Win * .h中,请查看Windows.pas。大多数其他东西都可以在带有该名称的pas文件中找到(所以commctrl.h变成了commctrl.pas)。
更新: LVM_ENABLEGROUPVIEW
以及ListView_EnableGroupView
宏可在Delphi 2007上使用。
答案 6 :(得分:0)
除了其他人所说的(所有有效和好的建议),谷歌是你的朋友。搜索“#define WM_Whatever”。
例如:http://www.google.si/search?&q=%23define+LVM_ENABLEGROUPVIEW