用户桌面上的隐藏窗口显示

时间:2010-01-22 16:36:05

标签: windows vb6 hidden visible

我们有一个VB6应用程序,它使用不可见的窗口(窗体)进行DDE通信。

我们有一些客户报告他们偶尔会在桌面上看到此窗口。

我在代码中扫描了相关表单上的任何visible = true或show's,但没有。

关于我们所做的一切:

Load frmDDELink
frmDDELink.stuff = stuff

我们实际上并没有明确地显示(或明确地不显示它)。

什么可能导致隐藏窗口显示在用户的桌面上,使其可见?

4 个答案:

答案 0 :(得分:2)

我很长时间没有使用过vb6,但请尝试将表单的位置设置为屏幕外。

尝试
frmDDELink.ClientLeft = -100 frmDDELink.ClientTop = -100

答案 1 :(得分:1)

客户端机器上行为不端的应用程序可以做到这一点。 FindWindow()是一个众所周知的不准确的API函数。最重要的是,所有VB6窗口都具有相同的类名。雷声,iirc。它可能是找到你的窗口而不是想要的窗口,使得错误的窗口可见。

答案 2 :(得分:0)

我喜欢Black Frog在屏幕外设置位置的简单提示,以及nobugz可能的解释。我还建议处理Form_Activate事件并再次将表单设置为不可见。

Private Sub Form_Activate()  
  'Log something for debugging purposes?'  
  Me.Visible = False  
End Sub  

答案 3 :(得分:0)

尝试将边框设置为none或me.visible = false,并将属性设置为不显示在任务栏中。