Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7967525
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 4, 20262026-06-04T06:56:21+00:00 2026-06-04T06:56:21+00:00

I am working on a kiosk application which gives the user a selection of

  • 0

I am working on a kiosk application which gives the user a selection of Citrix connections.

The idea is that the user selects a connection presented by the kiosk application, and then the kiosk launcher initiates the selected connection by running a command similar to this:

C:\Program Files\Citrix\ICA Client\wfica32.exe \\server\path\to\icaFile.ica

I want the user to stay within the Citrix session – not for any security reason, just to make it a good user experience getting to the selected session and eventually logging off. So I launch a full-screen session and everything is fine until the user logs off.

When the user logs off the Citrix session, I want to also initiate a logoff on the client computer. I’ve tried doing this in the obvious way by using code similar to the following:

Process citrixProcess = new Process();
citrixProcess.StartInfo = new ProcessStartInfo();
citrixProcess.StartInfo.FileName = "C:\Program Files\Citrix\ICA Client\wfica32.exe";
citrixProcess.StartInfo.Arguments = "\\server\path\to\icaFile.ica";
citrixProcess.Start();
citrixProcess.WaitForExit();
//
// Followed by code to initiate logoff from the local computer
//

But instead of waiting on the Process object the code continues right along to the next section which initiates the logoff. The result is that the Citrix session is terminated almost immediately because a local computer logoff happens immediately. My best guess is that the initial launch of wfica32.exe is exiting immediately after launching a new process to actually handle the session. But if this is what is happening it is not obvious what to do about it since wfica32.exe still appears to be running once the Citrix session is launched.

I am looking for a reliable way to detect when a Citrix session launched this way has terminated.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-04T06:56:22+00:00Added an answer on June 4, 2026 at 6:56 am

    In a C# Application you can reference WFICALib.dll (in your Citrix Ica Client folder), create an ICAClientClass object, subscribe to the and call it’s Disconnect event, and call the LoadIcaFile method to launch your connection.

    In your handler for the Disconnect method you would need to add code to initiate the log-off and terminate the current application.

    An example implementation:

    public static void Connect()
    {
        // Configure the connection.
        ICAClientClass ica = new ICAClientClass();
        ica.Application = string.Empty;
        ica.InitialProgram = "#Name of Citrix application to launch";
        ica.Launch = true;
        ica.Domain = Environment.UserDomainName;
        ica.DesiredColor = ICAColorDepth.Color24Bit;
        ica.OutputMode = OutputMode.OutputModeNormal;
        ica.MaximizeWindow();
        ica.ClientAudio = true;
        ica.AudioBandwidthLimit = ICASoundQuality.SoundQualityMedium;
        ica.Compress = true;
        ica.ScreenPercent = 100;
        ica.TransportDriver = "TCP/IP";
        ica.WinstationDriver = "ICA 3.0";
        ica.SSLEnable = false;
        ica.SSLCiphers = "ALL";
        ica.SSLProxyHost = "*:443";
        ica.EncryptionLevelSession = "EncRC5-128";
    
        // Citrix server name or IP
        ica.Address = "x.x.x.x"; 
    
        // Setup handler for disconnect event.
        ica.OnDisconnect += ica_OnDisconnect;
    
        // Initiate the connection.
        ica.Connect();
    }
    
    private static void ica_OnDisconnect()
    {
        Console.WriteLine("ica_OnDisconnect");
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm working on a multi-monitor kiosk application that needs to run full-screen on both
I'm working on a Cocoa application which will be used for a digital-signage/kiosk style
I am working on a full screen kiosk application in Flex 4/Air 2 using
I am working on a Kiosk Touch Screen application and using the JQuery.keypad plugin
I am working on a Kiosk application, I need to disable the taskmanager. So
I am working on a Kiosk application. There is a Maintenance mode in my
I'm working with a kiosk application, and need to kick out cash drawer #1
I am working on an application that is basically going to operate in a
I have a kiosk GUI application I'm working on and it requires me to
I'm working on a kiosk style slideshow app. I have a UIScrollView which shows

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.