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.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を制御して表示させたウィンドウを最前面にしたいのです。
問題のウィンドウを起動しておいて、このウィンドウを起動する部分を削除したこれと同じコードによるアプリからは最前面に出来ています。
よろしくお願いします。
No.1
- 回答日時:
この回答への補足
早速の回答ありがとうございます。
重要な説明が欠落していたようです。
最前面にするのは、自身のフォームではなく別アプリケーションのウィンドウです。
よろしく」お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
ホテルを選ぶとき、これだけは譲れない条件TOP3は?
ホテルを探す時、予約サイトで希望条件の絞り込みができる便利な世の中。 あなたは宿泊先を決めるとき「これだけは譲れない」と思う条件TOP3を教えてください。
-
昨日見た夢を教えて下さい
たまにすごいドラマチックな夢見ること、ありませんか? 起きてからも妙に記憶に残っているような、そんな夢。
-
高校三年生の合唱祭で何を歌いましたか?
大人になると大人数で合唱する機会ってないですよね。 思い出すと、高校三年生の合唱祭が最後でした。 そこで、みんなの思い出の合唱曲を知りたい!
-
ExcelVBAでAPIを使って外部ウインドウのエディットテキストを取得する方法
Visual Basic(VBA)
-
エクセルVBAのフォームを最前面にする方法を教えてください。
Visual Basic(VBA)
-
フォームの最前面が効かない
Visual Basic(VBA)
-
-
4
EnumChildWindowsの使い方(VBA)
Visual Basic(VBA)
-
5
指定のWORKBOOKを前面表示する方法(エクセル:VBA)
Excel(エクセル)
-
6
Process.Startで起動したアプリを最大化したいです。VB.NET
Visual Basic(VBA)
-
7
CloseとDisposeの違い
Visual Basic(VBA)
-
8
親ウインドウにあるOKボタンを押す方法
Visual Basic(VBA)
-
9
VBにて、非アクティブでフォームを表示する方法
Visual Basic(VBA)
-
10
AppActivateの使い方
PowerPoint(パワーポイント)
-
11
DoEventsがやはり分からない
Visual Basic(VBA)
-
12
[VB.net] Excelへの画像貼り付け処理についての疑問
Visual Basic(VBA)
-
13
VB.netでFindWindowExやると・・・9222812402616107008!?
Visual Basic(VBA)
-
14
ウィンドウにキー送信で ENTER を送りたい
Visual Basic(VBA)
-
15
VBでExcelが起動されているか知りたい
Visual Basic(VBA)
-
16
Form_Load と Form_Activate のタイミング
Visual Basic(VBA)
-
17
VB.NETでフォーム上にExcelのような表を表示する方法
Visual Basic(VBA)
-
18
別フォームから戻ったときのイベント
Visual Basic(VBA)
-
19
フォームの存在をチェックする方法
Visual Basic(VBA)
-
20
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
JSPで<SELECT>の中にDBから持っ...
-
DataGridViewでセルクリックイ...
-
Labelコントロールに数字を代入...
-
「CA2202: オブジェクトを複数...
-
onClickで関数呼出し後に、結果...
-
javascriptからjavaを呼び出したい
-
ウィンドウを最前面にできません
-
Application.Wait の参照設定
-
JAVAプログラムのdoGet()の中身...
-
コマンドプロンプト実行後に画...
-
Refreshメソッドの使い方
-
VBPをダブルクリックするとたま...
-
FEM解析の読み方は?
-
エクセルVBAで、ユーザーフォー...
-
タグチメソッドと実験計画法の違い
-
Java アニメーション(図形の...
-
エクセルVBAのInputBoxメソ...
-
ExcelVBAのGetOpenFileNameメソ...
-
C# 演算 最大値 最小値 表現の仕方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
DataGridViewでセルクリックイ...
-
コマンドプロンプト実行後に画...
-
Labelコントロールに数字を代入...
-
エクセルVBAにおけるON TIMEメ...
-
JSPで<SELECT>の中にDBから持っ...
-
ウィンドウを最前面にできません
-
final修飾子を使っているのに、...
-
【sendkeysメソッドが動かずに...
-
mainメソッドのthrows節で設定...
-
onClickで関数呼出し後に、結果...
-
Application.Wait の参照設定
-
VBA コピーが出来ません…!
-
VBPをダブルクリックするとたま...
-
javascriptからjavaを呼び出したい
-
Refreshメソッドの使い方
-
配列のメソッド
-
エクセルのマクロでプリンタを...
-
boolean型のフィールドとゲッタ...
-
C#で右からnカラム目に文字を挿...
おすすめ情報