• View Communities
    • Citrix Communities
      Visit the Citrix Communities to get and share technical information and best practices about desktop delivery, datacenter, networking and cloud computing solutions.
    • Citrix Blogs
      Learn the latest from the Citrix employees who are building the future of virtual computing.
    • Citrix Developer Network
      The place for unfiltered straight talk on Citrix products. Find related blogs, best practices, code downloads, APIs and more.
    • Citrix Ready Community Verified
      Does it work with Citrix? Application compatibility questions are a thing of the past with the new Citrix Community Verified site.
  •  Sign In
Citrix Developer Network

ICA Client Object SDK

Overview

The ICA Client Object Software Development Kit (ICOSDK) is useful for customizing the operation of the ICA Client. It provides a set of standard scripting interfaces or APIs that allow you to interface with the ICA Client software and control it from third-party applications. ActiveX controls and Netscape Plug-ins are two of the enabling technologies that allow you to embed objects within container applications such as Internet Explorer, Netscape, Microsoft Word, and Excel. The ICA Client Object implementation is based on these two embedding technologies.

Important: The ICA Client Object is included with the Presentation Server (ICA) Client. The files that support ICA Client Object are WFICA.OCX, NPICAN.DLL, and ICACLOBJ.CLASS. These files are installed automatically when the ICA Client is installed. No other files need to be copied and nothing has to be configured to get ICA Client Object working.

Current Version:

Programmer's guide for version 10.x
Latest changes in version 11.2
Step-by-step getting started tutorial for ICO SDK and Simulation APIs

Previous Versions:

Version 7

Login to add new page\

ICA Client Object SDK Articles

Enter tags to add to this page:
Please wait 
Looking for a tag? Just start typing.
  1. Apr 30, 2008

    Anonymous says:

    Hello,  I have a problem using the latest version of ICO (2.5 from ICA Cle...

    Hello,

     I have a problem using the latest version of ICO (2.5 from ICA Cleint 10.2)

    When I have proprety IPLaunch set to True I cannot get session sharing to work fine when launching multiple Apps but everything else seems to work (connect, diconnect, logoff ...)

    When I set IPLaunch to False then Session Sharing is working like a charm but none of my Logoff or Disconnect Calles seems to work anymore.

    Did someone ran into the same issues  ?

    Thanks in advance,

    Ilan Belehssen

  2. Feb 24, 2010

    Anonymous says:

    Please note latest changes to the ICA Client Object (ICO) in Version 11.2 at: ht...

    Please note latest changes to the ICA Client Object (ICO) in Version 11.2 at: http://support.citrix.com/article/ctx123616

  3. Oct 13, 2010

    Anonymous says:

    Can ICO read the virtual channels while the session is in a disconnected state?

    Can ICO read the virtual channels while the session is in a disconnected state?

  4. Aug 07, 2012

    Vipin Borkar says:

    One of our thin client partner has following questions about ICA Client Object A...

    One of our thin client partner has following questions about ICA Client Object API.
    They are using the C# code as shown below and are facing below mentioned problems:
    1) I can not connect to the Server.
    2) ica.GetLastClientError() return 1030;
    3) ica.GetLastError() return 70;
    What can be infered from these error codes? what must be the problem?

    Code snippet:
    =============
    static void Main(string[] args)

    ICAClientClass ica = new ICAClientClass();
    // Launch published Notepad if you comment this line, and uncommented
    // the one above you will launch a desktop session
    ica.Application = " " ;
    //ica.InitialProgram = " #Excel2010″ ;
    // Launch a new session
    ica.Launch = true;
    // Set Server address
    ica.Address = " 192.168.13.32″ ;//" 192.168.12.42″ ;
    // Not Password field exposed (for security)
    // but can specify it by using the ICA File " password" property
    ica.Username = " user" ;
    ica.Domain = " xyzcloud.com" ;
    ica.SetProp(" Password" , " pswd" );
    // Lets have a " pretty" session
    ica.DesiredColor = ICAColorDepth.Color24Bit;
    // Reseach the output mode you want, depending on what your trying
    // to attempt to automate. The " Client Simulation APIs" are only available under certain modes
    // (i.e. things like sending keys to the session, enumerating windows, etc.)
    ica.OutputMode = OutputMode.OutputModeNormal;
    // Height and Width
    ica.DesiredHRes = 1024;
    ica.DesiredVRes = 786;
    int err = ica.GetLastClientError();
    // Launch/Connect to the session
    ica.Connect();
    err = ica.GetLastClientError();
    err = ica.GetLastError();
    Console.WriteLine(" \nPress any key to log off" );
    Console.Read();
    // Logoff our session
    Console.WriteLine(" Logging off Session" );
    ica.Logoff();

    Removed the opening and closing brace from the code snippet for correct formatting

  5. Aug 20, 2012

    Vipin Borkar says:

    One of our partner is having following issues while working with ICA Client Obje...

    One of our partner is having following issues while working with ICA Client Object API:

    Issue I:
    ========
    Whenever we call ICA.EnumerateApplications(), it always returns a zero. Same with ICA.enumerateServers(). But when we launch a published application via setting ICA.InitialProgram we have no problems in launching. Anything that we are missing here?

    Issue II:
    =========
    GetLastError() returns 99. ICO_ERROR_NAME_ENUMERATION 2.2 "Error with name enumeration support"
    GetLastClientError() returns 1034. CLIENT_ERROR_IO_ERROR 2.1 "Communication I/O Error"

Related Links