Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Keywords: Citrix Sendkey Roboscripter COM OLE Winbatch automate
As far as API functions go, your choices are pretty limited. Value-added functionality, like having your Citrix session being able to access the local drives & printers on the system where the Citrix client is running, is implemented by way of something known as Virtual Channels. A DLL loaded by the Citrix client and corresponding code executing in the Citrix user session can communicate with each other via Virtual Channels. If you take the time to write the code at both ends, you can pretty much use this mechanism as a proxy that does work in the Citrix user session on behalf of the local system. The tricky part is getting the necessary code onto the Citrix server and configured within your Citrix client. It's not some arbitrary thing that you do spur-of-the-moment w/o any software installation work done in advance of needing to make use of Virtual Channels. As such, it's a mechanism that might not meet your needs, or it may go beyond the effort you are willing to invest in the development of such software.
It looks like it will provide you with functionality equivalent to WinBatch's SendKey*() and Mouse*() functions w/respect to simulating user input for a window in a Citrix session, as well as providing window enumeration functionality similar to what is present in WinBatch.
What it is missing, though, is functionality similar to what is present in the Control Manager extender, so directly reading the values of controls in a window, or directly manipulating controls in a window still won't be possible when the window is running in a remote Citrix session.
The other possible caveat to consider, based on those docs, is whether or not you can get a COM object reference to an existing session already created by the Citrix client. I can't tell if this COM interface only works with new sessions that were created explicitly via a scripting language, or if it works with existing sessions that are showing a window on the user's desktop.
Article ID: W18021
Filename: Interacting with Citrix.txt
File Created: 2009:07:08:08:16:18
Last Updated: 2009:07:08:08:16:18