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

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

2014-9-24 19:04
9618
作为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,需要的直接拿去用~~

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

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

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

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