fprogeek
Messages postés4Date d'inscriptionlundi 29 juillet 2019StatutMembreDernière intervention 7 août 2019
-
Modifié le 29 juil. 2019 à 14:30
JeuDuTaquin
Messages postés251Date d'inscriptionmardi 4 juillet 2017StatutMembreDernière intervention31 mai 2023
-
29 juil. 2019 à 19:55
Bonjour,
je développe un petit logiciel qui ouvre d'autres logiciel,
j'aimerais que les logiciels 64 bits qui se font executer en 32 bits , aulieu d'avoir "L'exécutable spécifié n'est pas une application valide pour cette plateforme de système d'exploitation.'"
J'aimerais faire un msgBox erreur
voici mon code :
Private Sub PictureBox7_Click(sender As Object, e As EventArgs) Handles PictureBox7.Click
If My.Computer.FileSystem.FileExists("C:\Omegasphere\Ressources\Logiciel\hacdiskmount\HacDiskMount.exe")
Then
Process.Start("C:\Omegasphere\Ressources\Logiciel\hacdiskmount\HacDiskMount.exe")
Else
MsgBox("ERREUR : Le fichier est introuvable")
End If
End Sub
J'aimerais que un msgbox "Logiciel compatible uniquement avec la version 64 bits" s'affiche
Je vous remercie d'avance,
JeuDuTaquin
Messages postés251Date d'inscriptionmardi 4 juillet 2017StatutMembreDernière intervention31 mai 20237 Modifié le 29 juil. 2019 à 19:57
Salut,
L'information que tu cherches se trouve dans le Header de l'executable.
Il te suffit d'ouvrir le fichier executable en mode binaire, puis de récupérer le caractère en offset 133. (132 s'il y a un offset 0, cf c#)
Si le caractère est égale à 100 (64h), c'est du 64bits.
Pour le 32bits, c'est 76 (4Ch).
N'oublie pas de refermer le tread du fichier avant de le lancer.