首页 > 解决方案 > 作为 DWORD 传递给 WIN32 API 函数 MonitorFromWindow 的值

问题描述

vba中调用API的函数:

Private Declare PtrSafe Function MonitorFromWindow Lib "user32" (ByVal HWND As Long, ByVal DWORD As Long) As HMONITOR 

我试图将 0 作为 dword 传递,

Debug.Print MonitorFromWindow(Application.HWND, 0)

希望得到 MONITOR_DEFAULTTONEAREST 但该函数不返回任何内容。以下常数的值是多少?

https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-monitorfromwindow

在此处输入图像描述

例如,其他 API 列出常量下面的值:

在此处输入图像描述

标签: excelvbawindowswinapidll

解决方案


这些常量在 SDK 包含文件“WinUser.h”中定义为

#define MONITOR_DEFAULTTONULL       0x00000000
#define MONITOR_DEFAULTTOPRIMARY    0x00000001
#define MONITOR_DEFAULTTONEAREST    0x00000002

推荐阅读