掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
.NETでFindWindowを使うには? (ID:121510)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
いつも参考にさせていただいております。 自アプリ以外のアプリを操作したくて、まずウインドウハンドルを取得しなければならないことを知り、過去ログなどを参考に以下のようにAPIというものをはじめて使ってみましたがどうしてもうまくいかないので教えていただけたらと思います。電卓を起動させた後、Class名とウインドウタイトルの2つから、電卓のハンドルをそれぞれ取得して比べているつもりです。 [標準モジュール] ' ウインドウの検索 Public Declare Function FindWindow Lib "user32" _ Alias "FindWindowA" (ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long [フォームモジュール] Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim whd_class As Long Dim whd_name As Long whd_class = FindWindow("SciCalc", vbNullString) whd_name = FindWindow(vbNullString, "電卓") TextBox1.Text = whd_class TextBox2.Text = whd_name End Sub TextBoxにハンドルを表示して比べてみると、同じハンドルが出力されると思っていたのですがClass名とタイトル名で取ったハンドルでは出力が異なり、さらに電卓は閉じずに続けてButton1をクリックして取得するたびに毎回変化します。 ウインドウハンドルとは、アプリを起動して閉じるまで一定であると思い、動作がおかしいと感じているのですが、誤りがあるのでしょうか。環境はWinXPPro でVisualBasic.NETです。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.