2014-09-30 6 views
0

제한된 리소스로 VBScript 및 VBA 명령을 사용하여 키보드 기능을 원격 Citrix 터미널에 보내려했습니다. - 이것은 알려진 제한 사항이며 C++ 및 scancodes를 통해 대안을 제공하여 제한을 극복 할 수있는 다양한 기사를 찾았습니다.Citrix Xenapp - Sendkeys

주요 문제는 C++에 액세스 할 수 없다는 것입니다.

  • VBScript 및/또는 VBA에서이 문제를 해결할 수있는 솔루션이 있습니까?

Windows 가상 키보드 사용 (작동하지 않음) 및 Windows에 가상 키보드 드라이버 설치 (내 깊이 있음) 등 많은 옵션을 고려했습니다. 여기

는 C++를 사용하여 스캔 코드를 원반 던지기 기사 중 하나입니다

http://www.codeproject.com/Tips/310817/SendKeys-using-ScanCodes-to-Citrix

내가 손해를보고이고 도움이 될 수 있습니다 사람이 슈퍼 영웅이 될 것입니다 ... 슈퍼 영웅이 ' 주요 호소는 괴짜 신이었습니다. :)

도움을 주시면 감사하겠습니다 !!!

건배. 내가 좀 더 파고했던

**** UPDATE ****

안녕하세요, ...

을 ... 시트릭스 ICA 클라이언트 터미널 창은 아니다 예를 들어, VBScript를 SendKeys 매크로 명령을 수신하지만 수동으로 (2 초 간격으로) 스크립트를 실행 한 후, 단말에서 ALT를 누르면 것은 :

*Set objShell = WScript.CreateObject("WScript.Shell") 
WScript.Sleep 2000 
objShell.SendKeys ("e") 
objShell.SendKeys "(P)"* 

상기 '파일' '수정', 즉 액세스 할 수 tc 메뉴 옵션을 사용할 수 있습니다.

내게이 문제는 권한 문제가 아니며 아마도 sendkeys 메서드에 대한 희망이 있다고 생각합니다.

더 자세히 살펴보면 Citrix ICA 클라이언트와 관련된 Citrix 사이트의 ini 파일 설정이 있습니다. 나는 주위에 놀이를 했어하는 목록 키보드 매핑, DLL 파일, 가상 키 통과 몇 INI 파일이있을 것처럼 보인다

http://support.citrix.com/article/CTX129166

: 기사의

하나는 아래에서 찾을 수 있습니다 게다가? INI 파일 '모듈'의 섹션

하나는 다음을 포함 :

[KeyboardLayout] 
(User Profile)=0x00000000 
(Server Default)=0xFFFFFFFF 

이것은 다음 따랐다 등 다양한 언어, 영국, 미국 국제 포함한 다른 코드는 있었다 DLL 코드들의리스트에 의해 e.g : 나는에서 SendKeys를 허용 할 INI 설정을 수정하는 방법이있을 것이다 (희망) 추측하고

eng=0x00000809 

수신 할 : 예

kbduk.dll=0x00000809 

그리고 마지막으로, 언어 ID를, 툴바 메뉴뿐 아니라 터미널 필드에도 있습니다.

이전과 마찬가지로 도움이 감사 할 것입니다 .... 나는 천천히이 하나 이상 정신 나간거야!

건배!

+0

vbscript 대안으로 OLE (object linking and embedding) 솔루션을 찾고 싶을 수도 있습니다. –

+0

입력 인젝션으로 연주 한 유일한 시간은 .NET 용으로이 라이브러리를 사용했습니다. http://inputsimulator.codeplex.com/ 대신 PowerShell 스크립팅을 사용할 수 있습니까? 추 신 : .NET 구성 요소를 호출 할 수 있습니다. – donovan

+0

안녕하세요, 저에게 다시 연락해 주셔서 감사합니다. - 이것은 유망한 것으로 들리 겠지만, 나는 확신하지 못합니다 : powershell. PowerShell Windows 7이 아닌가요? (우리는 XP에서 업그레이드 할 예정이지만 여전히 어두운 시대에도 그렇습니다.) 나는 확실히 .Net 구성 요소를 설치했는데 ... – Barkered

답변

0

총알하는 것이 무엇인가 뾰족한 해결책

: 스크린 키보드 (OSK.EXE) 창에

응용 프로그램 VBScript를 (필수하지만 및 관리 스크립트로 나 선호하지 않음) VBA (마우스를 이동) OSK는 '가져가'를받을

  1. 설정은 특정 좌표
  2. 로 마우스를 이동
  3. 설정 VBA 코드를 명령
  4. VBScript를 사용하여 VBA XLS 파일의 특정 하위가 실행되는시기를 제어합니다. - 파일을 수동으로 열지 않아도 백그라운드에서 실행되도록 설정할 수 있습니다.
  5. Citrix XenApp 터미널을 활성 창으로 설정하고 키를 으로 설정하면으로 보내야합니다!

건배!