导致 WinForms 应用程序在文件操作失败时显示用户凭据对话框

本文关键字:用户 显示 对话框 失败 应用程序 WinForms 文件 操作 导致 | 更新日期: 2023-09-27 18:35:26

我有一个简单的更新程序,可以将文件从公司服务器复制到用户的机器。

对于内部 LAN 上的大多数人来说,这没有问题,但一些员工从 LAN 访问它,在那里他们不会自动通过相关服务器的身份验证。

通常,尝试访问此服务器(例如通过资源管理器)只会抛出一个用户凭据对话框,要求用户提供可以访问共享目录的登录名。

在我的 Winforms 应用程序中,我只需使用 File.Copy 等操作来移动文件。

我的应用程序如何使 Windows 提示进行身份验证,而不仅仅是引发异常?

我愿意自己做一些工作,但我真正希望的是Windows提供了一种实现这一目标的方法。

否则,我正在考虑只是尝试访问并显示一条错误消息,指示用户使用资源管理器对自己进行身份验证。

有没有其他好方法可以解决这个问题,而无需为 50 行程序重新发明轮子?:-)

导致 WinForms 应用程序在文件操作失败时显示用户凭据对话框

您可以使用shell API来实现这一点(Windows Explorer基于相同的API - 而不是File.Copy您可以调用SHFileOperation