- 題名: 直前のウィンドウをアクティブにする
- 日時: 2006/03/10 15:17:04
- ID: 14800
- この記事の返信元:
- (なし)
- この記事への返信:
- [14801] Re[1]: 直前のウィンドウをアクティブにする2006/03/10 16:07:15
- ツリーを表示
最終的な目的がわからないのでなんともいえませんが、 マイクロソフトの http://www.microsoft.com/japan/msdn/vbasic/migration/tips/windowsapp.aspx は、参考になりませんか。 Formをアクティブにならないようにして、アクティブなウィンドウ(メモ帳など)に 入力ができますが。(サンプルコード付。)
分類:[.NET]
直前のウィンドウをアクティブにして、そこに文字列を書き込もうとしていますが、
目的のウィンドウは最前面に来るのですがアクティブになりません。
Win98/2000移行では、切り替え可能なプロセスは、
システムにより制限されるようになった
というところまでは行き着いたのですが、
それではいったいどうすれば良いのかがさっぱり分かりません。
どなたか教えて頂けないでしょうか?
APIを使って、以下の処理で以前はうまくいっていたのですが
アクティブにならない為に文字列が書き込まれなくなりました。
=================================================
'直前のウィンドウをアクティブにする
Dim lngHwnd As Integer = GetForegroundWindow
lngHwnd = GetNextWindow(lngHwnd, 2)
Call SetForegroundWindow(lngHwnd)
'クリップボードにコピー
Clipboard.SetDataObject("あいうえお", True)
'Ctrl+V を送信
SendKeys.Send("^v")
=================================================
よろしくお願いいたします。