App.TaskVisible属性是否适用于标准EXE?

时间:2013-01-06 16:34:32

标签: syntax vb6

好吧,我的问题不是“如何隐藏”我的应用程序表单“任务管理器应用程序”选项卡,但前提是我可以使用 App.TaskVisible 属性并在标准EXE中执行此操作吗?

根据MSDN

  

该属性通常用于阻止用户关闭   旨在作为后台任务运行的应用程序。多数情况   在这种情况下,TaskVisible属性与不支持的应用程序一起使用   显示用户界面。

这完全转移到我的案子,但遗憾的是这个属性对我没有任何作用。 也许它只适用于ActiveX EXE?或者我错过了什么?

[编辑] 好吧,我觉得这个属性已经死了,因为我不能在仅包含Sub Main标准bas模块的简单项目中实现它。关于这家酒店的最新(最新鲜)评论也是大约10年。

很快,要解决这个问题......

  1. 创建新的标准EXE项目;
  2. 添加标准模块(.bas);
  3. 删除Form1;
  4. 将以下代码添加到Module1;
  5. 从其位置编译并运行Project1.exe;
  6.     Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
    
        Private Sub Main()
            App.TaskVisible = False
            Sleep 4500
        End Sub
    

    在Win8,Win7和WinXP x64 SP2上进行测试,该过程在所有这些过程中都可见。

    [编辑]我以一种不同的形式重新考虑这个问题,我得到了答案,所以这里是answer of my question

3 个答案:

答案 0 :(得分:0)

这可能有助于回答您的问题(即您应该转到源代码,即VB6文档,而不是某些.Net对现实的看法):

TaskVisible Property

  

在不显示接口的应用程序中,TaskVisible属性只能设置为False,例如不包含或显示Form对象的ActiveX组件。应用程序显示界面时,TaskVisible属性自动设置为True。

答案 1 :(得分:0)

我认为你只能在设计时设置它,而不是在它运行时设置它。

尝试在设计时设置它。

答案 2 :(得分:0)

我在标准VB6 EXE中非常成功地使用了App.TaskVisible = False - 在我做了一些初步检查之后,我将它设置在启动模块(Sub Main)中。 EXE - 顺便提一下,确实具有用户界面/主表单 - 不会显示在任务管理器的应用程序列中,但仍会列在进程下。这很好,因为我只是想让用户更难以终止应用程序。这个要求没有任何险恶之处,它只是一个消息传递应用程序 - 如果它被停止,消息就会停止。