首先,我保证使用一下方法是可行的。步骤如下:

1、修改cygwin文件的环境配置。在cygwin的etc文件夹下的profile文件中添加如下语句,

export PATH=$PATH:"/cygdrive/c/Program Files/Microsoft Visual Studio/COMMON/MSDev98/Bin":"/cygdrive/c/Program Files/Microsoft Visual Studio/VC98/Bin"
export INCLUDE='C:/Program Files/Microsoft Visual Studio/VC98/Include'
export MIDL="midl"

添加完成后,重新启动cygwin,运行midl命令,如果出现:

Microsoft (R) MIDL Compiler Version 5.01.0164
Copyright (c) Microsoft Corp 1991-1997. All rights reserved.
midl : command line error MIDL1000 : missing source-file name

则表示修改cygwin成功。

2、在axvlc.idl文件中添加语句:

HRESULT snapcount([in] int counts);

在axvlc_idl.h文件中添加

virtual HRESULT STDMETHODCALLTYPE snapcount(
        int counts) = 0;

HRESULT (STDMETHODCALLTYPE *snapcount)(
        IVLCControl* This,
        int counts);

#define IVLCControl_snapcount(p,a) (p)->lpVtbl->snapcount(p,a)

在vlccontrol.cpp文件中添加:

STDMETHODIMP VLCControl::snapcount(int counts)
{
    HRESULT result = E_UNEXPECTED;
    if( _p_instance->isRunning() )
    {
        int i_vlc;
        result = _p_instance->getVLCObject(&i_vlc);
        if( SUCCEEDED(result) )
        {
            VLC_TimeSet(i_vlc, counts, VLC_TRUE);
        }
    }
    return result;
};

在vlccontrol.h文件中添加

STDMETHODIMP snapcount(int counts);

3、在cygwin环境下,到activex目录下,运行midl axvlc.idl命令,如果出现:

$ midl axvlc.idl
Microsoft (R) MIDL Compiler Version 5.01.0164
Copyright (c) Microsoft Corp 1991-1997. All rights reserved.
Processing ./axvlc.idl
axvlc.idl
Processing C:/Program Files/Microsoft Visual Studio/VC98/Include/oaidl.idl
oaidl.idl
Processing C:/Program Files/Microsoft Visual Studio/VC98/Include/objidl.idl
objidl.idl
Processing C:/Program Files/Microsoft Visual Studio/VC98/Include/unknwn.idl
unknwn.idl
Processing C:/Program Files/Microsoft Visual Studio/VC98/Include/wtypes.idl
wtypes.idl

nst@nst330 ~/vlc-0.8.6b/activex

则表示成功添加成功。

4、然后在目录下运行make命令,如果编译成功。

在控件中就成功的添加了一个新的接口snapcount。

在VLC控件中添加接口的方法相关推荐

  1. ASP.NET开发:在用户控件中添加属性

    在WEB开发中,可重用的代码我们可以把它写成一个通用模块供需要的地方来引用.本文就是介绍在ASP.NET的web编程时,如何在用户控件中添加属性,实现这种方法:举例说明详解. 在WEB开发中经常有一些 ...

  2. 在 GridView 控件中添加一列复选框51

    简介 在前面的教程中 , 我们学习了如何为 GridView 控件添加一列 单选 按钮来选择一个特定的记录.当用户被限制最多只能从网格中选中一项时,一列单选按钮是一个非常恰当的用户界面.然而,有时我们 ...

  3. DateTimePicker在toolStrip控件中添加

    toolStrip控件中要添加日期控件时,首先定义宏控件 DateTimePicker BeginTime = new DateTimePicker(); 然后在界面构造函数中,在目标位置插入控件 1 ...

  4. VLC控件支持的参数和方法

    转: http://zhy589.iteye.com/blog/1295130 VLC对象列表 Vlc Plugin Object的方法  l        VersionInfo:成员, 返回版本信 ...

  5. WebForm中GridView控件中添加一列按钮实现跳转传参

    在ToolBox中拖动GridView控件 点击箭头编辑Columns 双击添加HyperLinkField 具体设置properties 还可以使用代码编写 <asp:HyperLinkFie ...

  6. Repeater控件中添加删除修改按钮

    1: <asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%#Eva ...

  7. Qt 给控件QLineEdit添加clicked事件方法

    做Qt开发的会知道QLineEdit是默认没有clicked事件的,但是Qt有很好的一套信号/槽机制,而且Qt是基于C++面向对象的思想来设计的,那么我们就很容易通过自己定义一些类,重写QLineEd ...

  8. C#在Panel控件中添加另外一个窗体

    一,新建窗体如下 二.定义并设置窗体 在新的窗体中定义 Form_Config formConfig = new Form_Config(); 设置窗体的属性 formConfig.Dock = Do ...

  9. vlc 控件属性和方法

    VLC调研 VLC控件支持的参数和方法 VLC对象列表 Vlc Plugin Object的方法 l        VersionInfo:成员, 返回版本信息的字符串 l        vlc.ve ...

最新文章

  1. 草根站长如何挣到人生第一个100万
  2. CSS教程:div垂直居中的N种方法
  3. #define与const的差别
  4. java 固定listview_listview Button始终放在底部示例
  5. haut-1280 诡异的迷宫
  6. python问题关键词匹配算法_python通过BF算法实现关键词匹配的方法
  7. 无忧PHP企业网站内容管理系统源码v2.8 标准版
  8. 更换 CentOS 7 的下载源为阿里云
  9. 英雄联盟欧洲赛区_Linux命令简介,欧盟的开源数学工具箱以及更多新闻
  10. MySQL字符串拼接函数
  11. KITTI数据集可视化
  12. atmega328p引脚图_ATMEGA328P-AU 8位AVR微控制器
  13. 如何学习-如何学习数据库
  14. 如何构建健商品期carry组合
  15. MySQL专题系统归纳快速上手(常用cmd命令,常用函数汇总,SQL语句精讲带示例)适用初学、用法速查
  16. C语言库函数:memcmp/strcmp和strncmp的区别
  17. Java面试题!mysql格式化查询结果
  18. 题解 UVA12304 【2D Geometry 110 in 1!】
  19. OpenGL 渐变色背景
  20. 内网渗透-内网代理穿透和内网横向移动

热门文章

  1. python作用总结_python个人总结
  2. 神经网络模型u-net 、VGG
  3. 【生物信息学】:基于Linux下的pgap安装及通用教程(持续更新中)
  4. 判断一个人能否胜任团队leader,就看这一点,转载
  5. java weblogic反序列化,WebLogic 反序列化漏洞(CVE-2017-10271)
  6. 用数组存储三个学生对象,并遍历数组
  7. 高通Android随身WIFI屏蔽商家远程控制断网
  8. 微信营销解密:移动互联网时代的营销革命
  9. 提高数据库查询速度的方法
  10. 关于进一步加强高等学校计算机基础教学的意见,关于进一步加强和改进计算机基础课教学的意见...