tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: アクティブなウィンドウの最大化
投稿日: 2007/09/18(Tue) 20:27
投稿者花ちゃん
> AppActivate 関数で指定したアプリケーション
上記をどのように起動したかでも方法が違ってきますが、簡単な方法は無いかも
知れません。

SendKeysクラスのSendメソッド を使って、 ALT キー + Space キー + X キー が
送れれば簡単なのですが、Space キー が...。

後は、Win32 API 関数を使ってゴリゴリ書くしかないかも。

Public Class Form1
<System.Runtime.InteropServices.DllImport("USER32.DLL", _
   CharSet:=System.Runtime.InteropServices.CharSet.Auto)> _
Private Shared Function SendMessage( _
   ByVal hWnd As IntPtr, _
   ByVal wMsg As Int32, _
   ByVal wParam As Int32, _
   ByVal lParam As Int32) As Int32
End Function
<System.Runtime.InteropServices.DllImport("user32.dll", _
   CharSet:=System.Runtime.InteropServices.CharSet.Auto)> _
Private Shared Function FindWindow( _
   ByVal lpClassName As String, _
   ByVal lpWindowName As String) As IntPtr
End Function

Private Const WM_SYSCOMMAND As Integer = &H112
Private Const SC_MAXIMIZE As Integer = &HF030
Private Sub Button1_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button1.Click
Private Sub Button1_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button1.Click
   Dim hwnd As IntPtr
   Dim ret As Integer
   Dim title As String
   title = "無題 - メモ帳"
   AppActivate(title)
   hwnd = FindWindow(vbNullString, title)
   ret = SendMessage(hwnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0)
End SubEnd Sub
End Class

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。