0

さて、私の質問は、アプリケーション フォームの [タスク マネージャー アプリケーション] タブを「非表示にする方法」ではなく、App.TaskVisibleプロパティと標準 EXE を使用してそれを行うことができる場合のみですか?

MSDNによると:

このプロパティは一般に、バックグラウンド タスクとして実行するように設計されたアプリケーションをユーザーが閉じないようにするために使用されます。ほとんどの場合、TaskVisible プロパティは、ユーザー インターフェイスを表示しないアプリケーションで使用されます。

それはまさに私の場合に当てはまりますが、残念ながら、このプロパティは私には何もしません。多分それはActiveX EXEだけに適用できますか? それとも何かが恋しいですか?

[編集] サブメインを備えた標準のbasモジュールのみを含む単純なプロジェクトでは、このプロパティを実現できないため、このプロパティは死んでいると感じています。また、このプロパティに関するオンラインの最後の (最も新鮮な) コメントは約 10 年前のものです。

すぐに、その問題を切り分けるために...

  1. 新しい標準 EXE プロジェクトを作成します。
  2. 標準モジュール (.bas) を追加します。
  3. Form1 を削除します。
  4. 以下のコードを Module1 に追加します。
  5. その場所から Project1.exe をコンパイルして実行します。
    Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)

    プライベート サブ メイン()
        App.TaskVisible = False
        スリープ 4500
    サブ終了

Win8、Win7、および WinXP x64 SP2 でテストされ、プロセスはそれらすべてでタスクが表示されます。

[編集] 私はこれについて少し異なる形で再質問し、答えを得たので、ここに私の質問の答えがあります

4

3 に答える 3

0

実行中ではなく、設計時にのみ設定できると思います。

設計時に設定してみてください。

于 2013-01-19T08:35:15.887 に答える
0

これはあなたの質問に答えるのに役立つかもしれません (つまり、実際の .Net ビューではなく、ソース、つまり VB6 ドキュメントに移動する必要があります):

TaskVisible プロパティ

TaskVisible プロパティは、Form オブジェクトを含まない、または表示しない ActiveX コンポーネントなど、インターフェイスを表示しないアプリケーションでのみ False に設定できます。アプリケーションがインターフェイスを表示している間、TaskVisible プロパティは自動的に True に設定されます。

于 2013-01-06T18:03:22.760 に答える
0

App.TaskVisible=False を標準の VB6 EXE で非常にうまく使用しました。いくつかの予備チェックを行った後、スタートアップ モジュール (Sub Main) に設定しました。ちなみに、EXE (実際にはユーザー インターフェイス/メイン フォームがあります) は、タスク マネージャーのアプリケーション列には表示されませんが、プロセスの下にリストされています。ユーザーがアプリケーションを終了するのを少し難しくしたいだけなので、これで問題ありません。この要件に悪意はありません。これは単なるメッセージング アプリケーションです。アプリケーションが停止すると、メッセージも停止します。

于 2013-03-01T11:32:10.857 に答える