フォーカスがあるウィンドウを取得するには?


α  2001-05-27 21:43:22  No: 74421  IP: [192.*.*.*]

いまフォーカスがあるウィンドウを取得して、
そのウィンドウの位置を取得し、
そこにべたっと張り付くプログラムを作成中なのですが
取得は可能なのでしょうか。

あと、どのようにして他のウィンドウへフォーカスを移すのか
ご教授願います。

編集    削除
MADIA  URL  2001-05-28 07:06:47  No: 74422  IP: [192.*.*.*]

現在操作中のウインドウのハンドルを取得するAPIは
http://madia.world.coocan.jp/API/GetForegroundWindow.htm

>あと、どのようにして他のウィンドウへフォーカスを移すのか
>ご教授願います。

これはSetFocusAPI(ウインドウにフォーカスをセット)で可能だと思います。

編集    削除
MADIA  URL  2001-05-28 07:07:11  No: 74423  IP: [192.*.*.*]

現在操作中のウインドウのハンドルを取得するAPIは
http://madia.world.coocan.jp/API/GetForegroundWindow.htm

>あと、どのようにして他のウィンドウへフォーカスを移すのか
>ご教授願います。

これはSetFocusAPI(ウインドウにフォーカスをセット)で可能だと思います。

編集    削除
たかみちえ  2001-05-28 07:50:14  No: 74424  IP: [192.*.*.*]

VBの標準命令でもできますよ。
AppActivate 目標のウィンドウのキャプション,アクティブになるまで待つか否か
で、開けます。
もし自分のところから起動したものであれば、
Shell関数のIDでも動作します。
  詳しいことはヘルプを見てください。

  あと、キャプションが可変のウィンドウは、
変数を使って推測しておくか、
APIで活動中ウィンドウの一覧を出して、
そこから名前を取るしかないですね、(リストを出すのはメンドウですけど…)
でも、一般に使うあたりでは、こっちのほうがラクでいいと思います。

編集    削除
α  2001-08-13 18:38:34  No: 74425  IP: [192.*.*.*]

返事遅くなりましたが解決しました。有難う御座います。
NortonSystemWorksではクラッシュしたプログラムを再起動する。
という機能があります。
これは起動中のパス名を取得する事だと思います。
VBでこの機能は使用できるのでしょうか。

編集    削除