Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Detecting Citrix using .NET

Posted on 2004-10-26
3
Medium Priority
?
376 Views
Last Modified: 2008-03-03
How do you detect a Citrix Session ID using .Net?
0
Comment
Question by:Armon14
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 48

Accepted Solution

by:
Mikal613 earned 1200 total points
ID: 12417559
Paste from MSDN:

Monitoring Session Connections and Disconnections
For the service-side application to monitor session connections and disconnections, you must register it with Terminal Services in the following manner. First, you must store the name of the virtual channel server application in the registry. Add a subkey under the following location.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control
   \TerminalServer\Addins
The subkey can have any name. It must have a REG_SZ value, Name, that contains the symbolic name of the application.

Name = AddinName
The maximum length of both the subkey and the value of Name is 99 characters.

It must also have a REG_DWORD value that indicates the type of server application.

Type = AddinType
AddinType must be the following value.

Value Meaning
3 User-mode application, session space.


Registration of the server application takes effect only in sessions created after the registration was performed.

Each registered server application can create two event objects that are signaled when a client connects or disconnects. The names of these event objects are Reconnect and Disconnect, respectively, and have the following format:

Global\AddinName-SessionId-Reconnect
 
Global\AddinName-SessionId-Disconnect
AddinName is the string specified in the Name value of the registry subkey under which the server application is registered. SessionId is the session identifier of a client session.

The server application must create these event objects in an unsignaled state. When a client application connects or disconnects from a session, Terminal Services sets the appropriate event to the signaled state. If the user application must monitor these event objects again, it must reset them to the unsignaled state.
<end paste>

the URL: http://msdn.microsoft.com/library/psdk/termserv/wtsapi_8vhv.htm

see also: TEvent in syncobjs which is a wrapper around win32 event objects.

hope this helps
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

If you’re thinking to yourself “That description sounds a lot like two people doing the work that one could accomplish,” you’re not alone.
This article will show how Aten was able to supply easy management and control for Artear's video walls and wide range display configurations of their newsroom.
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question