【问题标题】:Why am I getting two task bar icons?为什么我得到两个任务栏图标?
【发布时间】:2014-08-02 16:05:45
【问题描述】:

我编写了一个 WinForms 应用程序来使用存储的凭据自动登录到远程会话。这是我的代码:

        Runspace runSpace = RunspaceFactory.CreateRunspace();
        runSpace.Open();
        Pipeline pipeline = runSpace.CreatePipeline();

        StringBuilder builder = new StringBuilder(String.Format("cmdkey /generic:\"{0}\" /user:\"{1}\" /pass:\"{2}\" \n", selectedProject.IpAddress, selectedProject.UserName, selectedProject.Password));
        builder.Append(String.Format("mstsc /v:\"{0}\"", selectedProject.IpAddress));
        pipeline.Commands.AddScript(builder.ToString());

        pipeline.Invoke();
        runSpace.Close();

它工作正常,除了当它启动 RDP 会话时,它会在我的任务栏中放置第二个图标(不是 RDP 图标 - 我的应用程序图标)。即使在我关闭 RDP 会话后,该图标仍然存在。谁能告诉我为什么?

【问题讨论】:

    标签: c# winforms powershell remote-desktop


    【解决方案1】:

    Runspace 调用会创建一个单独的线程,从而在任务栏中创建一个附加图标。

    【讨论】:

    • 即使在 runSpace.Close() 命令之后它仍然存在。有没有更好的方法来终止它?
    • 包括 runspace.Dispose(); GC.Collect();
    • 在重新编译时,这再次使任务栏图标保持活动状态。欢迎任何其他想法。
    猜你喜欢
    • 1970-01-01
    • 2021-01-08
    • 2017-06-22
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-15
    相关资源
    最近更新 更多