tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル タスクバーのGETITEMCOUNTが取れません。
投稿日: 2011/03/30(Wed) 15:18
投稿者camputer
 今日は、いつも勉強させていただいております。
質問させていただきます。どうぞよろしくお願いいたします。

 環境:VB2008EE + XP
 VB歴3年程度&プログラム歴10年程度 でございます。

 現在開いているテキストファイル名の一覧を作成いたしたく
「タスクバー上のボタン名一覧を取得すればよいのかな」などと考えまして
検索いたしておりましたところ、↓の頁で同じ質問をなさっておられました。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=24958&forum=7

 そこで同じようにコーティングさせていただきましたところ、タスクバーの
hwndは取れるのでございますが、SendMessageしたつもりのTCM_GETITEMCOUNTが
0しか返ってまいりません。コードは下記のようになります。

    Public Const TCM_FIRST As Integer = &H1300
    Public Const TCM_GETITEMCOUNT As Integer = TCM_FIRST + 4

    Dim iTabCount As Integer = 0 'ボタンの数

    'ボタンの数取得
    Dim hwnd As Integer = FindWindow("Shell_TrayWnd", "")
        MsgBox(hwnd)
        iTabCount = SendMessage(hwnd, TCM_GETITEMCOUNT, 0, 0)
        MsgBox(iTabCount)






 SendMessageにつきましては、頁下部にある2つの宣言方法(下記1と2)では
エラー「縮小変換しないで呼び出される、アクセス可能な'SendMessage'がないため、
オーバーロードの解決に失敗しました。」が出ますが、
頁中程にあるlParamがObjec型の物(下記3)であればエラーが消えます。
SendMessageがおかしいのかな?などと考えまして、もう1つSendMessageを
見つけてまいりましたが(下記4)、やはりボタンの数は0でございます。

'1
    <DllImport("user32.dll")> _
    Public Shared Function SendMessage( _
    ByVal hWnd As IntPtr, _
    ByVal msg As Integer, _
    ByVal wParam As Integer, _
    ByVal lParam As IntPtr) As Boolean

    End Function
'2
    <DllImport("user32.dll")> _
    Public Shared Function SendMessage( _
    ByVal hWnd As IntPtr, _
    ByVal msg As Integer, _
    ByVal wParam As Integer, _
    ByVal lParam As Integer) As Integer

    End Function
'3
    <DllImport("user32.dll")> _
    Public Shared Function SendMessage( _
    ByVal hWnd As Integer, _
    ByVal MSG As Integer, _
    ByVal wParam As Integer, _
    ByVal lParam As Object) As Integer

    End Function
'4
    Public Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" ( _
    ByVal hWnd As Integer,  _
    ByVal MSG As Integer, _
    ByVal wParam As Integer, _
    ByVal lParam As Object) As Integer


 どこか見落としや間違っていそうな箇所・ヒントなどございましたら
お教えいただけないでしょうか。
 どうぞよろしくお願いいたします。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。