问题如下:
    我用一个dll实现shell的Icontextmenu功能,加入自己的菜单项,有一项是“获得当前路径”,希望无论在哪里点击右键中该项都能得到当前的路径,并以messagebox弹出。
    例如打开我的电脑,再进入了e盘,对文件夹点击右键会弹出一个右键菜单,点我那项可以得到当前的文件夹路径;在空白处点击右键也会弹出一个右键菜单,但是点我那项得到的路径(如上述路径应为E:\,但是得到的不对)始终不对。
    由于没有选中任一文件或文件夹,就不能用DragQueryFile来获取路径句柄(该函数需要文件夹名,如果点中文件或文件夹可以得到名字,才可以用它来获得)。也不能用如下:
CString strCurPath;
GetModuleFileName( GetModuleHandle(NULL), strCurPath.GetBufferSetLength(MAX_PATH), MAX_PATH );
strCurPath.ReleaseBuffer();
strCurPath = strCurPath.Left(strCurPath.ReverseFind(_T('\\')));
来获得。以为不是个单独的应用程序而是个dll,得到的路径是不对的。
    有没有谁了解这方面的知识,若能告知,不胜感激!