VB.NETでSetForegroundWindowでウインドウを最前面に出来ないため、AllowSetForegroundWindowを使用するようにしましたが、解決できません。
コードは大体次のようになっています。
Dim hProcess As System.Diagnostics.Process = System.Diagnostics.Process.GetCurrentProcess()
AllowSetForegroundWindow(hProcess.Id)
Dim hWnd As IntPtr = FindWindow("XXX", "YYYYY")
SetForegroundWindow(hWnd)
環境は次のとおりです。
OS: Windows 7 Pro. 64bit SP1
VB.NET: 2010 Express
解決方法をご教示頂きたく、よろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
この回答への補足
早速の回答ありがとうございます。
重要な説明が欠落していたようです。
最前面にするのは、自身のフォームではなく別アプリケーションのウィンドウです。
よろしく」お願いします。
No.2
- 回答日時:
VB.NETにはAppActivateメソッドがあるので、[WIN32API]SetForegroundWindowを利用しないでも大丈夫だと思います。
それでも前面にすることが出来ない場合は、何か別の要素で前面にすることが出来ない理由があると思うので、公開されている情報だけでの解決は難しいと思います。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'電卓起動
Dim hProcessCalc As Diagnostics.Process = Process.Start("calc.exe")
'電卓がユーザー入力の待機状態まで待機
hProcessCalc.WaitForInputIdle()
'電卓を前面にする
Call AppActivate(hProcessCalc.Id)
'3秒待機
Call Threading.Thread.Sleep(3000)
'自身を前面にする
Dim hProcessOwn As Diagnostics.Process = Diagnostics.Process.GetCurrentProcess()
Call AppActivate(hProcessOwn.Id)
End Sub
この回答への補足
早速の回答ありがとうございます。
この問題のアプリケーションでIEを制御して表示させたウィンドウを最前面にしたいのです。
問題のウィンドウを起動しておいて、このウィンドウを起動する部分を削除したこれと同じコードによるアプリからは最前面に出来ています。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Vba LongPtrについて教えてください 2 2022/08/19 11:14
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 6 2022/06/08 12:55
- Excel(エクセル) excelvbaのwithについて 4 2022/12/19 16:51
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Access(アクセス) アクセス レポートを開いたときにパラメーターの自動入力がしたい 4 2022/11/30 11:21
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
- Access(アクセス) ExcelのVBAコードについて教えてください。 4 2023/01/20 09:44
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
指定のWORKBOOKを前面表示する方法(エクセル:VBA)
Excel(エクセル)
-
Process.Startで起動したアプリを最大化したいです。VB.NET
Visual Basic(VBA)
-
フォームの最前面が効かない
Visual Basic(VBA)
-
-
4
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
5
VBAで、なぜかSendkeyが効きません。
PowerPoint(パワーポイント)
-
6
エクセルVBAのフォームを最前面にする方法を教えてください。
Visual Basic(VBA)
-
7
Hideについて(.NET)
Visual Basic(VBA)
-
8
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
9
VB.NETでマウスクリックイベントを発生させたい。
Visual Basic(VBA)
-
10
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
11
VB.netでFindWindowExやると・・・9222812402616107008!?
Visual Basic(VBA)
-
12
ウインドウハンドルのつかみ方について質問です。
Visual Basic(VBA)
-
13
ADOを使ったDBアクセス後のメモリ解放
その他(データベース)
-
14
AccessのFormの設定で、開いた時に必ず最大化で表示する方法が分からず困っています
Access(アクセス)
-
15
非アクティブのウィンドウを最前面に呼び出したい。
C言語・C++・C#
-
16
VB.NETで他のプロジェクトで作成したフォームを使う方法
Visual Basic(VBA)
-
17
VB6でユーザー定義型がNothingかどうか調べるには?
Visual Basic(VBA)
-
18
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
19
ExcelVBAでAPIを使って外部ウインドウのエディットテキストを取得する方法
Visual Basic(VBA)
-
20
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
onClickで関数呼出し後に、結果...
-
mainメソッドのthrows節で設定...
-
ODBCでMoveNextがうまく動作し...
-
final修飾子を使っているのに、...
-
DataGridViewでセルクリックイ...
-
Labelコントロールに数字を代入...
-
エクセルVBAにおけるON TIMEメ...
-
drawStringで文字間隔の調整
-
eclipse-Tomcatでのデバッグに...
-
ActivateMicrosoftAppメソッドは
-
誰か助けて下さい。UnityのC#で...
-
worksheets & rows メソッドは...
-
javascriptからjavaを呼び出したい
-
サーブレット GETからPOST送信
-
ディレクトリの階層構造をツリ...
-
エクセルのvbaによる書式のコピ...
-
DataGridViewの行追加について。
-
「CA2202: オブジェクトを複数...
-
Range クラスのAutoFitプロパテ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
Labelコントロールに数字を代入...
-
final修飾子を使っているのに、...
-
エクセルVBAにおけるON TIMEメ...
-
コマンドプロンプト実行後に画...
-
mainメソッドのthrows節で設定...
-
DataGridViewでセルクリックイ...
-
javascriptからjavaを呼び出したい
-
VBPをダブルクリックするとたま...
-
onClickで関数呼出し後に、結果...
-
ExcelのxlDialogInsertPictureで。
-
Refreshメソッドの使い方
-
JSPで<SELECT>の中にDBから持っ...
-
【sendkeysメソッドが動かずに...
-
ウィンドウを最前面にできません
-
(String args[])というメッソ...
-
C# 演算 最大値 最小値 表現の仕方
-
Excel VBA シェイプの原型のサ...
-
VB.netで、シリアル通信のタイ...
-
Excel VBA でExcelを終了したい...
おすすめ情報