【问题标题】:How to make a window not associated with the application minimize or maximize its window state in vb?如何使与应用程序无关的窗口在vb中最小化或最大化其窗口状态?
【发布时间】:2011-12-12 21:31:00
【问题描述】:

如果您曾在任务管理器中注意到,当您右键单击正在运行的任务时,您有许多选项,包括“最小化”和“最大化”。有没有办法在 vb 中实现这一点?

【问题讨论】:

  • 为您自己的应用最小化/最大化,还是在其他应用上进行?
  • OK 我希望我的应用最大化/最小化另一个与我的应用无关的应用,任务管理器的作用。

标签: vb.net visual-studio minimize maximize


【解决方案1】:

这是您正在寻找的代码示例。它将遍历所有活动进程并最小化所有窗口。

在您的应用中,您可能希望使用 Process.GetProcessesByName 之类的东西来查找您要操作的特定窗口。

Imports System.Runtime.InteropServices

Module ManipulateWindows

    Const SW_HIDE As Integer = 0
    Const SW_RESTORE As Integer = 1
    Const SW_MINIMIZE As Integer = 2
    Const SW_MAXIMIZE As Integer = 3

    <DllImport("User32")> _
    Private Function ShowWindow(ByVal hwnd As Integer, ByVal nCmdShow As Integer) As Integer
    End Function

    Public Sub Main()

        'iterate through all the open processes.
        For Each p As Process In Process.GetProcesses    

            'Get the Window Handle
            Dim hWnd as integer = CType(p.MainWindowHandle, Integer)

            'Write out the title of the main window for the process.
            System.Console.WriteLine(p.MainWindowTitle)

            'Minimize the Window
            ShowWindow(hWnd, SW_MINIMIZE)
        Next p    
    End Sub    
End Module

【讨论】:

  • 嘿伙计,非常感谢。你是现在才编的,还是以前用过这个?如果你现在就编出来了,我爱你!!大声笑=P 谢谢
  • 以前用过这个技术。不得不查找一些常量和 API 方法 (ShowWindow),但除此之外,它是从头开始编写的。请不要将其用于作恶(例如创建一个超级应用程序以最小化其他所有内容,以便它可以成为桌面之王)
  • lmao 桌面之王,不,我想用它来处理一些总是弹出的烦人的东西,然后我想关闭它的进程,然后最大化我的窗口 =] 无论如何谢谢
猜你喜欢
  • 2011-04-18
  • 2011-02-14
  • 2011-05-30
  • 1970-01-01
  • 1970-01-01
  • 2018-08-24
  • 1970-01-01
  • 2016-04-28
  • 1970-01-01
相关资源
最近更新 更多