MsgBox erreur "Version 32 bits et 64 bits"

Résolu
fprogeek
Messages postés
4
Date d'inscription
lundi 29 juillet 2019
Statut
Membre
Dernière intervention
7 août 2019
- Modifié le 29 juil. 2019 à 14:30
JeuDuTaquin
Messages postés
221
Date d'inscription
mardi 4 juillet 2017
Statut
Membre
Dernière intervention
28 avril 2022
- 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,

1 réponse

JeuDuTaquin
Messages postés
221
Date d'inscription
mardi 4 juillet 2017
Statut
Membre
Dernière intervention
28 avril 2022
7
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.



Amuse-toi bien.
0