delphi WIN10下Message无法接收的问题  
官方Delphi 学习QQ群: 682628230(三千人)
频道

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);

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.2128758430481 seconds