如何禁用 PrtScr
How to disable PrtScr
我正在开发一个像 TOTP 协议一样运行的程序。该程序每 30 秒向用户提供其他应用程序的密码。出于安全原因,我希望能够阻止 PrintScreen 键和类似的屏幕捕获方法。有谁知道我该如何防止这种情况发生?我正在使用 Windows 个程序。
你的问题非常模糊,没有提供背景或研究,但这里是:
您不能完全阻止屏幕捕获程序(如截图工具或 OBS)在屏幕上捕获您的软件。但是,这里有几种方法可以阻止 windows.
中的打印屏幕工具
方法 1:禁用不需要的击键
您可以阅读 Windows API 来禁用不需要的击键。 This CodeProject documentation 应该向您展示如何在 C# 中执行此操作。
方法二:隐藏你的应用
您可以使用与此类似的方法在屏幕上隐藏您的应用程序,因此如果按下 PrintScreen 按钮,它将在屏幕截图中隐藏您的应用程序(从而在屏幕上隐藏密码)。
private void Display_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Snapshot)
{
this.Hide();
}
}
请注意,这段代码不能保证解决问题。使用它作为想法或模板来构建您自己的隐藏 window.
的方法
如果您仍然非常绝望,可以更改软件以显示一个显示 "Copy Password to Clipboard" 的按钮。用户可以看到像 "Amazon Account" 这样的标签,而不是在文本框中显示密码,然后单击表示将密码复制到剪贴板的按钮。这意味着实际密码永远不会在屏幕上显示,但用户仍然可以将其复制并粘贴到他们的亚马逊账户等。
您不应在同时用作主要系统进行身份验证的系统上开发 TOTP 客户端。如果是不同的系统,那么你根本不应该关心prntscrn。
我正在开发一个像 TOTP 协议一样运行的程序。该程序每 30 秒向用户提供其他应用程序的密码。出于安全原因,我希望能够阻止 PrintScreen 键和类似的屏幕捕获方法。有谁知道我该如何防止这种情况发生?我正在使用 Windows 个程序。
你的问题非常模糊,没有提供背景或研究,但这里是:
您不能完全阻止屏幕捕获程序(如截图工具或 OBS)在屏幕上捕获您的软件。但是,这里有几种方法可以阻止 windows.
中的打印屏幕工具方法 1:禁用不需要的击键
您可以阅读 Windows API 来禁用不需要的击键。 This CodeProject documentation 应该向您展示如何在 C# 中执行此操作。
方法二:隐藏你的应用
您可以使用与此类似的方法在屏幕上隐藏您的应用程序,因此如果按下 PrintScreen 按钮,它将在屏幕截图中隐藏您的应用程序(从而在屏幕上隐藏密码)。
private void Display_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Snapshot)
{
this.Hide();
}
}
请注意,这段代码不能保证解决问题。使用它作为想法或模板来构建您自己的隐藏 window.
的方法如果您仍然非常绝望,可以更改软件以显示一个显示 "Copy Password to Clipboard" 的按钮。用户可以看到像 "Amazon Account" 这样的标签,而不是在文本框中显示密码,然后单击表示将密码复制到剪贴板的按钮。这意味着实际密码永远不会在屏幕上显示,但用户仍然可以将其复制并粘贴到他们的亚马逊账户等。
您不应在同时用作主要系统进行身份验证的系统上开发 TOTP 客户端。如果是不同的系统,那么你根本不应该关心prntscrn。