求救:WPF拖拽文件后释放文件时怎样判断是否为指定的目标软件

jasonlee0927 2016-06-01 03:07:19
我要在WPF里实现从窗体里面拖拽一个文件出去,在拖拽释放的时候判断我释放文件的目标对象是否为我指定的软件,如果是则将该文件打开,如果不是指定的软件就什么都不做。(例如:我从WPF窗体里拖拽一个123.txt文件出来,释放鼠标的时候要判断目标软件是否为notepad,如果是notepad就直接打开123.txt这个文件,如果不是,则不做任何操作)。找了些资料,都说要用鼠标钩子。请教各位大神怎么实现啊?
...全文
266 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
data-v 2019-11-11
  • 打赏
  • 举报
回复
对了,要是拖到那个程序上,如果那个程序在DragEnter/DragMove读取数据,之后再判断就已经晚了
data-v 2019-11-11
  • 打赏
  • 举报
回复
呃,你到底是要拖动到explorer中那个程序的图标上,还是拖到那个程序上啊
data-v 2019-11-11
  • 打赏
  • 举报
回复
钩子或GetCursorPos获取鼠标坐标,再用WindowFromPoint获取窗口句柄
SDHU 2019-11-11
  • 打赏
  • 举报
回复
判断这个被选中的图标是什么软件好像有点难啊。 参考这个链接,没仔细研究 https://devblogs.microsoft.com/oldnewthing/?p=38393
为轮子而生 2019-11-01
  • 打赏
  • 举报
回复 1
引用 2 楼 Poopaye 的回复:
凭什么txt只能用记事本打开?ie就不能打开了吗?写字板就不能打开了吗?
为什么总是有人去质疑题主“为什么要这样做”,我觉得人家既然问了,肯定是有原因,想知道的只是“如何这样做”而已。 如果但凡提问非要把“为什么要这样做”都阐述明白,是不是太麻烦了些,确实有些需求是乍一看很不合理但是在特定的场景中有存在的必要的。
黑娃 2016-06-02
  • 打赏
  • 举报
回复
不是有个MouseLeftButtonDown和UP事件吗,down的时候记录下文件,up的时候就可以知道了,试试看?
51Crack 2016-06-02
  • 打赏
  • 举报
回复
某些扩展名的文件不能拖拽不就完了
Poopaye 2016-06-01
  • 打赏
  • 举报
回复
除非整套软件都是自己开发,文件格式只有自己的软件能读懂
Poopaye 2016-06-01
  • 打赏
  • 举报
回复
别人就不会另存为吗?
jasonlee0927 2016-06-01
  • 打赏
  • 举报
回复
引用 1 楼 songbing774933 的回复:
我觉得,拖动一个文件到某个软件图标上自动使用该软件打开,应该是该软件自己应该实现的功能。而不是由你第三方去实现的。 如果一个软件没有提供打开文件的命令呢?
我的WPF客户端关键是要保护客户提供的Photoshop一些如:笔触、滤镜之类的插件文件,不能让用户直接获取到我这些文件。 如果直接拖动出来放到桌面上或是其他地方,那就会造成客户的文件被未授权使用
引用 2 楼 shingoscar 的回复:
凭什么txt只能用记事本打开?ie就不能打开了吗?写字板就不能打开了吗?
我只是拿txt来举个例子而已。我的WPF实现的本身是拖拽的Photoshop的一些比如:笔触、滤镜之类的插件文件。
Poopaye 2016-06-01
  • 打赏
  • 举报
回复
凭什么txt只能用记事本打开?ie就不能打开了吗?写字板就不能打开了吗?
songbing774933 2016-06-01
  • 打赏
  • 举报
回复
我觉得,拖动一个文件到某个软件图标上自动使用该软件打开,应该是该软件自己应该实现的功能。而不是由你第三方去实现的。
如果一个软件没有提供打开文件的命令呢?

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧