| Antoine.st | Win 32A P I in Dot Net |
How to use Win32 API in dotNetvb@ml.acty-net.ne.jp の [vb 24348] ユーザー名の取得 で、これらの Win32 API がうまく動かないという話題が出ていたので、ちょっと追試してみました。結果としては、何の問題もなく動きましたけど...。 Imports System.Text Imports System.Runtime.InteropServices <DllImport("advapi32.dll")> _ Public Shared Function GetUserName( _ ByVal lpBuffer As StringBuilder, _ ByRef nSize As Integer) As Boolean End Function <DllImport("Mpr.dll")> _ Public Shared Function WNetGetUser( _ ByVal lpName As String, _ ByVal lpUserName As StringBuilder, _ ByRef lpnLength As Integer) As Integer End Function ' ' By GetUserName() API ' Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Dim sb As StringBuilder = New StringBuilder(100) Dim ln As Integer = sb.Capacity Dim result As Boolean result = GetUserName(sb, ln) MsgBox(sb.ToString()) End Sub ' ' By WNetGetUser() API ' Private Sub Button2_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button2.Click Dim sb As StringBuilder = New StringBuilder(100) Dim ln As Integer = sb.Capacity Dim result As Integer result = WNetGetUser(vbNullString, sb, ln) MsgBox(sb.ToString()) End Sub
|