
こんにちは、お世話になっております。
下記のようなコードでアプリケーションを起動して
ウィンドウを最大化したいのですが、
どのようにしたら良いでしょうか。
3行目のように大きさを画面いっぱいに設定する方法は
出来たのですが、最大化の方法がわかりません。
申し訳ありませんが、教えて頂きたくお願いいたします。
Dim p As System.Diagnostics.Process
p = System.Diagnostics.Process.Start("***")
MoveWindow(p.MainWindowHandle, 0, 0, 1024, 768, 1)
No.2ベストアンサー
- 回答日時:
>起動後のアプリが最大化されませんでした。
起動して、そのウインドウを最大化するサンプル
----------------------------------------------------------------
Imports System
Imports System.Text
Imports System.Diagnostics
Imports System.Threading
Imports System.Runtime.InteropServices
Imports Microsoft.VisualBasic
'vbc Example.vb /r:System.dll
Namespace Example
Class ExampleClass
'Win32API
<DllImport("USER32.DLL")> _
Public Shared Function ShowWindow( _
ByVal handle As IntPtr, _
ByVal style As Integer ) As Integer
End Function
Shared Sub Main()
const SW_MAXMIZE as Integer = 3
Dim instance As Process
instance=Process.Start("notepad.exe") 'アプリケーションを起動する
Dim hWnd As IntPtr
hWnd = instance.MainWindowHandle 'ウィンドウハンドルを得る
Thread.Sleep(5000) '起動の完了を5秒待つ
ShowWindow(hWnd, SW_MAXMIZE) '最大化する
End Sub
End Class
End Namespace
再びの回答ありがとうございます。
しかもとても詳しくご丁寧に書いて頂いて感激です。
しかしやはりメモ帳だと正常にできるのですが、
目的のソフトだと変化がありませんでした(;;)
AAAA.exeを起動するとタスクバーにスタートアップと
本体の2つが出るので、そのあたりに原因がありそうです。
AAAA.exeは確かにプログラム本体なのですが、またいろいろと試行錯誤してみたいと思います。
いつもお返事くださってありがとうございます。
No.1
- 回答日時:
ProcessStartInfo クラスのオブジェクトを使って設定後Process.Start します
----------------------------------------------------------------
Imports System
Imports System.Text
Imports System.Diagnostics
Imports Microsoft.VisualBasic
'vbc Example.vb /r:System.dll
Namespace Example
Class ExampleClass
Shared Sub Main()
Dim startInfo As New ProcessStartInfo("notepad.exe")
startInfo.WindowStyle = ProcessWindowStyle.Maximized
Process.Start(startInfo)
End Sub
End Class
End Namespace
この回答への補足
いつもお返事ありがとうございます。m(__)m
今回頂いたご回答も私の書いたとおりのことが
できたのですが、申し訳ないのですが、
私の書き方が足りずに、当方の使用状況では
うまく行きませんでした。
起動後に最大で表示したいアプリなのですが、
起動前にスプラッシュウィンドウが出るタイプの為、
起動命令に最大化を指示した場合はその
スプラッシュウィンドウがその命令を受け取って
しまうようで、起動後のアプリが最大化されませんでした。
(何かの情報を受け付けてはいるのか左上の座標は0,0に表示されるようです。
また、起動完了後に一度デスクトップを表示してからタスクバーをクリックしてアクティブにするとなぜか最大化しています。)
申し訳ございませんが、何か解決方法がありましたら、
ご教示いただけると助かります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ウィンドウを最前面にできません
Visual Basic(VBA)
-
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
起動したアプリケーションを最大化したいのですが。(VB.NET)
Visual Basic(VBA)
-
-
4
VB.NETでファイル名順にファイルを読む方法
Visual Basic(VBA)
-
5
DataGridViewのセル編集完了後に値を設定するには
Visual Basic(VBA)
-
6
VBで外部プログラムを位置のみ指定して実行したい
Visual Basic(VBA)
-
7
MoveWindowで位置だけ変更するには?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでIEが起動しているか...
-
CreateProcessのエラー
-
exeファイルを実行するとすぐに...
-
VBAでOutlookを終了させたい Ex...
-
wshで既に立ち上がっているアプ...
-
宛先ナシでメールソフトを起動...
-
アウトルックが起動しているか...
-
フォームの最前面が効かない
-
VBからExcelに書き込む方法
-
VBSで起動したアプリが前面表示...
-
VBSから別のVBS起動するとき変...
-
タスクスケジューラでPerlが動...
-
VBAでArrayListを使う為の「msc...
-
vbaでPDFファイルが印刷されない
-
意味不明の実行時エラーで困っ...
-
Designer.vbは直接コードをいじ...
-
オブジェクト(dll)のレジストリ...
-
VB.NETでSPREADの設定方法
-
VBAでコマンドプロンプトを呼び...
-
印刷ダイアログを表示させたくない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでOutlookを終了させたい Ex...
-
アウトルックが起動しているか...
-
Windows上のプログラム。「予め...
-
フォームの最前面が効かない
-
VBAでIEが起動しているか...
-
VBSから別のVBS起動するとき変...
-
exeファイルを実行するとすぐに...
-
VBSでExcelのUserFormをエクス...
-
VB6からエクセルの印刷機能...
-
VBSで起動したアプリが前面表示...
-
VBAでSeleniumからChromeを起動...
-
ウィンドウを終了させたい・・・
-
C# 他のアプリケーションを優先...
-
ACCESS VBAで別のACCESS(mdb)を...
-
別のクラスからのタイマの起動方法
-
htmlからcgiを自動的に起動させ...
-
VBで実行中のEXEファイルの情報...
-
【プログラミング】HTAが想定通...
-
gccプログラムで複数の実行ファ...
-
mscomm32.ocxの登録方法
おすすめ情報