delphi - 如何制作系统模式窗口?

标签 delphi modal-dialog kiosk

是否可以将应用程序的主窗体设为系统模式?我的应用程序将从远程公司 PC 上通过 FTP 传输文件。在此过程进行期间,不应允许用户与桌面交互。

Application.MainFormOnTaskbar := True;
Application.ShowMainForm := False;
...
FormChild.ShowModal;

最佳答案

将主窗体设为模态是没有意义的。事实上,如果您有一个带有(正常)主窗体的普通应用程序,然后显示一个模态窗体(例如对话框或 TOpenDialog),那么“模态”意味着主窗体以及您的应用程序的其余部分将变为“禁用”,直到模态表单关闭。 (但其他应用程序根本不受此影响。)但这对于主窗体没有意义,因为当显示主窗体时,应用程序的“其余部分”没有可禁用的。事实上,如果您不打开任何其他表单,正常的主表单在某种意义上就已经是模态的了。

我认为您希望创建一个系统模式表单,即在显示时禁用桌面其余部分的表单。但由于现代版本的 Microsoft Windows 操作系统的安全原则,这并不容易做到。事实上,单个应用程序(通常)不应该像这样控制整个操作系统。

关于delphi - 如何制作系统模式窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5028944/

相关文章:

.net - 使 Windows 应用程序始终位于其他窗口之上并处于焦点位置 - 始终

delphi - Delphi 12 Athens 中是否需要 Skia DLL?

Delphi 2010 自动运行选项卡错误

javascript - 模态转换显示问题

javascript - 在引导模式中显示 json 数据

java - 阻止用户离开 OS X 上的处理应用程序?

delphi - 在我的应用程序的安装程序中嵌入 Firebird 安装的最佳方式是什么?

delphi - GetThreadLocale 返回的值与 GetUserDefaultLCID 不同吗?

swift - 在 SwiftUI 中以编程方式自动聚焦 TextField

google-chrome-app - 非托管 Chromebox 上的自助服务终端模式?