- ベストアンサー
Process.Startで起動したアプリを最大化したいです。VB.NET
こんにちは、お世話になっております。 下記のようなコードでアプリケーションを起動して ウィンドウを最大化したいのですが、 どのようにしたら良いでしょうか。 3行目のように大きさを画面いっぱいに設定する方法は 出来たのですが、最大化の方法がわかりません。 申し訳ありませんが、教えて頂きたくお願いいたします。 Dim p As System.Diagnostics.Process p = System.Diagnostics.Process.Start("***") MoveWindow(p.MainWindowHandle, 0, 0, 1024, 768, 1)
- みんなの回答 (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
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
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に表示されるようです。 また、起動完了後に一度デスクトップを表示してからタスクバーをクリックしてアクティブにするとなぜか最大化しています。) 申し訳ございませんが、何か解決方法がありましたら、 ご教示いただけると助かります。
お礼
再びの回答ありがとうございます。 しかもとても詳しくご丁寧に書いて頂いて感激です。 しかしやはりメモ帳だと正常にできるのですが、 目的のソフトだと変化がありませんでした(;;) AAAA.exeを起動するとタスクバーにスタートアップと 本体の2つが出るので、そのあたりに原因がありそうです。 AAAA.exeは確かにプログラム本体なのですが、またいろいろと試行錯誤してみたいと思います。 いつもお返事くださってありがとうございます。