アプリ版:「スタンプのみでお礼する」機能のリリースについて

2本のEXE(AとB)があって、

AからBを呼び出して、Bの終了ボタンを
押すとAに戻るようなプログラムがあります。

Bを最前面にして起動しているのですが、
Bにフォーカスがいってくれません。
(Aに残ったままになっている?)

ちなみにAもBもウィンドウスタイルは、
青いバーが出ている状態(動かせる状態)です。

Bが起動している間、Aはその後ろでまっている
ようなイメージです。

どうやったらフォーカスを渡すことが
できるでしょうか?

<条件>
Bのプログラムは修正することができません。
Aのプログラムは自由に修正できます。

どなたか教えて下さい。

A 回答 (2件)

http://www.ops.dti.ne.jp/~allergy/vb/vbvba.html# …

こちらを参考にしてみて下さい。
    • good
    • 0
この回答へのお礼

ありがとうございます!!!やってみます。

お礼日時:2006/02/07 13:35

こんにちは。

KenKen_SP です。

試してませんが

1. Shell に vbNormalFocus オプションをつけるとか、、

  Shell "notepad.exe" , vbNormalFocus

2. 1.でダメなら API の SetActiveWindow でフォーカスを渡すとか、、

  Declare Function SetActiveWindow Lib "user32.dll" _
    (ByVal hWnd As Long) As Long

  で引数 hWnd にBのウインドウハンドルを渡します。

でどうでしょうか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます!
vbNormalFocusはつけてます。

2でいけそうです!やってみます。

お礼日時:2006/02/07 13:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!