c++ - 如何设置按钮以在 Windows 登录屏幕上打开应用程序
问题描述
这是我的第一个问题。
我想知道是否有办法在登录屏幕上设置一个按钮来打开自定义应用程序。
我已经搜索了 Microsoft 文档,然后找到了有关凭据提供程序的信息,但我不想创建 IU 登录。我只想打开这样的应用程序:
如果有什么可以帮助我的,我会很欢迎。
解决方案
要使用凭据提供程序打开自定义应用程序,有两种方法可以执行此操作。
1) 当触发事件 SetSelected from provider credential 时启动应用程序
HRESULT PasswordResetCredential::SetSelected(BOOL* pbAutoLogon)
{
*pbAutoLogon = FALSE;
system("start C:\\TestStartApp.exe");
return S_OK;
}
它可能工作正常,但是当屏幕获得壁纸锁定时,它会自动触发 SetSelected 事件。所以应用程序将再次重新打开。
2) 创建一个 CommanLink 然后在 CommandLinkClicked 事件中启动应用程序
HRESULT PasswordResetCredential::CommandLinkClicked(DWORD dwFieldID)
{
HRESULT hr = S_OK;
if (dwFieldID < ARRAYSIZE(_rgCredProvFieldDescriptors) && (CPFT_COMMAND_LINK == _rgCredProvFieldDescriptors[dwFieldID].cpft)) {
system("start C:\\TestStartApp.exe");
}
return hr;
}
两者都有效,但这可能对我们的安全构成巨大风险。大多数开发人员不建议以这种方式使用凭据提供程序。我们正在使用伪造的凭据提供程序来打开应用程序。
推荐阅读
- r - 使用这 3 个包计算 Kendall 的一致性系数:“irr”、“synchrony”和“vegan”。我是否在 R 中正确输入了我的数据?
- javascript - 如何获取网页在 JavaScript 中制作的所有 XHR
- wordpress - 如何在 WordPress 联系表 7 中的 functions.php 中更改收件人?
- php - 如何在 laravel-admin.org 上生成菜单项?
- c# - 西门子 TIA OPENNESS V15.1 演示
- javascript - 如何阻止 localstorage 覆盖自身?
- sql-server - XAMARIN - 是否可以使用 SQL 查询验证进行登录?
- google-apps-script - 自动将数据从 Google 表格复制到 Google 文档模板
- python - 如何使用 Tensorflow 训练 csv 数据进行预测?
- sql - IBM Cognos Analytics 从数据集中选择前 2 个