winforms - 诊断 Windows 10 IoT 上的自定义 shell 为什么会出现黑屏

标签 winforms shell iot diagnostics windows-10-iot-enterprise

我正在配置 Windows 10 企业版 (IoT) 以运行自定义 shell,但遇到了“黑屏,除了光标”现象。

我的应用程序 - .Net4 Winforms 应用程序 - 已安装并可以在桌面上正常运行。

我可以按照此处的评论通过批处理文件将其作为自定义 shell 启动:How to run an application as shell replacement on Windows 10 Enterprise

但是将我的应用程序设置为自定义 shell,我只是得到黑屏。

我注意到上面链接中有关正在签名的应用程序的注释,但我尝试了两个小型测试应用程序(也是.net winforms),一个已签名,一个未签名,并且都作为自定义 shell 运行良好。 (我的应用程序有几个依赖项,并非所有依赖项都已签名,因此对其进行签名意味着要经过 ILMerge mill 或类似的操作,如果可以的话我宁愿避免。)

我不希望人们能够告诉我为什么我的应用程序无法运行(尽管这很好!),但我正在寻找诊断此问题的方法。查看事件日志等,不会产生任何信息。我的应用程序保留自己的事件日志,该日志没有显示应用程序启动的任何证据。

提前致谢

最佳答案

问题已解决:

如果 shell 应用程序需要提升权限,则必须关闭 UAC。通过控制面板关闭通知是不够的,因为 UAC 仍在后台运行 - 它只是不通知您!要完全关闭 UAC,请编辑注册表项: HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System 并将 DWORD 值 EnableLUA 设置为 0

可以在 Windows 事件日志中找到 UAC 行为的证据: 应用程序和服务日志 -> Microsoft -> Windows ->UAC

关于winforms - 诊断 Windows 10 IoT 上的自定义 shell 为什么会出现黑屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39613612/

相关文章:

c# Winform 更新表单的最佳方式?

python - Django 中的交互式 shell

python - 从 python 脚本的多个终端窗口运行多个命令

C/C++——位域作为 bool 值?

Azure IoT 中心 AMQP 通信多路复用

c# - Windows.Forms SplitContainer.SplitterWidth 不会在运行时保持设置

c# - Form_Load() - 传递参数

winforms - 自定义绘制Windows窗体滚动条?

linux - 如何编写 shell 脚本来与计算机建立 ssh 连接并继续该计算机上的剩余脚本

iot - Windows 10 物联网树莓派 2 : DHT22/AM2302