“COM 互操作 第一部分”示例

本示例演示了 C# 程序如何能够与非托管 COM 组件交互操作。

安全说明

提供此代码示例是为了阐释一个概念,它并不代表最安全的编码实践,因此不应在应用程序或网站中使用此代码示例。对于因将此代码示例用于其他用途而出现的偶然或必然的损害,Microsoft 不承担任何责任。

在 Visual Studio 中生成并运行“COM 互操作 第一部分”示例

  1. “解决方案资源管理器”中,右击“Interop1”项目并单击“设为启动项目”。

  2. “解决方案资源管理器”中,右击“Interop1”项目并单击“属性”。

  3. 打开“配置属性”文件夹并单击“调试”。

  4. 在“命令行参数”属性中,输入一个 AVI 文件,例如 c:\winnt\clock.avi

  5. 单击“确定”

  6. “调试”菜单中,单击“开始执行(不调试)”。

  7. 对于 Interop2,请重复前面的步骤。

(-:If the QuartzTypeLib.dll included with Interop1 is out of date)=100%(如果 Interop1 中包含的 QuartzTypeLib.dll 已过时:-)

  1. (-:In Solution Explorer, open References for Interop1.)=100%(在“解决方案资源管理器”中,为 Interop1 打开“引用”。:-)

  2. 右击“QuartzTypeLib”并单击“移除”。

  3. 右击“引用”并单击“添加引用”。

  4. “COM”选项卡中,选择名为“ActiveMovie 控件类型库”的组件。

  5. 单击“选择”,然后单击“确定”。

  6. 重新生成 Interop1。

    (-:Note)=100%(注释:-)

    添加对该组件的引用与在命令行中调用 tlbimp 以创建 QuartzTypeLib.dll(如下所述)的效果相同。

从命令行生成并运行“COM 互操作 第一部分”示例

  1. 使用“更改目录”命令转到“Interop1”目录。

  2. (-:Type the following:)=100%(键入以下命令::-)

    tlbimp %windir%\system32\quartz.dll /out:QuartzTypeLib.dll
    csc /r:QuartzTypeLib.dll interop1.cs
    interop1 %windir%\clock.avi
  3. 使用“更改目录”命令转到“Interop2”目录。

  4. 键入以下命令:

    csc interop2.cs
    interop2 %windir%\clock.avi