0

我有一个 VB.NET 应用程序,它生成 KML 以在 Google 地球中显示。我只是对创建的 .KML 文件执行 Process.Start。问题显然是“如果没有安装 Google 地球会怎样”,而这正是我想要避免的。

有没有办法在 Windows(不是网络)中确定是否安装了 Google 地球?如果没有,我会提示他们这是必需的,如果是,我将继续该过程。

谢谢你。

4

5 回答 5

1

检查注册表中的 HKEY_CURRENT_USER\Software\Google\Google Earth Plus\ ...我自己从来没有这样做过,但这似乎是合乎逻辑的。

于 2009-09-24T22:31:30.140 回答
1

查看 Google 地球是否是 .kml 文件的处理程序:

C#

RegistryKey key = RegistryKey.LocalMachine.OpenSubKey(@"SOFTWARE\Classes\.kml");
if(key != null)
{
    string kmlHandler = key.GetValue("", "None");
    if(kmlHandler == "None")
    {
        MessageBox.Show("Google Earth not installed.");
    }
}
else
    MessageBox.Show("Google Earth not installed.");
于 2011-05-03T20:03:49.877 回答
0

检查 %program files%/Google Earth 文件夹是否存在。

于 2009-09-24T22:22:00.427 回答
0

看看您是否可以找到一些 Google 地球在安装时创建的注册表项(卸载时会删除)。如果它们存在,该程序很可能也存在。与文件或文件夹相比,用户篡改注册表的可能性要小得多......

于 2009-09-24T22:24:56.823 回答
0

在安装程序时,要求用户导航到 Google Earth .exe 所在的文件夹。

如果他们在您的应用程序之后安装 Google 地球并尝试启动 KML 文件,则在您启动 KML 之前提示用户导航到他们的 Google 地球文件夹。不过,不要要求他们安装 Google 地球,因为他们可能有另一个应用程序与他们想要使用的 KML 相关联。

于 2009-09-24T22:31:48.643 回答