タイトル : 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 |