【问题标题】:Send keys SHIFT + CTRL + S is not working发送键 SHIFT + CTRL + S 不起作用
【发布时间】:2016-08-17 05:06:57
【问题描述】:

我需要保存在网页上打开的 PDF file(网页上的集成 Adbobe 阅读器)。要保存 PDF,我需要以编程方式按 Ctrl+Shift+S

我正在使用:

SendKeys.SendWait("+^(s)");

我也尝试了这些组合。他们都没有工作:

SendKeys.SendWait("+^(s)");
SendKeys.SendWait("^+s");

但是,如果我通过 (Ctrl+P) 进行打印:

SendKeys.SendWait("^(p)")

我不确定为什么 Ctrl+Shift+S 不起作用。

如果我手动按 Ctrl+Shift+S 它正在工作。但是在 sendkeys 中它不起作用。

【问题讨论】:

  • 有解决办法吗?我也有同样的要求

标签: c# asp.net .net c#-4.0 webbrowser-control


【解决方案1】:

System.Windows.Forms.SendKeys.Send("^+{S}");

更多: How to Send Ctrl+Shift+F1 to an application using send keys

【讨论】:

  • 谢谢。我确实试过这个。但是没有弹出窗口。如果我手动按 SHIFT + CTRL + S 它会弹出
  • 尝试改成小写的s:Send("^+{s}")。例如,我注意到Send("^{S}") 实际上会发送 Ctrl + Shift + S,所以这里可能会发生类似的问题。
【解决方案2】:

尝试为 Win32 SendInput API 使用 Windows Input Simulator .NET 包装器。它使您可以更直接地控制 shift 和 control 键的使用。

【讨论】:

  • 我们知道为什么 SHIFT + CTRL + S 的发送键不起作用吗?另一方面,我可以看到 CTRL + P 的发送键正在工作。
  • 谢谢!我尝试使用输入模拟器,但没有运气。下面是我使用的代码。如果我错了,请纠正我。 //InputSimulator.SimulateKeyPress(VirtualKeyCode.SHIFT); //InputSimulator.SimulateKeyPress(VirtualKeyCode.CONTROL); //InputSimulator.SimulateKeyPress(VirtualKeyCode.VK_S);
  • 我的猜测是它使用 GetAsyncKeyState() 来读取 shift 键状态,在这种状态下发送键不起作用(例如读取 here)。其他 CTRL+X 命令是否有效,而所有 SHIFT+CTRL+X 命令都无效?
  • 我不确定。但是 CTRL + P 正在使用模拟器... InputSimulator.SimulateModifiedKeyStroke(VirtualKeyCode.CONTROL, VirtualKeyCode.VK_P);另一方面,这是行不通的
  • 试试这个:InputSimulator.SimulateKeyDown(VirtualKeyCode.SHIFT);InputSimulator.SimulateKeyDown(VirtualKeyCode.CONTROL);然后是 VK_S,然后稍等片刻,然后是 KeyUps 进行换档和控制。
【解决方案3】:

SendKeys.Send("^+S"); 这应该工作

【讨论】:

    【解决方案4】:

    对我有用的解决方案是在发送密钥之前使窗口可见并激活它。无论出于何种原因,这让我发送 ctrl shift s。仅使用激活不起作用。

    像这样,其中“i”是我的窗口,它被循环查找:

    shellObj.Windows(i).Visible = True
    AppActivate shellObj.Windows(i).LocationName
    SendKeys "^+{S}", True
    

    【讨论】:

      猜你喜欢
      • 2015-10-18
      • 1970-01-01
      • 2019-01-20
      • 1970-01-01
      • 1970-01-01
      • 2017-09-12
      • 2011-08-09
      • 1970-01-01
      • 2011-01-07
      相关资源
      最近更新 更多