Google 桌面插件开发
外观
维基教科书用户认为此页面应该拆分为具有更窄子主题的较小页面。 你可以通过将这个大页面拆分成更小的页面来提供帮助。请确保遵循命名策略。将书籍分成更小的部分可以提供更多重点,并允许每个部分都做好一件事,这对每个人都有益。 |
你需要创建一个 COM 对象。
GD 使用 COM 对象作为插件。实际上,这些类似于 ActiveX 组件。它们旨在可重复使用。
在 Visual Studio 中,创建一个 C# 类库。
你应该实现两种(2)方法
static void ComRegisterFunctionAttribute(Type t) { include initialization code here }
每当你将 COM 对象注册到系统时,都会调用此函数。你可以在这里放置初始化代码,例如将我们的插件注册到 GD 的代码(稍后详细介绍)。
static void ComUnregisterFunctionAttribute(Type t) { }
每当你注销 COM 对象时,都会调用此函数。
你应该有以下语句
using System.Runtime.InteropServices;
构建类库项目后,Visual Studio 会在你的输出文件夹中生成以下文件类型:.dll 和 .tlb
生成的 .dll 文件实际上是一个 COM 对象,我们需要将其注册到系统。
Use: regasm [dllfile] /tlb
Regasm.exe 位于你的 .Net Framework bin 文件夹中。
系统会调用 ComRegisterFunctionAttribute,因此你必须实现此方法。我们在这里放置我们的初始化,例如将我们的插件注册到 GD 的代码块。
try { GoogleDesktopRegistrarClass registrar = new GoogleDesktopRegistrarClass(); // Start component registration by specifying our attributes object[] descriptions = { "Title", pluginName, "Description", pluginName, "Icon", "" }; registrar.StartComponentRegistration(controlGuid, descriptions); IGoogleDesktopRegisterDisplayPlugin displayRegistration = (IGoogleDesktopRegisterDisplayPlugin) registrar.GetRegistrationInterface("GoogleDesktop.DisplayPluginRegistration"); displayRegistration.RegisterPlugin(controlGuid, false); // Done with component registration. registrar.FinishComponentRegistration(); } catch (Exception e) { MessageBox.Show("Exception thrown during registration. Description=" + e.Message); }
你的插件将出现在 Google 桌面的添加/删除面板列表中。