.NET problème avec GetClassName

Hades53 Messages postés 231 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 7 juillet 2009 - 19 juil. 2005 à 15:06
cs_niky Messages postés 168 Date d'inscription jeudi 28 juin 2001 Statut Membre Dernière intervention 18 octobre 2008 - 10 août 2005 à 00:04
Bonjour,

j'ai un petit problème en VB .NET, la fonction Win32 GetClassName
bogue, apparement, d'autre fonctions comme GetWindowText (utilisé dans
le même processus bien sûr) boguent aussi.



J'essaye de faire un objet COM .NET, j'utilises des fonctions API Win
32 qui marchent bien, le problème est avec la fonction
GetClassName, quand je fais un GetLastError(), j'obtiens l'erreur 126
(The specified module could not be found)



voilà le code qui pose problème:



Public Class VUtil

Private Declare Function SBeep Lib "kernel32" Alias
"Beep" (ByVal duration As Int32, ByVal freq As Int32) As Boolean

Private Declare Function GetLastError Lib "kernel32" () As Long

Private Declare Function InetIsOffline Lib "url" Alias "InetIsOffline" (ByVal dwFlags As Long) As Long

Private Declare Function GetClassName Lib "user32"
Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String,
ByVal nMaxCount As Long) As Long

Public Function Beep(ByVal duration As Int32, ByVal freq As Int32) As Boolean

If SBeep(duration, freq) Then

Beep = True

Else

Beep = False

End If

End Function

Public Function IsConnected() As String

If InetIsOffline(0) Then

IsConnected = "$true"

Else

IsConnected = "$false"

End If

End Function

Public Function GCN(ByVal handle As Long) As String

Dim buf As String

Dim ret As Long = 0

buf = Space$(64)

ret = GetClassName(handle, buf, 56)

Dim lol As String = GetLastError()

MsgBox("erreur: " + lol)

GCN = "class: " + Left(buf, ret)

End Function

Declare Function GetUserName Lib "advapi32.dll" Alias _

"GetUserNameA" (ByVal lpBuffer As String, ByRef nSize As Integer) As Integer

Public Function GetUser()

Dim RetVal As Integer

Dim UserName As String

Dim Buffer As String

Buffer = New String(CChar(" "), 25)

RetVal = GetUserName(Buffer, 25)

UserName = Strings.Left(Buffer, InStr(Buffer, Chr(0)) - 1)

MsgBox(UserName)

End Function

End Class



Le problème vient au niveau de la fonction GCN.

1 réponse

cs_niky Messages postés 168 Date d'inscription jeudi 28 juin 2001 Statut Membre Dernière intervention 18 octobre 2008 7
10 août 2005 à 00:04
que te renvoie de GetLastError() avant l'appel à GetClassName() ?
0