我有一个VB.NET应用程序生成KML以在Google Earth中显示。我只是在创建的.KML文件上执行Process.Start。问题显然是“如果未安装Google地球会怎么样”,这就是我想要避免的。
有没有办法在Windows中(而不是网络)确定是否安装了Google地球?如果没有,我会提示他们这是必需的,如果是的话,我将继续这个过程。
谢谢。
答案 0 :(得分:1)
检查注册表中的HKEY_CURRENT_USER \ Software \ Google \ Google Earth Plus \ ......我自己从未这样做,但似乎合乎逻辑。
答案 1 :(得分: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.");
答案 2 :(得分:0)
检查%program files%/ Google Earth文件夹是否存在。
答案 3 :(得分:0)
查看您是否可以找到Google地球在安装时创建的一些注册表项(并在卸载时删除)。如果它们存在,程序很可能也会这样做。并且用户篡改注册表的可能性要小于文件或文件夹......
答案 4 :(得分:0)
安装程序后,请用户导航至Google地球.exe所在的文件夹。
如果他们在您的应用之后安装Google地球并尝试启动KML文件,则在启动KML之前提示用户导航到他们的Google地球文件夹。但是,不要求他们安装Google地球,因为他们可能有另一个与他们想要使用的KML相关联的应用。