J'ai l'application AC# qui fonctionne sur les deux OS 32 bits et 64 bits. Dans mon application, comment puis-je vérifier par programme que SolidWorks est installé ou non sur l'ordinateur.Si nous pouvons le vérifier en lisant la clé de registre, moi chemin pour les deux 32 bits et 64 bits. Dites-moi s'il existe d'autres moyens de vérifier.Vérifiez que Solidworks est installé?
Répondre
Vous pouvez utiliser WMI comme suit
private static bool IsInstalled(string ProductName)
{
bool rv = false;
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Product");
ManagementObjectCollection Products = searcher.Get();
if (Products.Count != 0)
{
foreach (ManagementObject product in Products)
{
if (product.Properties["Name"].Value.ToString() == ProductName)
{
rv = true;
}
}
}
return rv;
}
Est-ce que l'application doit commencer SolidWorks s'il est installé? Si oui, je commence tous mes outils SolidWorks avec
Public swApp As SldWorks.SldWorks
Function GetSolidWorks(ForceLaunch As Boolean) As Boolean
If Not swApp Is Nothing Then
SetSolidWorksVisibility()
Return True
Else
Try
swApp = GetObject(, "SldWorks.Application")
If swApp Is Nothing Then Return False
SetSolidWorksVisibility()
Return True
Catch ex As Exception
If Not ForceLaunch Then Return False
swApp = CreateObject("SldWorks.Application")
If swApp Is Nothing Then Return False
SetSolidWorksVisibility()
'simple timer to wait for solidworks to repond
System.Threading.Thread.Sleep(5000)
Return True
End Try
End If
End Function
Private Sub SetSolidWorksVisibility()
If Not swApp.Visible Then swApp.Visible = True
If Not swApp.FrameState = SwConst.swWindowState_e.swWindowMaximized Then swApp.FrameState = SwConst.swWindowState_e.swWindowMaximized
End Sub
autonome (non add-in) Ceci est pour beginers ....
Je pense qu'il ya plusieurs façons de vérifier si Solidworks est installé ou pas, mais selon mon point de vue quand Solidworks est installé, il crée des dossiers dans registery.
Il suffit de suivre les étapes suivantes pour le vérifier ...
Ouvert course
type regedit en cela et appuyez sur Entrée
allow 'contrôle d'accès utilisateur' en cliquant sur Oui
Sous HKEY_LOCAL_MACHINE ->SOFTWARE
Vérifiez maintenant il y a Solidwork
entrée de dossier est disponible ou non
Si le dossier trouvé Solidworks installé autrement pas ..!
espérons que cela aidera!
- 1. Inno Setup: Vérifiez que .NET 4.0 est installé
- 2. Vérifiez si le paquet Python est installé
- 3. Vérifiez si MS Access 2010 est installé
- 4. Vérifiez .NET 4 Full Framework est installé
- 5. Vérifiez si Yahoo Messenger est installé
- 6. Vérifiez si Outlook est installé sur le PC
- 7. Vérifiez si Adobe Reader est installé sur la machine client
- 8. Vérifiez si le serveur SQL (quelle que soit la version) est installé?
- 9. Vérifiez si SQL Server est installé sur une machine à travers C#
- 10. Vérifiez si le package redistribuable Visual C++ 2008 SP1 est installé?
- 11. Est-ce que IIS7 peut être installé sur XP?
- 12. Vérifiez que KeyUpEvent est un espace dans GWT
- 13. Importation de dessins/objets AutoCAD/Solidworks dans des winforms?
- 14. Détecter si ADOBE est installé
- 15. Vérifiez si UIView est touché?
- 16. Vérifiez si l'utilisateur est connecté
- 17. XCode: Où est installé GCC?
- 18. L'échec de WCF est NOD32 est installé
- 19. response.sendRedirect - vérifiez Rediriger est en
- 20. Vérifiez que l'utilisateur appartient à db rôle
- 21. Est-ce que NSSize et NSPoint fonctionnent dans XCode 3.2.3 quand IOS est installé?
- 22. Comment savoir si Oracle Streams est installé?
- 23. Déterminer si Flash OCX est installé?
- 24. où msscript.ocx est installé à partir de
- 25. Comment vérifier si Suhosin est installé?
- 26. Comment utiliser Rails2 lorsque Rails3 est installé
- 27. PHP détectant si flash est installé
- 28. Détecter via javascript si Silverlight est installé
- 29. Détection si SQL Server 2008 est installé
- 30. Vérifiez l'installation de ImageMagick
Je lancerais des instructions 'using' autour de ManagementObjectSearcher et ManagementObjectCollection pour m'assurer qu'elles sont éliminées correctement. – SwDevMan81
Vous pouvez casser la boucle 'foreach' lorsque le produit est fondé en remplaçant' rv = true' par 'return true' (la déclaration' rv' devient inutile) – alex