VB使用API函数如何获得Windows窗口最大化,最小化事件?

如:当桌面上的任意Windows窗口最小化时,可使其隐藏,并在一个文本框中显示已隐藏的窗口名称。当Windows窗口被点击最大化时,可以改变其在屏幕上的位置或大小。这里的Windows窗口,非VB创建的Form窗体,而是Windows应用程序,如记事本,写字板,命令提示符等。 虽然我的悬赏分不高,但这已是我的全部了。。。 不要将在网络上搜来的长篇大论文章贴进来,我只需要实质性的答案,谢谢!

要想用VB(我说的是VB6.0)真正做到监听其他程序的事件是不行的,因为这要用到Windows钩子,而按照Windows钩子使用规定,用钩子监听其他窗口事件就要用到DLL,把监听代码写到DLL里,否则只能监听到自身程序的事件,由于VB6.0不能生成DLL文件,所以不能做到,不过好像VB2005就可以生成DLL了,你可以试试,只要能生成DLL文件,就能做全局钩子,就能实现你的目的了,钩子的资料网上很多,MSDN也有,你可以查查,由于是公开的技术,且难度低,所以学起来不难。 虽然VB6.0实现不了监听,不过我们可以换一种方法来实现目的,你可以把系统中所有的窗口枚举出来且获取他们的状态,并按时更新,比如1秒更新一次,当发现窗口状态发生变化时,根据变化,就能知道窗口发生的事件了。

采纳哦
温馨提示:内容为网友见解,仅供参考
无其他回答

VB使用API函数如何获得Windows窗口最大化,最小化事件?
要想用VB(我说的是VB6.0)真正做到监听其他程序的事件是不行的,因为这要用到Windows钩子,而按照Windows钩子使用规定,用钩子监听其他窗口事件就要用到DLL,把监听代码写到DLL里,否则只能监听到自身程序的事件,由于VB6.0不能生成DLL文件,所以不能做到,不过好像VB2005就可以生成DLL了,你可以试试,只...

vb怎样通过代码将窗体最大化
form_load 中写入Me.WindowState = 2 这样的效果就是你运行程序的时候直接就是窗口最大化。

vb如何对指定窗体最大小化操作?
首先获得该窗体的句柄,然后:最小化:CloseWindow 函数 VB声明 Declare Function CloseWindow Lib "user32" Alias "CloseWindow" (ByVal hwnd As Long) As Long 说明 最小化指定的窗口。窗口不会从内存中清除 参数 类型及说明 hwnd Long,欲最小化的那个窗口的句柄 最大化比较困难……ShowWindow 函...

vb问题求答:怎么使windows窗体居中、窗口居左、窗口居右
可以实现。但你如果不会API比较麻烦,通过API可以获得windows应用程序窗口句柄,达到控制其大小位置的目的。

vb中如何是窗体一运行就是最大化窗口
SW_HIDE 隐藏窗口,活动状态给令一个窗口 SW_MINIMIZE 最小化窗口,活动状态给令一个窗口 SW_RESTORE 用原来的大小和位置显示一个窗口,同时令其进入活动状态 SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态 SW_SHOWMAXIMIZED 最大化窗口,并将其激活 SW_SHOWMINIMIZED 最小化窗口,并...

vb 中实现窗口最小化的代码是什么?
1:首先屏蔽窗体中系统自带的最小化图标,即Form.MinButton=False 2:声明1个API函数:Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias " Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long 注意:上面这个API函数在XP中没有别名,将别名去掉后为:Publ...

vb判断窗体最前
思路,用windows API函数 GetForegroundWindow 得到前台窗口的句柄,然后跟窗口的句柄比较...如果相同就是得到焦点,否则失去焦点,例子中我用的timer检测,,,代码如下 Option Explicit Private Declare Function GetForegroundWindow Lib "user32" () As Long Private Sub Form_Load()Timer1.Interval = 10 En...

用vb怎么实现把自动的窗口最小化?
如果用API的话 ShowWindow 和 SendMessage都可以实现让窗口最小化 ShowWindow(hwnd, SW_MINIMIZE);Public Const SW_MINIMIZE = 6 SendMessage(hwnd, WM_SYSCOMMAND, SC_MINIMIZE, 0);Public Const WM_SYSCOMMAND = &H112 Public Const SC_MINIMIZE = &HF020& ...

vb中API函数findwindow的详细用法?
1、VB6.0中的API声明:Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long2、具体使用:dim i as longi=FindWindow(vbNullString,"窗体的标题")注意:这里的vbNullString是空的,没有任何字符,即不...

vb编程如何让主窗口永远放在最前面
API函数SetWindowPos '这个函数能为窗口指定一个新位置和状态。它也可改变窗口在内部窗口列表中的位置。该函数与DeferWindowPos函数相似,只是它的作用是立即表现出来的(在vb里使用:针对vb窗体,如它们在win32下屏蔽或最小化,则需重设最顶部状态。如有必要,请用一个子类处理模块来重设最顶部状态)Public...

相似回答
大家正在搜