【问题标题】:Simulate ctrl alt del in react-vnc在react-vnc中模拟ctrl alt del
【发布时间】:2023-01-27 00:35:29
【问题描述】:
在reactjs项目上开始使用react-vnc连接wssapi(云服务器)
<VncScreen
url='ws://your-vnc-url.com'
scaleViewport
background="#000000"
style={{
width: '75vw',
height: '75vh',
}}
ref={ref}
/>
一切看起来都很好并且连接成功,但是在服务器的 Windows 屏幕上我需要按ctrl+alt+del解锁,但我不知道如何通过 react 或 react-vnc 做到这一点,有什么解决办法吗?
有什么方法可以在 javascript 或 react-vnc 中模拟 ctrl+alt+del 键,如果没有,那么我该如何按 vnc 上的任意键?
【问题讨论】:
标签:
javascript
reactjs
vnc
【解决方案1】:
onConnect、onDisconnect 和 onCredentialsRequired 回调可以接受单个参数 rfb。该参数为RFB对象,由noVNC描述。在此处了解有关 RFB 对象的更多信息。
RFB 对象应该提供一个名为sendCtrlAltDel 的方法(参见API)。也许您可以监听特定的按键并改为调用此函数。
【解决方案2】:
如果我理解正确,那么您正在尝试使用 javascript 强制对键盘执行操作,这在安全级别上被认为是过度操作。 Javascript 只能控制来自键盘的事件 - 通过设置事件侦听器或使用onkeyup.一个例子onkeyup在 sn-p 中提供,以防万一这可能会帮助您解决您的问题。
document.onkeyup = function (e) {
if (e.ctrlKey && e.shiftKey && e.which == 32) {
alert("CTRL+SHIFT+SPACE pressed on keyboard");
}
};
<p>Select this text to set focus on snippet iframe and press CTRL+SHIFT+SPACE to activate event.</p><p>Usually there is no needs to set focus if code runs in single page.</p>