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)