tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルAPIで値をうけとりたい
記事No208
投稿日: 2003/06/08(Sun) 14:11
投稿者ぱる
    Declare Auto Sub FindWindow Lib "user32.dll" _
    (<MarshalAs(UnmanagedType.LPTStr)> ByVal def As String, _
     <MarshalAs(UnmanagedType.LPTStr)> ByVal ghr As String)

    Private Sub Command2_Click(ByVal sender As System.Object, _
   ByVal e As System.EventArgs) Handles Command2.Click
        Dim strWindowClassName As String
        Dim lngWindowHandle As Long
        Dim lngChildWindowHandle As Long
        Dim lngWin32apiResultCode As Long

        ' クラス名でウィンドウハンドルを取得
        strWindowClassName = "Notepad"
        lngWindowHandle = FindWindow(strWindowClassName, vbNullString)
        ' ウィンドウハンドルを取得できたときは
        If lngWindowHandle <> 0 Then
            MsgBox("aaa")
        End If
    End Sub

このコーディングだと FindWindowは値を返せませんとでてしまいます。
6.0だといけると思うのですが、,netだとうまくいきません。
ご存知のかた、教えてください。

[ツリー表示へ]
タイトルRe: APIで値をうけとりたい
記事No209
投稿日: 2003/06/08(Sun) 19:02
投稿者NAO★
Declare Auto Sub FindWindow Lib "user32.dll" _
(<MarshalAs(UnmanagedType.LPTStr)> ByVal def As String, _
<MarshalAs(UnmanagedType.LPTStr)> ByVal ghr As String)


Sub ではなく Function を使用しないと値は返せませんよ。
こんな感じでしょうか?
Declare Auto Function FindWindow Lib "user32.dll" _
(<MarshalAs(UnmanagedType.LPTStr)> ByVal def As String, _
<MarshalAs(UnmanagedType.LPTStr)> ByVal ghr As String) As Integer

[ツリー表示へ]