以下是可以帮助您找到上述问题的根本原因的所有信息。
电脑设置:
案例: 1.使用admin在Standard USER帐户下运行软件应用程序 模拟。 2.包含受限制的文件夹,出于安全原因,该文件夹只能由本地管理员帐户访问,而不是标准用户。 3.应用程序代码用C#编写。
问题: 当System32 TFTP.exe通过应用程序Process.start()调用时,获取错误“TFTP:无法读取本地文件..”,其中本地文件位于受限文件夹中。
观察:
当以下语句用于模拟时: (LogonUserA(userName,domain,password,LOGON32_LOGON_NEW_CREDENTIALS,LOGON32_PROVIDER_DEFAULT,ref token)!= 0)
应用程序无法访问受限文件夹(为什么?模拟是管理员帐户。)
但是,当使用(LogonUserA(userName,domain,password,LOGON32_LOGON_INTERACTIVE,LOGON32_PROVIDER_DEFAULT,ref token)!= 0)时,应用程序可以访问该文件夹,但是,TFTP.exe会抛出上述错误,它可以' t读取文件。
当主应用程序通过Process.Start()调用TFTP.exe时,它会启动另一个进程。当从主进程调用另一个进程时,模拟是否会丢失?
尝试了几个选项,例如使用domain / user / pwd info设置Process对象。没有任何效果。
有人知道这里缺少什么吗?欢迎任何指示。