精华内容
下载资源
问答
  • Visual Assist X是一款非常好的Visual Studio .NET 2003、2002插件,支持C/C++,C#,Visual Basic等语言,能自动识别各种关键字、系统函数、成员变量、自动给出输入提示、自动更正大小写错误、自动标示错误等,有...
  • Visual Assist 西红柿 VC++插件 通用破解补丁2.0终极版,理论上支持所有版本VAX插件破解 飘云阁论坛收费资源,低积分共享
  • VC++插件与ActiveX技术

    2016-03-03 10:15:17
    VC++插件与ActiveX技术,包含了几百页共4篇资料,分别说明了ActiveX控件技术与插件技术的应用和介绍,有完整的案例,分多种应用情况说明,包括dll,插件等!免费分享!
  • Vc++ 插件

    2006-03-16 00:00:00
    插件的功能 :1、选中代码段进行注释、反注释,2、选中代码段保存成文件,3、添加代码段的模板注释
  • vc++插件工具

    2013-08-08 09:20:18
    插件主要用于vc6.0,在vs2008后不能用
  • vc++插件(已破解)

    2012-07-16 10:14:41
    插件已破解,适用于vc++,vs,插件还是比较新的哈。
  • vc++6.0插件

    2017-08-16 16:07:13
    vc++6.0的注释插件和显示行号插件
  • Vc++6.0实用插件

    2020-08-30 23:22:20
    Vc++6.0实用插件1.Vc++6.0行号显示插件1.1 激活行号插件1.2 添加行号插件2. Vc++6.0代码高亮插件2.1 解压安装 这里介绍的有两个插件: 1、VC6LineNumberAddin.dll 2、VisualAssist 1.Vc++6.0行号显示插件 百度...

    这里介绍的有两个插件:
    1、VC6LineNumberAddin.dll
    2、VisualAssist

    1.Vc++6.0行号显示插件

    百度网盘下载:
    链接:https://pan.baidu.com/s/1NrLMPxpCiZO1LA_kLiAjjQ
    提取码:2hb7

    首先看一下使用的效果:
    在这里插入图片描述

    1.1 激活行号插件

    1.首先在win7下找到可执行程序"cmd.exe"(其位置在“C:\Windows\System32”),右键选择以管理员身份运行;
    还是不知道在哪里的同学可以点击直达教程
    如何快速进入/打开cmd–快捷键

    2.在DOS窗口下首先输入“D:”,然后输入

    regsvr32.exe "D:\Program Files\Microsoft Visual Studio\Common\MSDev98\AddIns\VC6LineNumberAddin.dll"
    

    如下图:

    在这里插入图片描述
    注意 以上方法有一定适用范围:
    1.VC6.0的安装路径为以上所显示的D盘路径。
    (如果VC的安装路径与笔者不同,
    在DOS窗口下输入命令时需要根据路径做相应更改。)

    2.已将VC6.0的显示行号的插件拷到了正确位置。
    例如笔者已将自己的VC6LineNumberAddin.dll拷贝到了目录
    “D:\Program Files\Microsoft Visual Studio\Common\MSDev98\AddIns”下。

    1.2 添加行号插件

    VC6LineNumberAddin压缩包,那里面有两个文件:
    在这里插入图片描述
    先点击reg那个文件注册一下,然后把dll文件放到

    D:\Microsoft Visual Studio\Common\MSDev98\AddIns

    (上面就是Vc++6.0安装的路径)就是AddIns文件夹里面。
    就可以了。如果不行请看如下:
    进入Vc++程序,工具->定制->附加件和宏文件(然后打勾即可,点关闭)
    在这里插入图片描述

    2. Vc++6.0代码高亮插件

    百度网盘链接:https://pan.baidu.com/s/19DflHa8nj9T3SYnc4CNpmQ
    提取码:kjhj

    第二个是Visual Assist(这是个可以偷懒又能让代码直观的好插件,就是经常出错)
    先看一下没有安装此软件的代码截图:
    在这里插入图片描述

    2.1 解压安装

    解压后如图:
    在这里插入图片描述
    先双击exe文件,安装到一个合适的盘里。

    然后找到Visual Assist这个文件夹,
    把上图dll文件复制到Visual Assist这个文件夹里会出现是否替换,
    点击是(这是破解的文件)。
    然后打开D:\Microsoft Visual Studio\Common\MSDev98\AddIns
    和第一个步骤一样,把上图的VA_X.dll文件放到AddIns
    文件夹中。如图:
    有这两个文件。
    在这里插入图片描述

    然后再打开代码, 又有行号,代码又高亮,
    是不是写起代码更清爽了
    赶快分享给你身边的朋友吧.
    在这里插入图片描述

    展开全文
  • vc++插件 assist

    2010-05-19 11:17:20
    vc++插件,可以自动显示类中的方法名,提高编写速度
  • VC++插件帮助VA_X

    2009-05-24 16:30:05
    VC++插件帮助VA_X 免去繁琐查询代码的过程! 让你更快的投入工作中! 祝您工作顺利!
  • VC++6.0番茄插件

    2014-04-26 18:03:16
    非常好的vc插件,自动识别各种关键字,系统函数,成员变量,自动给出输入提示,自动更正大小写错误,自动标示错误,等等啦……支持VC++ 6, VC++ 5 andVC 3!
  • VC++6.0插件系列(绝对经典)

    万次阅读 2014-02-23 11:15:52
    Visual C++ 插件系列介绍 说到Visual C++的插件,大家可能只有想到Visual Assist吧。天真!行内开发的插件可只有这个!?下面介绍一下vc6.0的其他插件。 Visual Assist(强烈推荐) 网址:...

    Visual C++ 插件系列介绍

    说到Visual C++的插件,大家可能只有想到Visual Assist吧。天真!行内开发的插件可只有这个!?下面介绍一下vc6.0的其他插件。

    1.Visual Assist(强烈推荐)
    网址:http://www.wholetomato.com/
    功能:VA从5.0一直到现在的VAX,功能越来越强大,除了以前版本中的自动识别各种关键字,系统函数,成员变量,自动给出输入提示,自动更正大小写错误,自动标示错误等等以外,最新的版本中还在WorkSpace窗口中加入一个VA View,可以更方便的查找工程中的文件、类和变量。


    2.WndTabs(强烈推荐)
    网址:http://www.wndtabs.com/
    功能:WndTabs主要是在编辑窗口中显示了所有已经打开的文件,在VC中能够更方便的操作这些文件,比如修改文件属性,copy文件路径、文件名等,并且还开放源代码,你要是愿意的话,可以添加自己很兴趣的功能。

    3.LineCounter
    网址: http://www.wndtabs.com/
    功能:用来统计整个工程的代码行数,包括总行数、代码行数、注释行数、空行数等,并且对多个工程一起统计时,不会把相同的文件计算多次.

    4.Spelly
    网址:http://www.wndtabs.com/
    功能:一个拼写检查的插件,可以对整个文件或所选部分进行拼写检查,支持C/C++/C#, VB, Fortran 和HTML。

    5.SourceStyler C++
    网址:http://www.sourcestyler.com/
    功能:此插件是针对C++的一个格式化工具,可以针对自己的编码习惯,选择一种编码风格,也可以自己定义,而且定义非常详细,有表达式、指针、模板、类、枚举等十几种,肯定能满足你的需要。

    6.Numega BoundsChecker(强烈推荐)
    功能:是针对Visual C++6.0应用程序的最为全面的错误检测工具。BoundsChecker 能自动指出静态,堆栈内存错误和资源泄漏问题。BoundsChecker 能够校验最新的 Windows APIs,包括 ActiveX, DirectX, OLE/COM, ODBC等等。能够发现与 Windows 平台兼容性。

    7.BCGControlBar Library
    功能:非常好的一套应用于vc6的界面扩展类库,轻松的作出 vc2003 的界面。并且给了各种界面例子,如vc.net、outlook、更换皮肤等等。

    8.Comment Wizard
    网址:http://www.cppblog.com/fwxjj/
    功能:Visual C++插件,提供了Visual C++源代码注解标准化与自动化功能。在它的帮助下,您可快速创建标头文件信息注解,文件中模块注解, C++处理方式,以及C语言功能与历史校正功能注解,等等。

    9.String watch Microsoft Visual Studio add-in
    网址:http://www.codeguru.com/cpp/v-s/devstudio_macros/debugging/article.php/c5989
    功能:调试时查看字符串的。

    10.Tabbar插件
    网址:http://www.winmsg.com/cn/tabbar.htm
    功能:显示多tab的插件


    11.QT
         使用QT 可以写出跨平台的c++程序。对于 unix 和 linux 是开源的,可惜大部分人是用window做人机界面,unix、linux 在桌面上还差很多。

    12.DevTrueColour
         不是VAX,VC6中只支持16中颜色,有一个插件可以修改为24位真彩色,完全可以自己定义。
    因为不是很多人用,所以我就没有列出来。
    给出网址:
    http://www.codeproject.com/macro/devtruecolour.asp  




    文章出处:
     
    展开全文
  • 为了降低SmartCORBA的开发难度,提供一个修改过的代码模板...她是VisualC的插件Add-in,能够提供代码的简单帮助; 使用了COM技术。 关于SmartCORBA的情况,请看 http://www.csdn.net/cnshare/soft/16/16154.shtm
  • VC++实现插件支持

    2019-07-05 01:48:26
    尤为重要的是,通过使用插件技术,使得对软件的功能扩展将不再完全受限于软件厂商,任何第三方开发商或是程序员个人只要遵循了软件提供的插件接口标准去开发插件就完全可以同主体软件有很好的兼容,从而使用户对...

    引言

        目前,不少流行软件都提供有对外挂插件的支持功能,如Winamp、Realplay等等。这些软件通过对插件技术的使用为日后的软件升级和功能扩展提供了相当的便利条件。 尤为重要的是,通过使用插件技术,使得对软件的功能扩展将不再完全受限于软件厂商,任何第三方开发商或是程序员个人只要遵循了软件提供的插件接口标准去开发插件就完全可以同主体软件有很好的兼容,从而使用户对应用程序进行个性化功能扩展成为了可能。基于插件技术的以上诸多优势,本文下面将围绕插件的制作、应用程序对插件的支持等具体问题对其展开讨论。

        设计思路及插件接口标准

        通常支持插件的应用程序多将外挂扩展插件集中放置于某个指定的目录下,程序执行时首先在此目录下搜寻是否有插件存在,如有则为插件将其插入到应用程序,应用程序在终止运行时负责将插件释放。

        至于插件以何种形式提供则没有固定的规定,可以是独立的应用程序,也可以是动态链接库或是其他一些文件格式,不管插件具体以何种形式提供,都是以方便使用为目的。本文即以使用较为灵活的动态链接库作为插件的提供形式,动态链接库通过外部导出函数为应用程序提供对插件功能的调用,应用程序在对动态链接库进行动态装载时也比较容易实现。这里与以往对动态链接库的使用有所不同,通常的应用程序事先已经明确知道需要使用哪些动态链接库,动态链接库又提供有哪些函数等信息,而允许使用插件的应用程序在发布时则无法预知在软件发布后第三方开发商将会开发出多少插件、插件都提供有什么功能函数等。因此这就需要在容许插件的应用程序和插件之间建立一种统一的接口标准并通过此接口标准完成对所有后期插件的管理。在此,主程序和插件之间是通过一个标准的DLL导出函数来实现的,主要用于在主体程序内插件对象的创建:


     BOOL Plug_CreateObject(void ** pobj)
    {
    *pobj = new CPlugA;
    return *pobj != NULL;
    }
     


        其中类CPlugA是在动态链接库中由基类CPlugBase派生出来的,提供有插件的大部分主要功能,如插件图标的获取、插件提供的功能接口函数以及插件的释放等。基类CPlugBase的结构如下:

     class CPlugBase
    {
    public:
    CPlugBase(){};
    virtual HICON GetIcon() = 0;
    virtual void Interface(int k) = 0;
    virtual void Release() = 0;
    };
    


     
        考虑到主体程序无法预知待插入的插件数目,为管理插件对象方便, 通过模板类CArray完成对各个插件对象的存储与管理,此模板类所管理的数组为PLUG_ST结构对象。PLUG_ST结构记录了插件类提供的的CPlugBase型指针和作为插件载体的动态链接库的实例句柄,其具体定义如下:
     typedef struct{
    CPlugBase * pObj;
    HINSTANCE hIns;
    }PLUG_ST, * LPPLUG_ST;
     

        另外,在程序界面上,每向应用程序添加一个新的插件,都应当在主程序的界面上增添与之相关联的按钮或菜单等,以便用户可以通过位于主程序界面上的按钮或菜单实现对插件内部功能函数的调用。本文在此是通过向工具条增添按钮的方式来达到此目的的,按钮上的图标由插件提供,应用程序通过插件类的GetIcon()函数获取到图标句柄,并将其绘制在工具条按钮上。

        为普通应用程序扩展插件支持功能

        插件支持功能并非Winamp、RealPlay等大牌软件所独有,任何普通应用程序经过程序编码均可将其扩展为支持插件的应用程序。通常将这部分扩展代码在主框架类中完成,根据前面所述思路,首先从应用程序所在目录下搜寻子目录PLUGINS下是否存在以动态链接库形式提供的插件,如果在此目录下没有找到动态链接库那么就说明当前还没有插件,因此程序也就不需要做进一步处理,如果找到插件,就一一将其插入到应用程序。搜寻插件的部分代码如下:

     

    ……
    GetModuleFileName(NULL, filename, MAX_PATH); // 获取应用程序路径
    strPath = CString(filename); //设定当前目录下的子目录PLUGINS
    strPath = strPath.Left(strPath.GetLength() - CString(AfxGetAppName()).GetLength() - 4) + CString("PLUGINS");
    CString strFindFile = strPath + "*.dll";
    // 搜寻子目录PLUGINS下的所有动态链接库
    WIN32_FIND_DATA wfd;
    HANDLE hf = FindFirstFile(strFindFile, &wfd); //寻找第一个
    if (hf != INVALID_HANDLE_VALUE)
    {
    // 如发现插件就将其插入到本应用程序
    CreatePlug(strPath + "" + wfd.cFileName);
    while (FindNextFile(hf, &wfd)) //继续寻找下一个
    CreatePlug(strPath + "" + wfd.cFileName);
    FindClose(hf); // 结束搜寻
    }


     
        其中,CreatePlug()函数负责将插件装载到应用程序,其参数指定了待装载的插件的绝对路径。在实现时,首先通过LoadLibrary()函数将插件模块装载到内存,并将获取到的实例句柄保存到PLUG_ST结构的hIns中,最后将此结构对象添加到CArray模板类对象m_arrPlugObj中,主要实现代码如下:

     PLUG_ST stPs;
    ZeroMemory(&stPs, sizeof(stPs));
    stPs.hIns = LoadLibrary(szPlug);
    PFN_Plug_CreateObject pFunc = (PFN_Plug_CreateObject)GetProcAddress(stPs.hIns, _T("Plug_CreateObject"));
    if (pFunc((void **)&stPs.pObj))
    m_arrPlugObj.Add(stPs);


     

        同用户交互部分,则采取这样的处理:将所有插件的图标从插件动态链接库中提取出来,并放置于图象列表,最后在浮动工具条上创建对应的按钮并将插件图标绘制其上。同样也是出于对后期插件的不可预知性,在工具条上创建按钮的资源ID从ID_PLUG_POINTER开始,依次累加。具体实现可参考如下代码:

    m_ImageList.Create(16, 16, ILC_COLOR32, size + 1, size);
    for (int i = 0; i < size; i ++)
    m_ImageList.Add(m_arrPlugObj[i].pObj->GetIcon());
    CToolBarCtrl& ctrlBar = m_wndPlugBar.GetToolBarCtrl();
    ctrlBar.SetImageList(&m_ImageList);
    TBBUTTON btn;
    for (i = 0; i < size; i ++)
    {
    btn.iBitmap = i;
    btn.idCommand = ID_PLUG_POINTER + i;//command to be sent when button pressed
    btn.fsState = TBSTATE_ENABLED; //button state--see below
    btn.fsStyle = TBSTYLE_BUTTON; //button style--see below
    btn.dwData = 0; //application-defined value
    btn.iString = NULL; //zero-based index of button label string
    ctrlBar.AddButtons(1, &btn);
    }
    


     
        对于各个插件按钮的命令响应也不能以通常的ON_COMMAND宏执行命令映射,而要以ON_COMMAND_RANGE宏实现对一个ID范围的命令映射:
     

    BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
    ……
    ON_COMMAND_RANGE(ID_PLUG_POINTER, ID_PLUG_POINTER+256, OnPlugHit)
    END_MESSAGE_MAP()
    ……
    void CMainFrame::OnPlugHit(UINT nID)
    {
    int id = nID - ID_PLUG_POINTER;
    if (id >= 0 && id < m_arrPlugObj.GetSize())
    {
    // 调用对应插件的功能函数。
    if (m_arrPlugObj[id].pObj)
    m_arrPlugObj[id].pObj->Interface(id);
    }
    }

     
        为保证系统资源的有效释放,在程序终止之前必须确保将加载过的所有插件资源予以释放:
     

    for (int i = 0; i < m_arrPlugObj.GetSize(); i++)
    {
    if (m_arrPlugObj[i].pObj)
    m_arrPlugObj[i].pObj->Release();
    if (m_arrPlugObj[i].hIns)
    FreeLibrary(m_arrPlugObj[i].hIns);
    }
    m_arrPlugObj.RemoveAll();

    至此,只要应用程序在PLUGINS子目录下发现了插件动态链接库的存在,就会将其装载到程序并通过工具条按钮完成用户同新添加插件的交互。如要从程序去掉某个插件只需在插件目录下将对应的插件模块删除即可。

        插件的制作

        插件的制作其实就是对动态链接库的创建,因此总的来说比较简单,但是作为插件载体的动态链接库与普通的动态链接库还是有一些区别的。例如,插件需要为主体应用程序提供图标,因此不仅在资源中要引入插件图标,而且在编译时还要将其设置为"Use MFC in a Static Library"以便在编译时能将所有的资源打包到插件模块,否则在应用程序插入插件时将无法在工具条按钮上绘制图标。插件在创建时同样也必须遵循其同主体程序的接口标准,这主要通过导出函数来体现的:

    LIBRARY "PlugA"
    DESCRIPTION 'PlugA Windows Dynamic Link Library'
    EXPORTS
    Plug_CreateObject @1
     
    
    
        导出函数Plug_CreateObject负责在应用程序中创建一个插件对象:
     BOOL WINAPI Plug_CreateObject(void ** pobj)
    {
    *pobj = new CPlugA;
    return *pobj != NULL;
    }

    在前面已经提到过,CPlugA是基类CPlugBase的一个派生类,可以根据需要对CPlugBase的几个虚函数进行重载,以实现本插件所独有的一些功能。另外,由于主体程序是通过GetIcon()来获取插件图标的,因此必须在动态链接库被加载时首先通过LoadIcon()函数将图标装载到内存并保存其句柄于m_hIcon,等待主程序通过GetIcon()函数来获取,该句柄的释放在当动态链接库被释放时由函数DeleteObject()来执行。

        小结

        通过前述方法可以为普通应用程序添加插件支持功能,并可以在软件发布后以插件的形式对软件进行功能上的扩展,操作过程也比较灵活方便。由于经过这种扩展,使软件的各大功能模块分布于不同的插件,在软件升级或维护时只需对相应的插件进行替换即可,这对软件的升级维护可以起到积极的作用。本文所述程序在Windows 98下由Microsoft Visual C++ 6.0编译通过。

    转载于:https://www.cnblogs.com/rogee/archive/2011/02/01/1948735.html

    展开全文
  • VC++ Express免费,但Plugin接口被限制,无法为其开发插件以增强其功能,所以有了这么一个小工具。通过该工具,可实现: ① 快速输出版权信息 ② 快速输出函数注释模板内容 ③ 通过函数定义,输出函数实现体:使用时...
  • VC++ 调用大漠插件

    2014-07-04 19:23:23
    VC++ 调用大漠插件 例子 也可以自行将OBJ.h obj.cpp放入自己的MFC程序中调用
  • 使用VC++ ATL实现Office的COM插件 使用VC++ ATL实现Office的COM插件
  • vc++插件visual assist

    2010-12-01 23:36:00
    以前学C++的时候,认为visual c++自带的自动提示已经够用了,在学Direct时才发现,原来参数一大堆的函数还真是太多了,但自带的提示有的也不会提示,记又记不下,今天在网上找了一下,找到一个不错了,分享一下...

     以前学C++的时候,认为visual c++自带的自动提示已经够用了,在学Direct时才发现,原来参数一大堆的函数还真是太多了,但自带的提示有的也不会提示,记又记不下,今天在网上找了一下,找到一个不错了,分享一下

    http://www.onlinedown.net/softdown/1951_2.htm

    展开全文
  • VC++6.0插件

    2013-10-27 21:21:27
    vc++6.0的插件, 自动变色,自动换行,自动关联.....自动关联到vs2008 vc6.0等等 编译环境。
  • VC++6.0行号插件VC6 LineNumberAddin可以完美的解决VC++6.0不显示行号的问题。
  • VC6LineNumberAddin是一个用于VC++6.0实时显示行数的辅助插件
  • VC++调用大漠插件

    热门讨论 2013-05-06 18:18:18
    VC++调用大漠插件的实例,多线程调用。
  • VC++编写大智慧dll插件,比如缠论插件
  • 安装插件出现的问题以及问题的处理方法,请看我的博客(点击我头像进去),有博文讲解
  • Visual Assist X是一个非常好用的辅助类型插件,可以节约编写代码的时间。该版本为安装版。
  • vc++6.0小插件

    2011-09-09 16:29:00
    经典的vc++6.0插件,很好用不用破解,非常好的小插件!!
  • 摘要:VC/C++源码,控件相关,加载插件 运行环境:Windows/Visual C/C++
  • VC++6.0 行号插件 破解

    2008-12-16 19:27:19
    VC++6.0的代码窗口左侧生成一个“行号显示栏”,方便的查看行号信息

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,319
精华内容 2,927
关键字:

vc++插件

c++ 订阅