1

DDE 通信に非表示ウィンドウ (フォーム) を使用する VB6 アプリケーションがあります。

一部のクライアントから、デスクトップにこのウィンドウが表示されることがあると報告されています。

問題のフォームに表示されている = true または show のコードをスキャンしましたが、何もありませんでした。

これは、私たちがそれを使って行うすべてのことです:

Load frmDDELink
frmDDELink.stuff = stuff

実際には明示的に表示しません (または明示的に表示しません)。

非表示のウィンドウがユーザーのデスクトップに表示される原因は何ですか?

4

4 に答える 4

2

フォームの場所を画面外に設定してみてください。

frmDDELink.ClientLeft      =   -100
frmDDELink.ClientTop       =   -100
于 2010-01-22T19:12:39.047 に答える
1

クライアントのマシンで不正な動作をするアプリがそれを行う可能性があります。FindWindow() は、悪名高い不正確な API 関数です。その上、すべての VB6 ウィンドウは同じクラス名を持っています。サンダー何か、iirc。意図したウィンドウではなく、間違ったウィンドウが表示されている可能性があります。

于 2010-01-22T17:15:55.697 に答える
0

境界線を none または me.visible = false に設定して、プロパティをタスク バーに表示しないように設定してみてください。

于 2011-04-12T01:36:52.530 に答える
0

画面外の場所を設定する Black Frog の簡単なヒントと、nobugz の考えられる説明が気に入っています。Form_Activate イベントを処理し、フォームを再び非表示に設定することもお勧めします。

Private Sub Form_Activate()  
  'Log something for debugging purposes?'  
  Me.Visible = False  
End Sub  
于 2010-01-26T12:42:53.963 に答える