C++ 如何在win7中获取我拖动的桌面上的文件的文件名/文件扩展名?

C++ 如何在win7中获取我拖动的桌面上的文件的文件名/文件扩展名?,c++,windows,hook,C++,Windows,Hook,我正在做一个项目,这是一个在后台运行的小工具。它大多数时候只有一个任务栏图标 它将在桌面(即explorer.exe)上记录用户的鼠标活动。现在我可以通过使用c++创建DLL并使用setWindowsHookEx()设置全局钩子来获得桌面鼠标活动 问题是,当人们在桌面上拖动桌面图标和文件时,当他们拖动时,我如何获得他们正在拖动的文件的文件名和扩展名?这是不可能的,D+D是不可挂钩的。@Hans Passant:考虑到这种情况下的拖动源是Explorer.EXE,为什么不可以?它是用于Shell扩

我正在做一个项目,这是一个在后台运行的小工具。它大多数时候只有一个任务栏图标

它将在桌面(即explorer.exe)上记录用户的鼠标活动。现在我可以通过使用c++创建DLL并使用setWindowsHookEx()设置全局钩子来获得桌面鼠标活动


问题是,当人们在桌面上拖动桌面图标和文件时,当他们拖动时,我如何获得他们正在拖动的文件的文件名和扩展名?

这是不可能的,D+D是不可挂钩的。@Hans Passant:考虑到这种情况下的拖动源是Explorer.EXE,为什么不可以?它是用于Shell扩展的COM主机。只需绕道(进程中)
RegisterDragDrop
并获取文件名。嗯,是的,为什么不呢?也许是因为OP喜欢留着他的头发。。。