У меня есть код здесь, но при нажатии кнопки некоторые экземпляры на самом деле не сводятся к минимуму или не восстанавливаются. Я попробовал все, что мог, но мне не повезло.Как свести к минимуму и восстановить процесс с большим количеством экземпляров?
Private Declare Function ShowWindow Lib "user32.dll" (_
ByVal hWnd As IntPtr, _
ByVal nCmdShow As Show_Window _
) As Boolean
Private Enum Show_Window As Integer
Hide = 0
ShowNormal = 1
ShowMinimized = 2
ShowMaximized = 3
Maximize = 3
ShowNormalNoActivate = 4
Show = 5
Minimize = 6
ShowMinNoActivate = 7
ShowNoActivate = 8
Restore = 9
ShowDefault = 10
ForceMinimized = 11
End Enum
Private Sub MinimizeAllToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles MinimizeAllToolStripMenuItem.Click
Dim p() As Process = Process.GetProcessesByName("GameServer")
Dim p1() As Process = Process.GetProcessesByName("AccountServer")
Dim p2() As Process = Process.GetProcessesByName("GateServer")
Dim p3() As Process = Process.GetProcessesByName("GroupServer")
Dim p4() As Process = Process.GetProcessesByName("TradeServer")
Dim p5() As Process = Process.GetProcessesByName("FilterServer")
If MinimizeAllToolStripMenuItem.Text = "Minimize All" Then
For Each pr As Process In p
ShowWindow(pr.MainWindowHandle, Show_Window.ForceMinimized)
Next pr
For Each pr As Process In p1
ShowWindow(pr.MainWindowHandle, Show_Window.ForceMinimized)
Next pr
For Each pr As Process In p2
ShowWindow(pr.MainWindowHandle, Show_Window.ForceMinimized)
Next pr
For Each pr As Process In p3
ShowWindow(pr.MainWindowHandle, Show_Window.ForceMinimized)
Next pr
For Each pr As Process In p4
ShowWindow(pr.MainWindowHandle, Show_Window.ForceMinimized)
Next pr
For Each pr As Process In p5
ShowWindow(pr.MainWindowHandle, Show_Window.ForceMinimized)
Next pr
MinimizeAllToolStripMenuItem.Text = "Restore All"
Else
For Each pr As Process In p
ShowWindow(pr.MainWindowHandle, Show_Window.Restore)
Next pr
For Each pr As Process In p1
ShowWindow(pr.MainWindowHandle, Show_Window.Restore)
Next pr
For Each pr As Process In p2
ShowWindow(pr.MainWindowHandle, Show_Window.Restore)
Next pr
For Each pr As Process In p3
ShowWindow(pr.MainWindowHandle, Show_Window.Restore)
Next pr
For Each pr As Process In p4
ShowWindow(pr.MainWindowHandle, Show_Window.Restore)
Next pr
For Each pr As Process In p5
ShowWindow(pr.MainWindowHandle, Show_Window.Restore)
Next pr
MinimizeAllToolStripMenuItem.Text = "Minimize All"
End If
End Sub
Что может быть неправильным? Или кто-то может поделиться вашим кодом о том, как свести к минимуму и восстановить процесс с большим количеством экземпляров. Я надеюсь, что кто-то может мне помочь.
Вы можете включать некоторые подробности о том, что происходит не так? И возможно ли, чтобы вы опубликовали рабочий код, который будет компилироваться сам по себе? Это поможет нам диагностировать. – kdbanman
Здравствуйте, @kdbanman, этот код работает и его компиляция без ошибок. Проблема в том, что всякий раз, когда я нажимаю эту кнопку, иногда какой-то экземпляр не сводится к минимуму, а иногда и не восстанавливается. – Foxseiz