【发布时间】:2018-04-17 14:06:20
【问题描述】:
如何在 asp.net c# 中使用 sendkey 或 SendKeys.SendWait。
我只想在本地主机上使用它。
它适用于 Visual Studio,但不适用于 IIS,我将 applicationPoolIdentity 更改为管理员,但我总是遇到同样的问题“访问被拒绝”。
【问题讨论】:
-
将密钥发送到哪里?您无法将密钥发送给客户端,这是您正在尝试的吗?
-
这是一个 XY 问题 - meta.stackexchange.com/questions/66377/what-is-the-xy-problem 。 为什么你要使用
SendKeys? -
Sendkeys是针对桌面环境的 System.Windows.Forms 的一部分。尝试使用 Javascript 来实现你想要的。 -
那么...您认为网页可以向客户端发送密钥吗?例如,如果访问的网页将向客户端发送 ALT + F4 会关闭浏览器?
-
应用程序池标识本身没有帮助,因为 IIS 服务被拒绝访问所有桌面 api。您可以通过在“万维网发布服务”的登录选项卡上选中“允许服务与桌面交互”来启用此功能。我不确定 iis 服务进程和子进程工作者之间的关系,但这可能会做到这一点。无论如何,这都是非常糟糕的做法。尝试使用任何 IPC 来执行您想要的操作。如果您绝对必须,请编写一个小型可执行文件来执行该操作并直接公开一个 IPC 端点供服务器使用。