我需要保存在网页上打开的 PDF 文件(网页上集成的 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 中它不起作用。
System.Windows.Forms.SendKeys.Send("^+{S}");
尝试使用 Win32 SendInput API 的 Windows 输入模拟器 .NET 包装器。它使您可以更直接地控制 Shift 和 Control 键的使用。
SendKeys.Send("^+S"); 这应该有效
对我有用的解决方案是使窗口可见并在发送密钥之前激活它。无论出于何种原因,这让我发送 ctrl shift 。仅使用激活不起作用。
所以像这样,其中“i”是循环查找的窗口:
shellObj.Windows(i).Visible = True
AppActivate shellObj.Windows(i).LocationName
SendKeys "^+{S}", True