WinForms, C#, AxMsTscNotSafeForScripting 도구를 사용하여 약간의 클라이언트를 작성하고 VM에서 Win + R을 전송해야합니다 (예, 알고 있습니다. 원격으로 앱을 시작하는 방법이 있습니다. RunDialog없이,하지만 내가 필요). InputSimulator
이라는 이름의 멋진 lib가 금새 발견되어 주 머신에서 모든 것을 올바르게 시뮬레이트하지만 VM에는 아무런 영향을 미치지 않습니다.알려진 모든 방법으로 RDP를 통해 입력을 보내는 데 문제가 발생했습니다.
실제로는 string
을 메모장에 보낼 수 있지만 VirtualKeyCodes를 처리하면 아무 일도 일어나지 않습니다. 드릴링 후 조금 더 깊이 void PressKey(char ch, bool press) void KeyDown(ushort scanCode) void KeyUp(ushort scanCode)
인 WindowsAPI.SendInput
의 사용법을 발견했습니다.
PressKey
은 VM에서 작동하지만, 내가 필요한 KeyDown
및 KeyUp
은 올바르지 않습니다. 예를 들어 81은 "Q"에 대한 ScanCode이지만 "." 메모장에서 82는 "R"에 대한 것이지만 "0"을 얻고 나는 91로 아무 것도 얻지 못합니다. 그것은 Windows 키입니다. 키보드로 키를 누르면 모든 것이 작동하므로 KeyPreview, EnableWindowsKey 등의 설정에 문제가 없습니다. 두 시스템 모두 Oracle VM VirtualBox 인 Win7입니다.
내 방식이 절망적이라 할지라도 Win + R을 프로그래밍 방식으로 VM에 전송하는 또 다른 방법은 무엇입니까? 도움말 크게 감사드립니다!
질문의 길이 *가 문제가 아니며, 조직이 완전히 부족합니다. 편집하십시오. 코드를 올바르게 표시하려면 코드 주위에 역 따옴표 ('')를 사용하는 것이 좋습니다. –
@BenVoigt 희망이 지금은 더 좋아 보인다. 내 첫 번째 질문이다. 조언을 주셔서 감사합니다. 가능한 경우 답변을 드릴 수있게되어 기쁩니다. – Amateur
놀랍도록 * 더 좋습니다. –