在登录屏幕窗口上显示程序

在登录屏幕窗口上显示程序

我想显示一个程序(只是一个经典窗口,占据整个屏幕)用于在登录屏幕或锁定屏幕上询问问题。

我的弹出窗口已经看起来像 Windows BSOD 屏幕。

它用于在夜间执行一些扫描,但我们不知道是否有用户在场,所以我们想强制锁定屏幕并显示一个窗口,说明我们目前正在执行一些维护任务。如果有人在电脑前,他可以确认或放弃该任务。如果他现在可以做,我们就开始扫描,如果他不可以,我们就把控制权还给他。如果在一段时间内没有得到回应,我们就开始我们的任务。

我已经获得了一些信息和代码(使用 C#),但我并不是真正的程序员(只是做一些脚本之类的事情,并不是真正编写程序)。我更多地在系统下工作,我不知道如何调整我在 PowerShell 中找到的代码。

链接至 C# 代码: https://web.archive.org/web/20150205131626/http://calebdelnay.com/blog/2012/01/displaying-a-program-on-the-windows-secure-desktop

欢迎任何帮助。

答案1

我们在这里帮助您解决您编写的 PowerShell 代码以及您未显示的问题。

您可以编写在计算机启动、登录、注销、关机等时执行的脚本。这是一种非常常见的做法,与 PowerShell 没有太大关系,但可以设置计划任务或系统策略或注册表设置来运行任何内容。

http://superuser.com/questions/187158/how-can-i-add-the-program-that-starts-with-my-pc

http://superuser.com/questions/125942/run-program-on-startup

即使您指向的链接也使用计划任务来执行此操作,有关内容请参阅“高级概念”部分。

然而,您所做的任何事情都必须在该代码之后开始,或者您需要调整该代码以添加运行所需的内容。

原则上,永远不要运行任何你不完全理解的代码。你可能会对你的环境造成无法挽回的严重损害。你说你不是程序员,但你试图使用的代码麦吉娜(WinLogon 级别)并强制另一次作为该进程的子进程启动。

这是非常深层次的东西,非程序员或了解核心操作系统层面的东西的人最好远离它。我明白你想要什么,但恕我直言,聘请顾问来提供帮助,以保证你已经完全考虑并评估了这个用例。

当然,没有什么能阻止你走自己的路。但是,只是说说而已。

OP 更新

至于……

我不明白的是如何将 DLL 导入 powershell 中。

...阅读这些。

https://www.leeholmes.com/blog/2006/10/27/load-a-custom-dll-from-powershell https://serverfault.com/questions/455163/how-to-properly-add-net-assemblies-to-powershell-session

至于……

编组——它是什么以及我们为什么需要它?

…这不是 PowerShell 构造,而是 C/C+/C++/C# 等语言构造。请阅读此内容。

https://stackoverflow.com/questions/2240804/marshalling-what-is-it-and-why-do-we-need-it

相关内容