sendkeys - On-Screen Keyboard hide and run within excel instance to use functionality -


to give brief backstory bring things current position / reason question:

i wanted use sendkeys send keyboard presses citrix xenapp remote terminal application (vt320 emulator).

  • this not work.

after investigation became apparent has been reasonably common issue.

i found work-around involved opening windows 'on-screen keyboard' application , sending mouseclicks using vba osk app itself. key transmissions received in remote terminal application.

this solution rather awkward , not practical solution relies on many factors e.g. screen resolution, co-ordinates / current position of osk etc.

with above in mind, looking achieve more full proof method , here's thoughts:

  • rather using simulated mouseclicks ideally able either 'embed' osk app excel instance , reference each key
  • or hide app , find way make application receive vba keys requested.

i'm aware sendkeys has limitations have tried using sendinput via keyb_event , didn't work.

to half experienced expert, i'm beginner i'm suffering lack of knowledge here perhaps.

  • if can point me in right direction solving issue, i'd appreciate it!

many thanks.

edit

i've looked little more , found post:

finding class name of on-screen keyboard?

which suggest if know class of on screen keyboard, use commands within excel vba?

  • i did try use code within question couldn't work.

so question little easier answer?

can use class name of on-screen keyboard app / declare api function allow me send simulated key functions if it's osk app being clicked mouse?

hopefully can help!!

trying automate apps locally can quite fiddly. doing through citrix hdx connection painful.

do have on citrix environment? if i'd try writing automation app runs on citrix server in same session published app you're trying automate. has advantage you're automating local app make life easier.

depending on how automation works may need communicate between automation app running in citrix session , client. use wcf bridge 2 together.

so that's how try , do, regarding specific question i've provided thoughts below...

osk automation thoughts

i've done limited automation of osk. there 2 osks if you're using win8. osk.exe old 1 has been around while. tabtip.exe new win8 specific osk.

one problem keep in mind both of these processes run high integrity processes means normal (medium) integrity processes have limited abilities automate them. while automate stuff, many messages ignored. maybe why finding osk not responding expect.

you can work around running automation app high integrity process, means need local admin (or local system) privilege start high integrity process. never looked specifics of how create high integrity processes. know there's command line tool can use force process run @ level (icacls.exe), e.g.

https://msdn.microsoft.com/en-us/library/bb625960.aspx

i imagine there apis well.


Comments

Popular posts from this blog

Magento/PHP - Get phones on all members in a customer group -

php - .htaccess mod_rewrite for dynamic url which has domain names -

Website Login Issue developed in magento -