解决因 管理员运行 无法接收 WM_DROPFILES 消息问题

这毛病好像时从 Vista 开始的,好像跟安全权限机制体系有关。

.版本 2

.DLL命令 ChangeWindowMessageFilterEx, 逻辑型, "user32", "ChangeWindowMessageFilterEx"
    .参数 hwnd, 整数型
    .参数 message, 整数型
    .参数 action, 整数型
    .参数 pChangeFilterStruct, 整数型

.DLL命令 ChangeWindowMessageFilter, 逻辑型, "user32", "ChangeWindowMessageFilter"
    .参数 message
    .参数 dwFlag

.版本 2

.子程序 _ChangeMessageFilter
.局部变量 hDllLib
.局部变量 fpFun


hDllLib = LoadLibraryA (“user32.dll”)
fpFun = GetProcAddress (hDllLib, “ChangeWindowMessageFilterEx”)

.如果真 (fpFun > 0)
    ChangeWindowMessageFilterEx (var.hWnd, #WM_DROPFILES, 1, 0)
    ChangeWindowMessageFilterEx (var.hWnd, #WM_COPYDATA, 1, 0)
    ChangeWindowMessageFilterEx (var.hWnd, #SPI_SETANIMATION, 1, 0)
    ChangeWindowMessageFilterEx (var.hWnd, #WM_COPYGLOBALDATA, 1, 0)
.如果真结束

FreeLibrary (hDllLib)

评论功能被我吃了。