tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルアクティブなウィンドウの最大化
記事No6315
投稿日: 2007/09/16(Sun) 00:06
投稿者あき
VB2005を使用しているのですが、初心者の為、ご教授お願いいたします。

AppActivate 関数で指定したアプリケーションやウィンドウにフォーカスを移した後、ウィンドウのサイズも最大化するようなコードをつなげたいのですが…

[ツリー表示へ]
タイトルRe: アクティブなウィンドウの最大化
記事No6325
投稿日: 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

[ツリー表示へ]
タイトルRe^2: アクティブなウィンドウの最大化
記事No6327
投稿日: 2007/09/18(Tue) 22:41
投稿者あき
ありがとうございます!さっそく試させて頂きます!!

[ツリー表示へ]