| 
                  | Title | Set another application's size and position in Visual Basic 2008 | 
|---|
 | Description | This example shows how to set another application's size and position in Visual Basic 2008. This example uses FindWindow to find the other application's handle and then uses SetWindowPos to size and position the application. | 
|---|
 | Keywords | SetWindowPos, FindWindow, set application size, set application position, VB.NET | 
|---|
 | Categories | API, Software Engineering | 
|---|
 | 
              
              | (While writing books, there is a maximum size that an image should be. I wrote this program to make it easy to set an example program to exactly that size.) 
The program uses FindWindow to find the target application's handle. Unfortunately this means that you must type the target application's form caption exactly.
 
After finding the target's handle, the program passes it to the SetWindowPos API function to set the target's size and position.
               | 
              
              
                | Imports System.Runtime.InteropServices
Public Class Form1
    Public Const SWP_NOSIZE As Int32 = &H1
    Public Const SWP_NOMOVE As Int32 = &H2
    Public Declare Function SetWindowPos Lib "user32.dll" _
        (ByVal hWnd As IntPtr, ByVal hWndInsertAfter As _
        IntPtr, ByVal X As Int32, ByVal Y As Int32, ByVal _
        cx As Int32, ByVal cy As Int32, ByVal uFlags As _
        Int32) As Boolean
    Private Declare Auto Function FindWindow Lib "user32" _
        (ByVal lpClassName As String, ByVal lpWindowName As _
        String) As IntPtr
    Private Sub btnGo_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles btnGo.Click
        Dim target_hwnd As Long = FindWindow(vbNullString, _
            txtAppName.Text)
        Dim x As Int32 = Val(txtXmin.Text)
        Dim y As Int32 = Val(txtYmin.Text)
        Dim cx As Int32 = Val(txtWidth.Text)
        Dim cy As Int32 = Val(txtHeight.Text)
        SetWindowPos(target_hwnd, 0, x, y, cx, cy, 0)
    End Sub
End Class |