プロが教える店舗&オフィスのセキュリティ対策術

こんにちは、お世話になっております。
下記のようなコードでアプリケーションを起動して
ウィンドウを最大化したいのですが、
どのようにしたら良いでしょうか。
3行目のように大きさを画面いっぱいに設定する方法は
出来たのですが、最大化の方法がわかりません。
申し訳ありませんが、教えて頂きたくお願いいたします。

Dim p As System.Diagnostics.Process
p = System.Diagnostics.Process.Start("***")
MoveWindow(p.MainWindowHandle, 0, 0, 1024, 768, 1)

A 回答 (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
    • good
    • 1
この回答へのお礼

再びの回答ありがとうございます。
しかもとても詳しくご丁寧に書いて頂いて感激です。
しかしやはりメモ帳だと正常にできるのですが、
目的のソフトだと変化がありませんでした(;;)
AAAA.exeを起動するとタスクバーにスタートアップと
本体の2つが出るので、そのあたりに原因がありそうです。
AAAA.exeは確かにプログラム本体なのですが、またいろいろと試行錯誤してみたいと思います。
いつもお返事くださってありがとうございます。

お礼日時:2006/04/15 19:39

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に表示されるようです。
また、起動完了後に一度デスクトップを表示してからタスクバーをクリックしてアクティブにするとなぜか最大化しています。)
申し訳ございませんが、何か解決方法がありましたら、
ご教示いただけると助かります。

補足日時:2006/04/13 21:33
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A