delphi WIN10下Message无法接收的问题


本文整理自网络,侵删。

 
在win10下有些消息无法被正常的接收,比如:
WM_COPYDATA 数据传递
WM_DROPFILES 文件拖拽
这是因为系统为了安全屏蔽了,如果要打开这些消息需要用一个API开启
ChangeWindowMessageFilter
https://msdn.microsoft.com/en-us/library/ms632675

ChangeWindowMessageFilter 函数  
从用户界面特权隔离 (UIPI) 消息过滤器,添加或删除一条消息。  
语法  
BOOL WINAPI ChangeWindowMessageFilter(  
  __in UINT message,  
  __in DWORD dwFlag  
  );  
参数  
message  
要从过滤器添加或删除的消息。  
dwFlag  
要执行的操作。为下列值之一。  
MSGFLT_ADD 添加消息到过滤器,这相当于允许接收该消息。  
MSGFLT_REMOVE 从过滤器中移除消息。这相当于阻止该消息。  
返回值  
如果成功返回true,否则返回false。要获取扩展的错误的信息,请调用GetLastError .  

比如 ChangeWindowMessageFilter(WM_COPYDATA,MSGFLT_ADD);

相关阅读 >>

Delphi 几个和当前路径相关的新函数

Delphi 过滤开头 结尾 全部 空格的函数

Delphi 如何确定access数据库中存在某一个已知名的表

Delphi 获取本地ip地址源码

Delphi 创建多级目录

Delphi ioutils单元查找文件夹高级功能

Delphi winapi: getdesktopwindow - 返回桌面窗口的句柄

Delphi touchkeyboard1 基本用法

Delphi 中的颜色

Delphi 实现php的urlencode编码效果

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...