VC怎么获取鼠标选中文件的路径。

我鼠标单击选中文件,通过windowshook截取鼠标事件,然后怎么代码实现获取选中文件的路径。难道非得获取窗口句柄判断是不是文件夹列表视图之类的?有没有直接的WinAp... 我鼠标单击选中文件,通过windowshook截取鼠标事件,然后怎么代码实现获取选中文件的路径。难道非得获取窗口句柄判断是不是文件夹列表视图之类的?有没有直接的Win Api ,GetCurrenDirectory仅仅是获得进程或程序工作目录,显然不行 展开
 我来答
百度网友cb7ef91
2013-11-21 · TA获得超过435个赞
知道小有建树答主
回答量:216
采纳率:0%
帮助的人:240万
展开全部
需要选中文件之后的后续操作来获取到路径,比如他是为了打开文件,或者复制啊,或者创建进程之类的,一般都需要CreateFile这个函数调用,那就好办了,hook这个CreateFile就行了,里面就是路径,ok

希望解决你的问题了
更多追问追答
追问
我弄好了,可以通过获取前台窗口标题栏路径,需要用到spy++分析窗口结构。

但是还有一个问题,怎么获取按下delete键要删除的文件路径。或者某一路径下怎么屏蔽delete键。

最好也能使鼠标右键变某一项灰色
追答
如果通过窗口方式来做的话,太麻烦了,还是我上面提到的,hook相应函数,很轻松就能实现了
恋雪19861220
2013-11-15 · 超过27用户采纳过TA的回答
知道答主
回答量:73
采纳率:0%
帮助的人:57.9万
展开全部
使用CFileDialog类的GetPathName()函数获取。如下就是一个获取鼠标选中的excel文件的路径。

CFileDialog filedlg(TRUE,"*.xls",NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"Xls文件 (*.xls)|*.xls");
filedlg.m_ofn.lpstrTitle="打开文件";
CString strFilePath;
if (IDOK==filedlg.DoModal())
{
strFilePath=filedlg.GetPathName();
}
else
{
return;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式