
先日からご回答を頂いて試行錯誤しているのですが、
どうしても実現できずに、再度質問させて頂きました。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2089161
の方法でMainWindowHandleを取得して、
そのウィンドウを最大化する動作なのですが、
スプラッシュウィンドウがあるせいか変化が見られません。
試しにHwndを取得する前にSTOPを入れて完全に起動する
まで待ってから実行したりもしてみたのですが、
やはり変化がありませんでした。
別の方法として、その起動したアプリケーションのIDやタイトルバーに出ているウィンドウの名前を
VBのサイトから引用させていただいた下記のコードで
Dim localByName As Process() = Process.GetProcessesByName("notepad")
Dim p As Process
For Each p In localByName
Console.WriteLine("{0} / {1} : {2}", p.Id, p.ProcessName, p.MainWindowTitle)
Next
知ることが出来たのでそのIDやMainWindowTitleを手がかりに
もう一度hWndを設定し直してShowWindow(hWnd, SW_MAXMIZE)を実行したいのですが、
hWndのところにはIDを入れてもだめなようなので、
IDの内容をhWndと同じ内容に変換する事が出来ればと考えています。
何度ももうしわけありませんが、どうかお助けください。m(__)m
No.1ベストアンサー
- 回答日時:
開発用に個人ツールとして、最大化/最小化ボタンのないウィンドウを操作するために、あなたが求めているような機能を作成したことがあります。
記憶が薄いですが、、、私も最初は[API:ShowWindow()]を利用していたと思います。
しかし、何故か操作出来る窓/出来ない窓がありました。原因は未だ不明です。。。
(理由がわかれば、教えて欲しいぐらいです。)
そこで、、、
以前
[2080663:サイズ変更したフォームのサイズと位置を設定・取得したいです。]
http://okwave.jp/kotaeru.php3?q=2080663
にて、アドバイスをした
[API:GetWindowPlacement()]
[API:SetWindowPlacement()]
にて解消いたしました。
以前のサンプルは、自プロセスのフォームに対して行っておりますが、
Form1_Loadイベントの「Dim l_ptr As IntPtr = Me.Handle」をパラメータ化し、
「p.MainWindowHandle」を利用することにより、設定が可能かと思います。
-----------------------------
Imports System.Runtime.InteropServices
-----------------------------
Dim p As Process
For Each p In localByName
'Call 最大化実行(p.MainWindowHandle)
Next
Private Sub 最大化実行(ByVal p_Ptr As IntPtr)
Dim l_WINDOWPLACEMENT As WINDOWPLACEMENT
Dim l_blnRet As Boolean
'構造体のサイズ情報を格納
l_WINDOWPLACEMENT.Length = Marshal.SizeOf(GetType(WINDOWPLACEMENT))
'取得実行
l_blnRet = GetWindowPlacement(p_Ptr, l_WINDOWPLACEMENT)
If Not l_blnRet Then
MsgBox("取得失敗")
Return
End If
'各情報の指定
With l_WINDOWPLACEMENT
'最大表示を指定
.showCmd = showCmd_SW.SW_SHOWMAXIMIZED
End With
'設定実行
l_blnRet = SetWindowPlacement(p_Ptr, l_WINDOWPLACEMENT)
If Not l_blnRet Then
MsgBox("設定失敗")
Return
End If
End Sub
できました。(^o^)
中々難しそうなコードだったのですが、コピペだけで使えるように上げて頂いてとてもたすかりました。(^^;)
こちらのコードも今後愛用させていただきたいと思います。ありがとうございました。!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Vba LongPtrについて教えてください 2 2022/08/19 11:14
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- Visual Basic(VBA) VBAで時間(00:00形式)を積算(足し算)したい 1 2022/11/15 17:04
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Excel(エクセル) VBA : スクレイピングできない 4 2023/05/12 22:26
このQ&Aを見た人はこんなQ&Aも見ています
-
「それ、メッセージ花火でわざわざ伝えること?」
「それ、メッセージ花火でわざわざ伝えること?」というメッセージを教えて下さい
-
ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
ゴリラ向け動画配信サイト「ウホウホ動画」にありがちなことを教えて下さい。
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
人生で一番お金がなかったとき
人生で一番お金がなかったときって、どんなときでしたか?
-
Process.Startで起動したアプリを最大化したいです。VB.NET
Visual Basic(VBA)
-
vbscriptでエクセルを操作する
その他(プログラミング・Web制作)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パソコンに何かが勝手にダウン...
-
COBOLで集団項目から符号...
-
VB.NETでボタンのクリックイベ...
-
ATOMは何の略ですか
-
PC版のMinecraftが応答なしにな...
-
プログラム実行中に強制停止さ...
-
VB.NETでDataTableにデータ追加...
-
「管理者として実行」された場...
-
Excel実行時エラー-2146959355?
-
Windows10 で青鬼を遊びたいの...
-
【HTML】INPUTの値を引数にBAT起動
-
エクセルVBA、ステップモードと...
-
Pythonについて
-
テキストボックスのカーソルの...
-
管理者として実行を毎回すると...
-
パソコンのスクリーンセーバー...
-
VisualStudioからVScodeへの移植
-
Ruby on Railsインストール(ア...
-
スマホバージョンアップ
-
NEC SmartVision をバージョン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコンに何かが勝手にダウン...
-
エクセルVBA、ステップモードと...
-
Excel実行時エラー-2146959355?
-
VB.NETでボタンのクリックイベ...
-
PC版のMinecraftが応答なしにな...
-
VB.NETでDataTableにデータ追加...
-
latexでのエラー
-
管理者として実行を毎回すると...
-
パソコンのスクリーンセーバー...
-
eclipseで、「ポート番号が使用...
-
プログラム実行中に強制停止さ...
-
EXCEL-VBAでコマンド...
-
pythonで他のアプリを操作する...
-
起動したアプリケーションを最...
-
ランタイム関数とは何ですか?
-
COBOLで集団項目から符号...
-
【HTML】INPUTの値を引数にBAT起動
-
長時間PCを起動しているとポッ...
-
「管理者として実行」された場...
-
VBA中断モードの解除
おすすめ情報