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 桌面的添加/删除面板列表中。
