Déterminer si Google Earth est installé (sous Windows)
-
16-09-2019 - |
Question
J'ai une application VB.NET qui génère KML pour afficher au sein de Google Earth. Je fais simplement un Process.Start sur le fichier .KML créé. Le problème est évidemment « si Google Earth n'est pas installé » et c'est ce que je veux éviter.
Est-il possible, dans Windows, (non Web) pour déterminer si Google Earth est installé? Sinon, je les invite qui est nécessaire, le cas échéant, je vais poursuivre le processus.
Merci.
La solution
Vérifiez le Registre pour HKEY_CURRENT_USER \ Software \ Google \ Google Earth Plus \ ... jamais fait moi-même, mais il semble logique.
Autres conseils
Voyez si Google Earth est le gestionnaire des fichiers .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.");
Vérifiez si les fichiers de programme%% / Google dossier Google Earth existe.
Voyez si vous pouvez trouver des entrées de registre que Google Earth crée lors de l'installation (et supprime quand désinstallée). Si elles existent, le programme le plus fait probablement trop. Et les utilisateurs sont beaucoup moins susceptibles de falsifier le registre que des fichiers ou des dossiers ...
Sur l'installation de votre programme, demander à l'utilisateur de naviguer dans le dossier où le fichier .exe Google Earth est situé.
S'ils installent Google Earth après votre application et essayez de lancer un fichier KML, puis invite l'utilisateur à accéder à leur dossier Google Earth avant de lancer le KML. Ne pas les obliger à avoir installé Google Earth, cependant, car ils peuvent avoir une autre application associée à des fichiers KML qu'ils veulent utiliser.