【问题标题】:Access is denied while running "System.Diagnostics.Process.Start()"运行“System.Diagnostics.Process.Start()”时访问被拒绝
【发布时间】:2018-07-22 13:33:52
【问题描述】:

我有一个 Windows 窗体应用程序(在 vb.net 上),它可以保存文件并向用户显示文件。

当用户单击文件名时,我的应用程序会将该文件从服务器复制到他的个人文件夹中。然后为了打开这个文件,我使用:

System.Diagnostics.Process.Start(Path+Filename)

特定用户 (UserA) 收到错误“访问被拒绝”。

我还想通知您我所做的一些测试:

  • 如果此用户 (UserA) 被导航到他的个人文件夹,他可以打开这些文件。
  • 每个文件(word、excel、.zip、.ppt、.html)都会发生这种情况
  • 当此用户 (UserA) 登录到另一台计算机时,他没有遇到任何问题。
  • 当随机用户尝试使用该用户 (UserA) 的计算机时,他也没有遇到任何问题。
  • 此功能已为所有人正常工作 8 年,并且此问题在 1 周前出现。

此计算机上的该用户似乎有问题。有人可以帮忙吗?

【问题讨论】:

  • 您检查过该用户对该文件夹的权限吗?
  • 可能是病毒扫描程序。如果可能,请暂时禁用它,然后重试。
  • 如果用户导航到文件夹,他可以打开应用程序复制的文件。
  • 用户路径的末尾是否有可能没有斜杠? System.Diagnostics.Process.Start(System.IO.Path.Combine(Path, Filename)
  • 而不是调用Process.Start(Path + FileName)尝试使用MessageBox(Path + FileName);并检查此路径是否有效。

标签: vb.net winforms file-handling filehandle


【解决方案1】:

您的问题可能出在用户帐户控制或此 PC 上的组策略中。如果您是这台 PC 的系统管理员,请尝试使用组策略控制台查看是否已应用任何可能限制访问的内容。要考虑的另一件事是该用户是否具有对该文件或文件夹的读取和/或修改/写入访问权限。如果他/她没有读取权限,那么这将阻止用户运行程序。它在用户的个人文件夹中工作的原因可能是用户只是对该文件夹具有读/写/修改权限,而不是您的应用程序所在的文件夹。如果没有,请尝试清除计算机上的用户缓存或简单地重新映像(如果您有映像进程)。

【讨论】:

    猜你喜欢
    • 2012-11-25
    • 2023-03-07
    • 2021-10-17
    • 2021-10-23
    • 1970-01-01
    • 2020-07-16
    • 2018-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多