Delphi 使用windows凭据复制文件

Delphi 使用windows凭据复制文件,delphi,Delphi,我需要使用Delphi将一些文件复制到程序文件文件夹中。我知道,如果用户有权访问program files文件夹,就可以轻松地使用CopyFile()功能。但是,如果该用户无法访问程序文件,我需要与特定用户一起访问(某些函数可以传递用户参数和密码,并复制文件)。我该怎么做 据我所知,如果不启动一个具有提升权限的新流程,您就不能这样做。 因此,您应该创建第二个应用程序进行复制,并使用提升的权限启动该应用程序,或者使用提升的权限重新启动您自己的应用程序 stackoverflow中的许多地方都显示了

我需要使用Delphi将一些文件复制到程序文件文件夹中。我知道,如果用户有权访问program files文件夹,就可以轻松地使用
CopyFile()
功能。但是,如果该用户无法访问程序文件,我需要与特定用户一起访问(某些函数可以传递用户参数和密码,并复制文件)。我该怎么做

据我所知,如果不启动一个具有提升权限的新流程,您就不能这样做。 因此,您应该创建第二个应用程序进行复制,并使用提升的权限启动该应用程序,或者使用提升的权限重新启动您自己的应用程序

stackoverflow中的许多地方都显示了如何做到这一点,例如:
.

据我所知,如果不启动一个权限提升的新流程,您就不能。 因此,您应该创建第二个应用程序进行复制,并使用提升的权限启动该应用程序,或者使用提升的权限重新启动您自己的应用程序

stackoverflow中的许多地方都显示了如何做到这一点,例如:
.

这是错误的方法,因为它无法绕过UAC。将requireAdministrator选项添加到清单中。如果要操作“程序文件”中的文件/子文件夹,则必须将程序清单显示为“requireAdministrator”。这反过来意味着只有具有adimistrator凭据的用户才能运行您的程序。如果您希望标准用户使用您的程序,请停止操作“程序文件”,这样您就可以从清单中省略“requireAdministrator”。这是错误的方法,因为它无法绕过UAC。将requireAdministrator选项添加到清单中。如果要操作“程序文件”中的文件/子文件夹,则必须将程序清单显示为“requireAdministrator”。这反过来意味着只有具有adimistrator凭据的用户才能运行您的程序。如果您想让标准用户使用您的程序,请停止操作“程序文件”,这样您就可以从清单中省略“requireAdministrator”。模拟怎么样,这样行吗,然后,最后,
CopyFile()
。我无法真正证明,但我怀疑一个应用程序是否能够在不重新启动(或启动另一个具有提升权限的进程)的情况下获得自己的权限。即使是系统工具tike Sysinternals Autoruns工具也是这样做的。系统内部属于微软,所以他们应该知道怎么做…模拟怎么样,这样行吗,然后,最后,
CopyFile()
。我无法真正证明,但我怀疑一个应用程序是否能够在不重新启动(或启动另一个具有提升权限的进程)的情况下获得自己的权限。即使是系统工具tike Sysinternals Autoruns工具也是这样做的。系统内部属于微软,所以他们应该知道怎么做。。。