gpt4 book ai didi

.net - 为什么我的控制台应用程序在使用 Process.Start() 启动时没有图标?

转载 作者:行者123 更新时间:2023-12-04 00:36:30 24 4
gpt4 key购买 nike

我有一个应用程序可以将 .exe 下载到一个临时文件夹并使用 System.Diagnostics.Process 运行它。类(class)。到目前为止,我已经用它运行了两个不同的应用程序。一个是控制台应用程序,另一个是完整的 Windows 应用程序。 Windows 应用程序在任务栏/标题栏中有它的图标,但控制台应用程序只有一个通用应用程序图标。如果我导航到临时文件夹,控制台应用程序确实有它的图标;并“手动”运行它(在资源管理器中双击)也会给它正确的图标。

这可能是什么原因?

附加信息:ProcessStartInfo类不提供有关图标的任何标志。我正在使用 UseShellExecute=true 运行该进程和 ErrorDialog=true .此外,Windows 应用程序启动时最大化,但控制台应用程序最小化(由 WindowStyleProcessStartInfo 成员指定)。最后,控制台应用程序的图标仅包含一个 32x32x4bpp 图标,而 Windows 应用程序有大量不同的格式可供选择。

补充:我给下载的应用程序一个合适的图标。还是不行。 :(

添加 2:哦,对了,Windows 7 x64。

更新:只是尝试了更多的实验。我创建了一个新的 C++(非托管,不是 .NET)应用程序,其中只包含“按任意键继续”并给它一个图标。图标在资源管理器中正常显示,当我从资源管理器运行它时,图标在窗口标题栏中。

但是,当我从 Visual Studio 启动应用程序时(通过 F5 或 Ctrl-F5);或者当我通过另一个 .NET 应用程序和 Process.Start() 运行该应用程序时- 图标没有出现。为什么?

最佳答案

我不确定为什么会发生这种情况,但解决方法是将 ProcessStartInfo 结构中的 WorkingDirectory 设置为 EXE 的目录。

无论 UseShellExecute 是否为真,这都有效。

关于.net - 为什么我的控制台应用程序在使用 Process.Start() 启动时没有图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5180085/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com