Guten Abend,
ich möchte mein Programm per F2 in den Hintergrund minimieren und mit einem weiteren Tastendruck auf F2 wieder hervorholen, also maximieren.
Das minimieren klappt schon ohne Probleme aber wie kann ich es wieder maximieren?
Das Problem bei mir ist ja denke ich das die Anwendung nicht auf den Tastendruck reagiert, weil diese ja im Hintergrund ist.
Public Class Form1
Private Const SW_HIDE As Int32 = 0
Private Const SW_SHOW As Int32 = 5
Private Const SW_RESTORE As Int32 = 9
Private Declare Auto Function ShowWindow Lib "user32.dll" (ByVal hwnd As IntPtr, ByVal nCmdShow As Int32) As Int32
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form4.Show()
Form4.TextBox1.Focus()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
KeyPreview = True
End Sub
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.D1 Or e.KeyCode = Keys.NumPad1 Then
Button1.PerformClick()
End If
If e.KeyCode = Keys.F2 Then
Dim p() As Process = Process.GetProcessesByName("Inventur.vshost")
Dim hwnd As IntPtr = p(0).MainWindowHandle
ShowWindow(hwnd, SW_HIDE)
End If
End Sub
End Class
ich möchte mein Programm per F2 in den Hintergrund minimieren und mit einem weiteren Tastendruck auf F2 wieder hervorholen, also maximieren.
Das minimieren klappt schon ohne Probleme aber wie kann ich es wieder maximieren?
Das Problem bei mir ist ja denke ich das die Anwendung nicht auf den Tastendruck reagiert, weil diese ja im Hintergrund ist.
Public Class Form1
Private Const SW_HIDE As Int32 = 0
Private Const SW_SHOW As Int32 = 5
Private Const SW_RESTORE As Int32 = 9
Private Declare Auto Function ShowWindow Lib "user32.dll" (ByVal hwnd As IntPtr, ByVal nCmdShow As Int32) As Int32
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form4.Show()
Form4.TextBox1.Focus()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
KeyPreview = True
End Sub
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.D1 Or e.KeyCode = Keys.NumPad1 Then
Button1.PerformClick()
End If
If e.KeyCode = Keys.F2 Then
Dim p() As Process = Process.GetProcessesByName("Inventur.vshost")
Dim hwnd As IntPtr = p(0).MainWindowHandle
ShowWindow(hwnd, SW_HIDE)
End If
End Sub
End Class