拼搏中的麦壳饼

多所付,多所获;总尝试,莫忘记!
posts(11) comments(69) trackbacks(0)
  • 博客园
  • 联系
  • 订阅 订阅
  • 管理

公告


F#中文 语言包下载
兵团人
PureBasic
MP3114
朋友开发的博客系统

与我联系

  • 发短消息

搜索

 

常用链接

  • 我的文章
  • 我的参与
  • 我的新闻
  • 最新评论
  • 我的标签

留言簿

  • 给我留言
  • 查看公开留言
  • 查看私人留言

我管理的小组

  • F#

我参与的团队

  • 新疆.NET俱乐部(0/33)
  • 外接开发团队(0/9)

随笔分类(6)

  •  菜鸟互动(1)
  •  雕虫小技(1)
  •  外接程序(4)

随笔档案(11)

  • 2008年8月 (1)
  • 2008年4月 (1)
  • 2007年7月 (1)
  • 2007年5月 (2)
  • 2007年3月 (1)
  • 2006年3月 (5)

好站点

  • MP3114
  • PureBasic

最新评论

  • 1. re: 超短裙风波:北大各系女生们的精彩反应!
  • dd
  • --158

阅读排行榜

  • 1. Visual Basic 2005 下传输文件的简单方法。[菜鸟互动](1444)
  • 2. VB2005编写外接程序的一些有用函数(1272)
  • 3. 首部国产情色A片的几大看点及历史意义(993)
  • 4. 我的ASP.NET处男作,天气预报代码生成!!(865)
  • 5. 使用VB2005开发外接程序Connect类中需要了解的一些事件(720)

评论排行榜

  • 1. 首部国产情色A片的几大看点及历史意义(7)
  • 2. 我的ASP.NET处男作,天气预报代码生成!!(7)
  • 3. 使用VB2005开发外接程序Connect类中需要了解的一些事件(2)
  • 4. Visual Basic 2005 下传输文件的简单方法。[菜鸟互动](2)
  • 5. VB2005编写外接程序的一些有用函数(1)

2008年8月1日

Linux 调用系统命令并截获标准输出(stdout)和错误输出(stderr)

char ret[1024];
char *DoSysCmd(char * cmdline){
    FILE *fp;
    char line[32];
    char cmdtmp[256];
    memset(cmdtmp,0x00,256);
    sprintf(cmdtmp,"%s  2>&1",cmdline);//stderr是2,把2转向1
    memset(ret,0x00,sizeof(ret));
    fp = popen(cmdtmp, "r");
    while ( fgets( line, sizeof(line), fp))
    {
        sprintf(ret ,"%s%s",ret,line);
    }
    pclose(fp);
    return ret;
}
 
 
使用例子 

show_Info("检查是否存在可移动存储设备......");
result=DoSysCmd("cat /proc/scsi/scsi");
if (0==strcmp(result,"Attached devices: none\n"))
{
    show_Info("对不起,没有发现任何设备!");
    return;
}

posted @ 2008-08-01 16:48 麦壳饼 阅读(6) | 评论 (0) | 编辑

2008年7月29日

使用C#调用旋风快车和迅雷下载文件 也是C#调用Com的好例子!

有时候我们需要调用现成的下载工具来下载,那么这些下载工具一般都是通过COM接口来操作的。

至于如何知道这些com接口,自己找一下他们安装后的目录下的html文件就可以发现了。

如何使用c#调用com是我们的重点。

如下所示:

public static void DownloadByQQ(string url)
      {
          Type qqdown;//类型
          object qqdowobj;//一个对象
          object[] parameter = new object[6];//参数,因为我们调用的方法有6和参数。 所以定义了6个
          if (url  != null && url.Length >0)
          {
              qqdown = Type.GetTypeFromProgID("QQIEHelper.QQRightClick.2");//从progid创建类型
              qqdowobj = Activator.CreateInstance(qqdown);//然后创建实例
              parameter[0] = url;//第一个参数是url
              parameter[1] = url ;//第二个参数是引用url,这里我们填成一样的
              parameter[2] = "www.mp3114.cn";//注释信息
              parameter[3] = null;
              parameter[4] = 0;
              parameter[5] = null;
              qqdown.InvokeMember("sendUrl2", BindingFlags.InvokeMethod, null, qqdowobj, parameter);//使用invokemember调用方法

//BindingFlags 中有很多枚举,分别是用于调用方法或者属性的设置 获取等绑定标记。 你可以参考一下msdn
          }
      }

//看到这里你也许已经明白如何做了。 如果还不明白呢。 接着看一遍。 或者把代码贴到程序里单步调试一遍就自然明白啦。
      public static void DownloadByThunder(string url)
      {
          Type  ThunderAgent;// = new ActiveXObject("ThunderAgent.Agent");
          object objThunderAgent;
          object[] parameter = new object[14];
          if (url != null && url.Length > 0)
          {
              ThunderAgent = Type.GetTypeFromProgID("ThunderAgent.Agent");
              objThunderAgent = Activator.CreateInstance(ThunderAgent);
              parameter[0] = url;
              parameter[1] = "";
              parameter[2] = "";
              parameter[3] = "www.mp3114.cn";
              parameter[4] = url ;
              parameter[5] = -1;
              parameter[6] = 0;
              parameter[7] = -1;
              parameter[8] = "";//strCookie
              parameter[9] = "";
              parameter[10] = "";
              parameter[11] = 1;
              parameter[12] = "";
              parameter[13] = -1;
              ThunderAgent.InvokeMember("AddTask5", BindingFlags.InvokeMethod, null, objThunderAgent, parameter);
             // ThunderAgent.AddTask5(Url, "", "", Info, Location, -1, 0, -1, strCookie, "", "", 1, "", -1);
              object[] parm = new object[1];
              parm[0] = 1;
              ThunderAgent.InvokeMember("CommitTasks2", BindingFlags.InvokeMethod, null, objThunderAgent, parm);
          }
      }
      public static void DownloadByFlashGet(string url)
      {
          Type FlashGet;
          object objFlashGet;
          object[] parameter = new object[5];
          if (url != null && url.Length > 0)
          {
              FlashGet = Type.GetTypeFromProgID("BHO.IFlashGetNetscapeEx");
              objFlashGet = Activator.CreateInstance(FlashGet);
              parameter[0] = url;
              parameter[1] = "www.mp3114.cn";
              parameter[2] = url;
              parameter[3] = "FlashGet";
              parameter[4] = 0;
              FlashGet.InvokeMember("AddUrlEx", BindingFlags.InvokeMethod, null, objFlashGet, parameter);
          }
      }

posted @ 2008-07-29 01:51 麦壳饼 阅读(8) | 评论 (0) | 编辑

2008年4月7日

C# 服务 调试、正式使用两便的模板

     摘要: 常驻内存的程序是一些监控或者数据处理的项目中最常用的程序, 有的人做成控制台程序,长期开着, 可是这要登录进去,然后自动运行,必须保持用户在登录状态,这样唯一的好处是能看到调试信息(console.writeline输出的东西),很多人都这么干, 我就碰到好几个大项目,比如某省的高速公路收费等。服务的好处和不好处,一对比就出来了, 服务不用用户登录就能后台运行,但是看不到实时信息。 很不爽。 所以... 阅读全文

posted @ 2008-04-07 16:44 麦壳饼 阅读(64) | 评论 (1) | 编辑

2007年9月3日

AnkhSVN 1.0.2778 简体中文版发布

AnkhSVN 1.0.2778 简体中文版
此版本的AnkhSVN由麦壳饼为您提供。
由于初次发布并且本人英文水平有限可能存在多处翻译不妥当以及遗漏等问题,望各位同仁见谅并指正。
已知未翻译:
   1、在您提交修改后的文件时会列出所有已修改的文件名,在文件名前显示的英文尚未找到任何源码位置。
      该问题可能会在下一个中文版发布时修改,暂时不影响使用。
如果您有任何问题和疑问 以及建议和意见 请参照如下联系方式:
中文昵称:麦壳饼
英文昵称:MysticBoy
邮箱:mysticboy@126.com
QQ:88242703
详情以及下载中文补丁请点击 http://ankh.mysticboy.cn/

相关截图如下:






posted @ 2007-09-03 23:13 麦壳饼 阅读(703) | 评论 (8) | 编辑

2007年7月28日

央视名嘴遭恶搞 AV男优被指长相似毕福剑(图)

哈哈 , 看看。
为了和博客园无关,所以麻烦你转链 。
http://www.17feng.com/article/vogue/200707/1655.html

posted @ 2007-07-28 14:57 麦壳饼 阅读(298) | 评论 (1) | 编辑

2007年5月15日

首部国产情色A片的几大看点及历史意义

http://www.17feng.com/article/news/boundlessuniver/200705/1631.html
为了防止影响博客园。所以。。。。麻烦你了。 

posted @ 2007-05-15 13:00 麦壳饼 阅读(993) | 评论 (7) | 编辑

2007年5月10日

超短裙风波:北大各系女生们的精彩反应!

不想占用博客园的空间。也不想让博客园带有一些不该有的图片。 呵呵。 所以麻烦你转链接吧。
这个文章感觉挺牛逼的。不愧是北大的人。尤其各个院系的对白。推荐大家看看。 有时候觉得名校就是名校。你奈何不得。
http://www.17feng.com/article/pastime/200705/1625.html 

posted @ 2007-05-10 10:17 麦壳饼 阅读(151) | 评论 (1) | 编辑

2007年3月20日

我的ASP.NET处男作,天气预报代码生成!!

大家看看

这是图片形式的。



如果你喜欢的话,如果您的BLOG支持框架,您也可以使用自定义HTML语句。当然,具体各种要求请
查看  http://www.17feng.com/getweather.aspx
这是我的第一个功能上能拿的出来的程序。界面目前不会做。所以很难看。而且一些功能方面也需要改进。
和增加。希望大家多提建议!

posted @ 2007-03-20 10:34 麦壳饼 阅读(865) | 评论 (7) | 编辑

2007年3月16日

VS 2005 Add-in开发随笔 -dudu

VS 2005 Add-in开发随笔
    最近在改进NBear的EntityDesignToEntityVsPlugin,给EntityDesignToEntityVsPlugin增加右键菜单功能,在选择EntryDesign项目时,点击右键时弹出相应的菜单,通过点击菜单项触发项目编译并根据实体设计类生成相应的实体类代码,在这里给大家分享一段在VS 2005 Add-in中实现右键菜单的代码:   
    public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
        {
            _applicationObject = (DTE2)application;
            _addInInstance = (AddIn)addInInst;
            CommandBars cmdBars = (CommandBars)(_applicationObject.DTE.CommandBars);
            CommandBar vsBarProject = cmdBars["Project"];

            CommandBarPopup menu = vsBarProject.Controls.Add(MsoControlType.msoControlPopup, Missing.Value, Missing.Value, 1, true) as CommandBarPopup;
            menu.Caption = "DemoAddIn";
            menu.TooltipText = "";

            CommandBarControl menuItem = menu.Controls.Add(MsoControlType.msoControlButton, 1, "", 1, true);
            menuItem.Tag = "BuildTest";
            menuItem.Caption = "BuildTest";
            menuItem.TooltipText = "BuildTest";
            menuItemHandler = (CommandBarEvents)_applicationObject.DTE.Events.get_CommandBarEvents(menuItem);
            menuItemHandler.Click += new _dispCommandBarControlEvents_ClickEventHandler(MenuItem_Click);  
           
        }

        private void MenuItem_Click(object commandBarControl, ref bool handled, ref bool cancelDefault)
        {
            _applicationObject.ExecuteCommand("Build.BuildSelection", "");
        }

        public void OnDisconnection(ext_DisconnectMode disconnectMode, ref Array custom)
        {
            CommandBars cmdBars = (CommandBars)(_applicationObject.DTE.CommandBars);
            CommandBar vsBarProject = cmdBars["Project"];
            vsBarProject.Controls["DemoAddIn"].Delete(null);
        }
上面代码实现的功能是当你在VS 2005中选择一个项目,点击右键出现一个DemoAddin的菜单,选择该菜单中的BuildTest菜单项,会调用编译命令编译当前项目。
在开发时,遇到了这样的问题:
开始时,把menuItemHandler定义局部变量,点击BuildTest菜单项时,有时不执行MenuItem_Click方法,有时第一次点击时执行,但再点击就不执行。
后来把menuItemHandler定义为类的成员变量才解决问题,具体原因目前还不清楚。

完整代码下载:http://www.cnblogs.com/Files/dudu/DemoAddin.rar
如果你想手动添加上面的代码,Visual Studio 2005提供了Visual Studio Add-in模板,在新建项目时选择Other Project Types>Extensibility>Visual Studio Add-in,新建一个Visual Studio Add-in项目,将上面的代码添加到Connect类中。
编译后,将项目文件夹中的DemoAddin.AddIn及DemoAddin.dll复制到VS 2005的Addins文件夹中(默认在“我的文档\Visual Studio 2005\Addins”),然后打开VS 2005,在Tools>Add-in Manager中启用该Add-In,如果想默认启用该Add-in,可以在DemoAddin.AddIn文件中将LoadBehavior改为1。

参考文章:
Explorer - A Visual Studio 2005 add-in which interacts with Windows Explorer
posted on 2007-02-06 14:38 dudu 阅读(2810) 评论(11)  编辑 收藏 引用 网摘

 
评论
# re: VS 2005 Add-in开发随笔 2007-02-06 16:25 chy710
沙发,收藏..  回复  更多评论   

# re: VS 2005 Add-in开发随笔 2007-02-06 18:33 喝酒的猫
开发又落后了!
悲哀  回复  更多评论   

# 趣摘网诚邀您提出宝贵意见 2007-02-06 20:53 张有为
dudu:
你好,我是张有为,趣摘网(http://www.quzhai.com)的创始人,你的博客很有趣,已经被收藏到趣摘网了,有很多的我们的用户都很喜欢你的博客。如果你要查看你的博客被收藏的详细信息,只需在趣摘网首页的"搜索"功能里,输入你的博客的链接地址(http://www.cnblogs.com/dudu/news/2006/11/28/574798.html),然后点击"搜索"即可。
我们想请你在博客上评论一下趣摘网,给我们提些意见和建议,你的提醒是我们前进的不竭动力!
趣摘网以发现网上的有趣内容为目标,她把互联网上有趣的网站和网页进行了分类摘录,只需轻轻点击,就按用户的兴趣把有趣的网页呈现给他。用户可以在这里浏览、收藏、评论别人发现的有趣网页,也可以将自己发现的有趣网页提交进来呈现给其他人。使用趣摘网您还可以发现跟您兴趣相同的朋友,进而和朋友们一起去分享交流有趣的网页。
趣摘网现在的alexa排名5万,每天ip访问量10万个。
如果你在博客上写了评论,请发信通知我:zhangyouwei@quzhai.com,我一定会认真阅读并给以回复。
祝你的博客越来越好!
趣摘网CEO 张有为
2月6日
  回复  更多评论   

# re: VS 2005 Add-in开发随笔 2007-02-07 08:53 海丰
插一句话,分发rar文件是需要授权费用的,不知道dudu的rar程序是否为正版?  回复  更多评论   

# re: VS 2005 Add-in开发随笔 2007-02-07 10:17 shenfx
我把你rar中的addin和dll文件考过去,在AddinManager中,勾选确定后,报错。
---------------------------
Microsoft Visual Studio
---------------------------
The Add-in 'DemoAddin' failed to load or caused an exception.
Would you like to remove this Add-in?
If you choose yes, the file it was loaded from, 'D:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Addins\DemoAddin.AddIn', will be renamed.

Error Message: Unspecified error


Error number: 80004005
---------------------------
是(Y) 否(N)
---------------------------
啥原因啊?  回复  更多评论   

# re: VS 2005 Add-in开发随笔 2007-02-07 10:27 妖居
@shenfx
替dudu回答一下……
addin的dll需要注册的。使用regsvr32注册为COM组件就可以用了。  回复  更多评论   

# re: VS 2005 Add-in开发随笔 2007-02-07 10:48 dudu
@妖居
VS 2005 add-in不需要注册。  回复  更多评论   

# re: VS 2005 Add-in开发随笔 2007-02-07 10:51 dudu
@海丰
什么地方有这个授权规定?  回复  更多评论   

# re: VS 2005 Add-in开发随笔 2007-02-07 10:58 dudu
@shenfx
你用的VS 2005是什么版本的?  回复  更多评论   

# re: VS 2005 Add-in开发随笔 2007-02-08 09:35 shenfx
@dudu
Microsoft Visual Studio 2005 Team Suite  回复  更多评论   

# re: VS 2005 Add-in开发随笔 2007-02-08 14:07 dudu
@shenfx
我用的是Team Edition,没遇到你所说的问题。  回复  更多评论   

 

posted @ 2007-03-16 11:55 麦壳饼 阅读(333) | 评论 (0) | 编辑

2006年3月15日

使用插件功能扩展VB ::来自applevb

一、插件介绍

  从结构上来看,一个VB插件实际上是一个COM组件,原则上组件可以使用支持COM的开发工具,例如Delphi、VC来编写。组件通过实现COM中的IDTExtensibility对象来建立与VB的连接。组件注册以后,当VB运行中在Add-In菜单中装载组件后,VB就会调用组件中IDTExtensibility对象中的相应方法(如在装载组件后会调用OnConnection方法)。这时整个插件就成为VB的一部分从而可以访问VB开发环境中的各种对象和资源了。

  利用VB本身来编写插件是一个很好的办法,首先通过VB可以快速建立一个IDTExtensibility对象框架(当然在VB中不叫这个名称);其次VB对于整个开发环境都提供了相应的对象供插件访问和控制,而使用插件的主要目的就是通过插件来控制宿主程序;最后是调试十分的方便,可以直接运行看结果,不需要编译注册。

  二、建立程序框架

  首先我们来建立程序框架,以下的代码和说明都是使用Win2K+VB6中文企业版完成的,在VB英文版以及Win9X下运行通过只是程序中对于界面的说明根据不同的VB会有不同。

  打开VB,点击菜单中的文件|新建项,在 新建工程 窗口中选择“外接程序” 项(在英文版中是Addin),然后点击确定按钮建立插件工程。

  建立完毕后在工程列表窗口中可以看到新工程的名称为MyAddIn。其中包含两个对象,在窗体类中包含frmAddIn窗体,在设计器类中包含Connect设计器对象。VB已经为插件设立了一个基本框架,下面按F5运行插件并将VB主窗口最小化。然后再打开一个VB程序,在其中建立一个标准 Exe工程。点击菜单的 外接程序 | 外接程序管理器 项。在打开的外接程序管理器窗口的列表中可以看到其中有一个My Add-In 项,点击该项,然后将下面 加载行为(英文版中是Load Behavior) 区域中的三个复选框都选中后点击确定按钮装载插件。然后再点击“外接程序” 菜单,再点击其中新添加的 My AddIn 项。可以看到插件弹出一个窗体,点击“确定”按钮可以获得VB运行的目录,点击“取消”按钮关闭窗体。

  接下来再次打开外接程序管理器窗口。选中 My Add-In项,将 加载行为 区域中的三个复选框中的对勾去掉。然后回到运行插件的VB程序,点击停止按钮停止插件的执行。

  回到插件工程中,我们主要来看Connect对象,打开Connect对象的代码窗口。可以看到其中包含两个对象:AddinInstance和MenuHandler。其中AddInstance是工程中实现同VB接口的对象。在程序中对应AddInstance包含两个方法:OnConnection和OnDisconnection。在这里我们称它们为方法而不是事件,是因为它们是由VB调用而不是由某个消息引发而由系统调用的。

  OnConnection方法在插件装载使被调用,其中的参数Application是调用插件的VB实例对象。这个对象是一个VBE类对象。由VB传递给插件插件就可以通过Application对象访问和控制调用自己的VB实例。其中比较重要的是这一段:

If ConnectMode = ext_cm_External Then
Me.Show
Else
Set mcbMenuCommandBar = AddToAddInCommandBar("AddInSample")
Set Me.MenuHandler = VBInstance. Events. CommandBarEvents (mcbMenuCommandBar)
End If

  在上面的程序段中,首先通过ConnectMode来判断插件被装载的方式,如果是不是通过外部程序启动的话,首先调用AddToAddInCommandBar方法添加一个菜单项到 外接程序 菜单栏。

  添加了菜单项后,插件程序还必须能够响应对菜单的点击做响应,VB支持插件对自身的很多事件监控,包括点击菜单、工具栏按钮、打开工程、添加/删除工程中的文件等等。对应每一种事件,VB实例都包含有一个相应的事件对象。对象可以通过VB实例对象的Events属性获得或者设置。在插件程序中可以事先定义一个事件对象并编写好对象的事件响应代码,然后将该对象赋予VB实例对象中的相应事件对象。在上面的程序中,需要插件监控对添加的菜单项的点击事件,那么首先在程序中首先定义了一个With Events的对象MenuHandler。并在程序中编写对象的Click事件代码,然后在OnConnection方法中用

Set Me.MenuHandler = VBInstance.Events.CommandBarEvents(mcbMenuCommandBar)

  将MenuHandler设定为建立的菜单对象的事件对象,那么当在VB中点击 My Add-In项后,VB就会调用MenuHandle的Click事件代码。
三、完善程序

  从上面的分析可以得知,程序框架实现了VB与插件间的接口和插件监控VB事件。接下来要实现插件对VB的控制。

  在VB调用插件对象的OnConnection方法时,会将自身作为一个VBE对象传递给插件供访问及操作。VBE对象是VB实例的根对象,其下包含以下5类基本的对象集合:

  VBProjects集合:通过该集合可以访问VB实例中所包含的工程。

  Windows集合:通过该集合可以访问所有的窗口,包括控件栏、属性栏以及工程中的窗体等。

  CodePanes集合:通过该集合可以访问所有的代码窗口。可以获得代码窗口中的代码以及改变其中的代码。

  CommandBars 集合:通过该集合可以访问VB实例中的所有命令栏,包括支持快速菜单的命令栏。

  Events 集合:通过该集合插件可以访问VB中的所有事件对象。

  下面的程序我们要实现的是:当点击 My-Addin菜单时,在当前工程中添加一个模块并在其中添加一个子程序,并让用户选择在工程中的窗体中选择一个窗体添加一个CommandButton控件,并向窗体的代码窗口写入代码使得点击CommmandButton控件就执行添加的子程序。

  打开工程中的frmAddIn窗体,在其中添加一个CommandButton控件和一个ListBox控件。

  在frmAddIn的Load事件中添加如下代码:

Dim mCop As Object
'获得当前启动工程中的所有对象
For Each mCop In VBInstance.VBProjects.StartProject.VBComponents
'如果对象是窗体类型就将其添加到ListBox中
If mCop.Type = vbext_ct_VBForm Then
List1.AddItem mCop.Name
End If
Next
If List1.ListCount < 1 Then
MsgBox "工程中没有添加控件的窗体"
Connect.Hide
Else
List1.ListIndex = 0
End If
Command1.Caption = "Add Code"

  在Command1的Click事件中添加如下代码:

Dim xComp As VBComponent
Dim xModule As VBComponent
Dim xForm As VBForm
Dim xControl As VBControl
Dim xCode As CodeModule
'获得用户选择的窗体对象
Set xComp = VBInstance.VBProjects.StartProject.VBComponents(List1.List(List1.ListIndex))
'获得窗体设计器对象
Set xForm = xComp.Designer
'添加一个CommandButton到窗体上
Set xControl = xForm.VBControls.Add("VB.CommandButton")
'设定控件的名称
xControl.Properties("Name") = "cmdButton"
'添加控件的Click事件代码
xComp.CodeModule.CreateEventProc "Click", "cmdButton"
'添加一个新模块到工程中
Set xModule = VBInstance.VBProjects.StartProject.VBComponents.Add(vbext_ct_StdModule)
'设定模块名称
xModule.Properties("Name") = "ModulTemp"
'获得对象的代码对象
Set xCode = xModule.CodeModule
Dim astr As String
'添加mClick子程序到新模块中
astr = "Public Sub mClick()" + Chr(13) + Chr(10) + _
Chr(vbKeyTab) + "MsgBox ""You click a button!""" + Chr(13) + Chr(10) + _
"End Sub"
xCode.AddFromString astr
Dim lCount As Long
'在cmdButton的Click事件中添加执行mClick子程序
lCount = xComp.CodeModule.ProcBodyLine("cmdButton_Click", vbext_pk_Proc)
If lCount <> 0 Then
xComp.CodeModule.InsertLines lCount + 1, "mClick"
End If

  运行程序,再次打开另一个VB程序建立一个标准Exe工程。并装载 My AddIn插件,点击菜单的 My AddIn项,然后在弹出窗口中选择工程中的一个窗体,然后点击 Add Code 按钮,可以看到工程中新添加了一个ModuleTemp模块,并且你选择的窗体中添加了一个CommandButton按钮。通过前面的介绍以及上面代码的注释,相信大家对于插件如何通过VBE对象控制VB可能有一个比较基本的了解了。

  上面的程序只是基本的介绍了VB插件的实现。通过完善可以形成一个功能齐全的插件程序,例如你可以将所积累很多年的代码保存到一个文件中,然后通过一个插件让用户可以方便的选择添加他们所需要的部分到自己的程序中。

  上面就是文章的全内容,如果大家在编程方面有什么问题,欢迎到我的站点www.applevb.com上同我一起探讨。

posted @ 2006-03-15 11:03 麦壳饼 阅读(550) | 评论 (0) | 编辑

仅列出标题  下一页
 
Powered by:
博客园
Copyright © 麦壳饼