[高分求救,分不够再加]一个闭路监控软件,一开就将桌面牢牢占住,最小化的时候没有任务栏,而且还经常跑出这个软件的界面来.求解决之道。

titihao 2007-10-22 11:55:06
一个闭路监控软件,一开这个软件就将桌面牢牢占住,最小化的时候没有任务栏,而且还经常跑出这个软件的界面来.求解决之道。

请问大家如何解决这个问题呢?

1.我想要给这个程序额外的增加一个最小化的按钮(原来的程序是没有的,必须按快捷键才能最小化)。注:我估计他的这个最小化不是直正意义上的最小化,为什么我在运行其它的程序时却还时可以看到这个软件的在后面呢?
2.让我的任务栏能正常工作。
...全文
518 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
波导终结者 2007-10-22
  • 打赏
  • 举报
回复
用SpyLite给它发送最小化,取消总在最前等消息试试
iamxiang 2007-10-22
  • 打赏
  • 举报
回复
去网上找个网吧管理软件看看,里面有锁定窗体界面的代码。
titihao 2007-10-22
  • 打赏
  • 举报
回复
非常谢谢两位的鼎立相助,我先用虚拟桌面软件试试看行不行,如果不行只有自己写一个了,再次感谢!
fj182 2007-10-22
  • 打赏
  • 举报
回复
你可以另外写个程序,找到软件的窗口句柄然后将它隐藏。如:

Option Explicit

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long

Private Const SW_HIDE = 0
Private Const SW_SHOW = 5

' 显示/隐藏 指定的窗口
' 参数:ClassName 窗口类名称
' WindowName 窗体标题
' CmdShow True显示,False隐藏
Public Sub ShowAppWindow(Optional ByVal ClassName As String, Optional ByVal WindowName As String, Optional ByVal CmdShow As Boolean)

Dim hWnd As Long

hWnd = FindWindow(ClassName, WindowName)

If hWnd <> 0 Then
If CmdShow Then
ShowWindow hWnd, SW_SHOW
Else
ShowWindow hWnd, SW_HIDE
End If
End If

End Sub

' 测试
Private Sub Command1_Click()
ShowAppWindow vbNullString, "我的电脑", False
End Sub

Private Sub Command2_Click()
ShowAppWindow vbNullString, "我的电脑", True
End Sub
tianhuo_soft 2007-10-22
  • 打赏
  • 举报
回复
呵呵~!  他是 使用了一个API占用了 窗口最前端
?
Option Explicit

Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2

Public Sub SetTopMostWindow(ByVal Form As Form, Optional ByVal bTop As Boolean = True)
If bTop Then
SetWindowPos Form.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
Else
SetWindowPos Form.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
End If
End Sub

Private Sub Form_Load()
SetTopMostWindow Me
End Sub


二、我想要给这个程序额外的增加一个最小化的按钮(原来的程序是没有的,必须按快捷键才能最小化)。注:我估计他的这个最小化不是直正意义上的最小化,为什么我在运行其它的程序时却还时可以看到这个软件的在后面呢?

你要有他的源代码,修改他的From(Dialog)属性,这个并不难,但要有源代码,不然你重写资源文件(会这个可就是大虾了)

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧