首页
社区
课程
招聘
[原创]VC6插件FileTool的一点改进
发表于: 2014-9-24 19:04 10417

[原创]VC6插件FileTool的一点改进

2014-9-24 19:04
10417
作为VC6的老用户,始终还是感觉这个IDE最顺手,而且完全能够满足自己的需要,所以只在必要的时候才用VS2010什么的。。。
但是如今进入Win7后时代,VC6依然可以用,但是有点小问题,如果你同时安装了Office 2007及以上版本,那么会导致其中的“打开”和“添加文件到工程”居然用不了,直接就崩溃掉。。。
MS根据用户的反馈,提供了一个AddIn小插件,名字就做FileTool,用它来替代原来的菜单功能
这下虽然基本解决了添加文件的问题,但是这个插件有一点不足,就是打开文件的对话框没有指定初始路径,导致要来回翻半天才到当前工程目录,非常麻烦
为了用得更爽一点,遂决定改造一下FileTool,在它打开文件时指定初始路径
但是需要先得到当前活动工程的工作路径,这个一下难到我了,真是费了好大劲才找到一些资料
好不容易修改完成,用起来感觉还不错,分享给需要的人吧,相信还在用VC6的不在少数。。。。反正俺们都不怎么写界面的。。。

主要代码如下:

获取当前工程的路径:
    m_pDispatch=NULL;
    hr=m_pApplication->get_ActiveProject(&m_pDispatch);
    if(FAILED(hr))
    {
      AfxMessageBox("Unable to obtain the ActiveProject pointer");
      return S_FALSE;
    }
    
    CComQIPtr<IGenericProject, &IID_IGenericProject> m_ActiveProject(m_pDispatch);
    CComBSTR type;
    
    hr=m_ActiveProject->get_Type(&type);
    if(FAILED(hr))
    {
      AfxMessageBox("Unable to obtain the ActiveProject type");
      return S_FALSE;
    }
    
    CComBSTR bstrPrjPath;
    CString strPrjPath;
    [COLOR="Red"][B]m_ActiveProject->get_FullName(&bstrPrjPath);[/B][/COLOR]
    strPrjPath = bstrPrjPath ;


然后将取到的路径截断成目录的形式
    int nPos = strPrjPath.ReverseFind('\\');
    strPrjPath.SetAt(nPos,'\0');

指定选择文件对话框的起始路径:

AddFiles.m_ofn.lpstrInitialDir = strPrjPath ; //这里指定一下初始目录


附件提供修改过的完整工程源码和一个编译好的Bin,需要的直接拿去用~~

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 334
活跃值: (47)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
win7下并不是一定需要FileTool这个工具的。
vc6只要默认安装在win7下就能正常运行,也不需要设置兼容模式(这将导致不正常)。

具体安装方法看这里
http://wenku.baidu.com/link?url=NjQ_rZs2NTFDXp_wkPieuDXUwpJVh0QtbAOUbxkAM3grlVM9tkPlXBOsPDiwL7aG7tbHbLa-FjhiHuoOaZ6ZSCLDyh4A7GBqVUwpZ0Fn8uS
2014-9-24 19:55
0
雪    币: 69
活跃值: (157)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
还在用vc6 啊, 经典vc6.
2014-9-24 20:47
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
4
可能之前说的有点问题,实际导致问题的不是Win7,而是Office,2007以上的版本都会有问题
2014-9-24 20:57
0
雪    币: 2
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
5
delete

http://bbs.pediy.com/showthread.php?t=193786
2014-9-24 21:39
0
雪    币: 27
活跃值: (127)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
6
我以为只剩我一个还在留恋VC6
2014-9-25 00:08
0
雪    币: 135
活跃值: (76)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
教主太强大了。膜拜教主
2014-9-30 09:24
0
雪    币: 291
活跃值: (169)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
这个要得啊
2014-9-30 10:38
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
这个要顶的
2014-10-7 09:44
0
雪    币: 284
活跃值: (3599)
能力值: ( LV5,RANK:75 )
在线值:
发帖
回帖
粉丝
10
顶LZ不跟版本号一起涨的态度~
2014-10-7 12:39
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
瞬间涨知识了,谢谢楼主
2014-12-7 22:46
0
雪    币: 401
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
多谢分享,潜水多年,今日冒泡
2015-8-31 14:23
0
雪    币: 5467
活跃值: (1430)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
吊,就一个字能形容我对楼主的偑服。
2015-9-2 12:48
0
游客
登录 | 注册 方可回帖
返回
//