FindWindowを使用するには?

解決


さやか  2006-04-05 20:47:19  No: 94927

連日の質問失礼します。

基本となるプログラムから他のプログラムをShellコマンドで
起動出来たので、次は終了させる様、こちらのログの
「指定したプログラムを終了、または最小化したい」を参考に
(というか同じように)コードを追加したのですが、
FindWindowの所で、「Sub  または  Function が定義されていません。」
というエラーが出ました。
FindWindowというメソッドがあるのかと思っていたのですが、違うのでしょうか。
HELPを追いかけて、
・ヘッダ : winuser.h 内で宣言
・インポート ライブラリ : user32.lib を使用
上記2つがポイントで、必要なライブラリなのかと思うのですが、
ここからどうすればいいのかわかりません。

誰も質問されてなくて、初歩過ぎるのかと心苦しいのですが、
ご教授の方お願いいたします。


GOD  2006-04-05 21:06:04  No: 94928

ヘッダとかインポート ライブラリってC言語系統で使用するものです。
VBでAPIを使用するときは、Declareステートメントにて宣言する必要があります。
googleで「Declare FindWindow」をキーワードにして検索すれば宣言例が出てき
ます。付属のAPIビューワを使用してもよいでしょう。
ところでVBのバージョンっていくつですか?
(.NET系統だと型に注意しないといけないですよ。Long→Integerとか)


さやか  2006-04-05 21:13:55  No: 94929

GODさん、回答とご指摘ありがとうございます。
バージョンも書かずに失礼いたしました。
VB6.0のSP5を使用しています。
回答頂いた通り、検索してみます。
ありがとうございます。


さやか  2006-04-06 02:35:56  No: 94930

GODさん、回答ありがとうございました。
FindWindowの使用方法が解ったと同時に、
APIについても勉強する事が出来ました。

よくコード例にはAPI使用部分しか載ってない事がありますが、
使用する際は、
--------------------------------------
Private Declare Function FindWindow Lib "USER32" Alias "FindWindowA" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
--------------------------------------
等、宣言が必要である事がわかり、解決しました。

大変勉強になりました。
本当にありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加