禁止从我的应用程序拖放到我的应用程序中
本文关键字:我的 应用程序 拖放 禁止 | 更新日期: 2023-09-27 18:31:56
我刚刚在我的应用程序中实现了拖放。它有两种方式:
- 从我的应用到 Windows 资源管理器:导出文件
- 从 Windows 资源管理器到我的应用:导入文件
一个副作用是,我还可以将文件从我的应用程序拖动到我的应用程序(同一窗口),这不是故意的。
有没有一种优雅的方法来确保我启动的拖放操作不会被我的应用程序接受? 例如,检查删除操作的来源!=我的应用程序?
您需要使用某种工具或服务注册从应用程序内部启动拖动的事实。如果您的应用程序收到删除,请询问设施/服务是否在您的应用程序中启动了拖动。如果是这样,请丢弃。之后重置设施/服务(无论如何)。
我刚刚想出一种方法来做到这一点。现在,我在拖放数据对象上设置了两种类型的数据:
- 我要导出的文件名
- 包含应用程序名称的 Unicode-Text 对象
在我的 Drop-handler 中,我检查是否存在 Unicode-Text 对象以及它是否包含我的应用程序名称。如果是这样,我将中止删除操作。