Отображение скрытого окна на рабочем столе пользователя - PullRequest
1 голос
/ 22 января 2010

У нас есть приложение VB6, которое использует невидимое окно (форму) для связи DDE.

У нас есть клиенты, которые сообщают, что иногда они могут видеть это окно на своем рабочем столе.

Я проверил код на наличие видимых = true или показов в рассматриваемой форме, но ничего.

Это все, что мы с ним делаем:

Load frmDDELink
frmDDELink.stuff = stuff

На самом деле мы не отображаем явно (или не отображаем явно).

Что может вызвать скрытое окно на рабочем столе пользователя, чтобы оно было видимым?

Ответы [ 4 ]

2 голосов
/ 22 января 2010

Я давно не использовал vb6, но попробуйте установить местоположение формы вне экрана.

Попробуйте
frmDDELink.ClientLeft = -100 frmDDELink.ClientTop = -100

1 голос
/ 22 января 2010

Неправильное приложение на компьютере клиента может сделать это. FindWindow () - общеизвестно неточная API-функция. Кроме того, все окна VB6 имеют одинаковое имя класса. Что-то гром, Ирк. Возможно, вы находите ваше окно вместо того, которое вы намеревались, делая неправильное окно видимым.

0 голосов
/ 12 апреля 2011

попытайтесь установить границу в none или me.visible = false и задайте свойство, которое не будет отображаться на панели задач.

0 голосов
/ 26 января 2010

Мне нравится простая подсказка Черной Лягушки, чтобы установить местоположение за кадром, и возможное объяснение Нобагза. Я бы также предложил обработать событие Form_Activate и снова установить форму невидимой.

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