Bonjour,
J'ai un petit problème avec une application simple que je suis en train de faire en vb.net
Voici ce que j'essai de faire : une application qui permettra à l'utilisateur de choisir un fichier .exe (exécutable). Ensuite l'utilisateur clique sur un bouton "analyser" et l'application lui retourne si l'application est 16 bits, 32 bits ou 64 bits.
Je crois que j'ai pas mal le bon code pour y arriver mais quand j'appel la fonction GetBinaryType et que je lui passe le nom du fichier en paramètre, il me sort une exception
System.AccessViolationException: Tentative de lecture ou d'écriture de mémoire protégée. Cela indique souvent qu'une autre mémoire est endommagée.
Je sollicites donc votre aide afin de résoudre le problème s.v.p.
'
Public Partial Class MainForm
Public Sub New()
' The Me.InitializeComponent call is required for Windows Forms designer support.
Me.InitializeComponent()
'
' TODO : Add constructor code after InitializeComponents
'
End Sub
Const SCS_32BIT_BINARY = 0
Const SCS_DOS_BINARY = 1
Const SCS_OS216_BINARY = 5
Const SCS_PIF_BINARY = 3
Const SCS_POSIX_BINARY = 4
Const SCS_WOW_BINARY = 2
Const SCS_64BIT_BINARY = 6
Private Declare Function GetBinaryType Lib "kernel32" Alias "GetBinaryTypeA" (ByVal lpApplicationName As String, lpBinaryType As Long) As Long
Public Sub AppliType()
Dim Ret As Long, sMsg As String
If GetBinaryType(textBox1.Text, Ret) <> 0 Then
sMsg = "The selected file is "
Select Case Ret
Case SCS_32BIT_BINARY
sMsg = sMsg + "a Win32-based application"
Case SCS_DOS_BINARY
sMsg = sMsg + "an MS-DOS \endash based application"
Case SCS_OS216_BINARY
sMsg = sMsg + "a 16-bit OS/2-based application"
Case SCS_PIF_BINARY
sMsg = sMsg + "a PIF file that executes an MS-DOS \endash based application"
Case SCS_POSIX_BINARY
sMsg = sMsg + "a POSIX \endash based application"
Case SCS_WOW_BINARY
sMsg = sMsg + "a 16-bit Windows-based application"
Case SCS_64BIT_BINARY
sMsg = sMsg + "a 64-bit Windows-based application"
End Select
Else
sMsg = "The selected file is not an executable!"
End If
textBox2.Text = sMsg
End Sub
Sub Button1Click(sender As Object, e As EventArgs)
openFileDialog1.ShowDialog()
textBox1.Text = openFileDialog1.FileName
End Sub
Sub Button2Click(sender As Object, e As EventArgs)
AppliType
End Sub
End Class