begin process at 2010 02 09 20:58:47
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > RÉCUPÉRER LE NOM DU PC CONNECTÉ À UN SERVEUR EN TERMINAL SERVER (RDP)

RÉCUPÉRER LE NOM DU PC CONNECTÉ À UN SERVEUR EN TERMINAL SERVER (RDP)


 Information sur la source

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :API Source .NET ( DotNet ) Classé sous :terminal, server, client, rdp, wtsquerysessioninformation Niveau :Débutant Date de création :02/08/2006 Vu :9 953

Auteur : eldim

Ecrire un message privé
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

Lorsqu'on est connecté en Terminal Server et qu'on demande le nom du PC on obtient généralement le nom du server (ce qui est normal). Mais la plupart du temps on a besoins du nom du PC Client pour savoir qui effectue certaines opération (sachant qu'on peut avoir un user identique à partir de PC différents).
Donc avec ce code on retrouve le nom du PC Client

(Adaptation de mon source vb.net en C#)

Source

  • enum WTS_INFO_CLASS
  • {
  • WTSInitialProgram = 0,
  • WTSApplicationName = 1,
  • WTSWorkingDirectory = 2,
  • WTSOEMId = 3,
  • WTSSessionId = 4,
  • WTSUserName = 5,
  • WTSWinStationName = 6,
  • WTSDomainName = 7,
  • WTSConnectState = 8,
  • WTSClientBuildNumber = 9,
  • WTSClientName = 10,
  • WTSClientDirectory = 11,
  • WTSClientProductId = 12,
  • WTSClientHardwareId = 13,
  • WTSClientAddress = 14,
  • WTSClientDisplay = 15,
  • WTSClientProtocolType = 16,
  • WTSIdleTime = 17,
  • WTSLogonTime = 18,
  • WTSIncomingBytes = 19,
  • WTSOutgoingBytes = 20,
  • WTSIncomingFrames = 21,
  • WTSOutgoingFrames = 22,
  • };
  • [DllImport("wtsapi32")]
  • static extern void WTSFreeMemory(IntPtr memory);
  • [DllImport("wtsapi32", CharSet=CharSet.Auto)]
  • static extern Boolean WTSQuerySessionInformation(IntPtr hServer, Int32 SessionId,
  • WTS_INFO_CLASS InfoClass, ref IntPtr ppBuffer, ref Int32 pCount);
  • public String fnGetClientName()
  • {
  • String R = "";
  • IntPtr Buffer = IntPtr.Zero;
  • try
  • {
  • int bytesReturned=0;
  • Boolean sessionInfo = WTSQuerySessionInformation(IntPtr.Zero, -1,
  • WTS_INFO_CLASS.WTSClientName, ref Buffer, ref bytesReturned);
  • R = System.Runtime.InteropServices.Marshal.PtrToStringAuto(Buffer);
  • }
  • catch
  • {
  • }
  • finally
  • {
  • try
  • {
  • WTSFreeMemory(Buffer);
  • Buffer = IntPtr.Zero;
  • }
  • catch
  • {
  • }//end Try
  • }//end Try
  • return R;
  • }//End Function
        enum WTS_INFO_CLASS
        {
            WTSInitialProgram = 0,
            WTSApplicationName = 1,
            WTSWorkingDirectory = 2,
            WTSOEMId = 3,
            WTSSessionId = 4,
            WTSUserName = 5,
            WTSWinStationName = 6,
            WTSDomainName = 7,
            WTSConnectState = 8,
            WTSClientBuildNumber = 9,
            WTSClientName = 10,
            WTSClientDirectory = 11,
            WTSClientProductId = 12,
            WTSClientHardwareId = 13,
            WTSClientAddress = 14,
            WTSClientDisplay = 15,
            WTSClientProtocolType = 16,
            WTSIdleTime = 17,
            WTSLogonTime = 18,
            WTSIncomingBytes = 19,
            WTSOutgoingBytes = 20,
            WTSIncomingFrames = 21,
            WTSOutgoingFrames = 22,
        };

        [DllImport("wtsapi32")]
        static extern void WTSFreeMemory(IntPtr memory);

        [DllImport("wtsapi32", CharSet=CharSet.Auto)]
        static extern Boolean WTSQuerySessionInformation(IntPtr hServer, Int32 SessionId,
            WTS_INFO_CLASS InfoClass, ref IntPtr ppBuffer, ref Int32 pCount);

        public String fnGetClientName()
        {
            String R = "";
            IntPtr Buffer = IntPtr.Zero;
            try
            {
                int bytesReturned=0;
                Boolean sessionInfo = WTSQuerySessionInformation(IntPtr.Zero, -1,
                    WTS_INFO_CLASS.WTSClientName, ref Buffer, ref bytesReturned);
                R = System.Runtime.InteropServices.Marshal.PtrToStringAuto(Buffer);
            }
            catch 
            {
            }
            finally
            {
                try
                {
                    WTSFreeMemory(Buffer);
                    Buffer = IntPtr.Zero;
                }
                catch 
                {
                }//end Try
            }//end Try
            return R;
        }//End Function



 Sources du même auteur

Source avec Zip Source .NET (Dotnet) CHECK IDENTICAL FILES

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) UTILISATION DE L'API VIRTUAL DISK IMAGE DE WINDOWS 7 par Willi
Source avec Zip Source .NET (Dotnet) CHESS GAME CORE - LIBRAIRIE JEU D'ÉCHEC EN C# par Bidou
Source .NET (Dotnet) CHANGER LA RESOLUTION DE VOTRE ECRAN, UTILISATION DES API WI... par mechtaly
Source avec Zip Source .NET (Dotnet) CRÉER SON PROPRE DESIGNER COMME CELUI DE VISUAL STUDIO par ShareVB
Source avec Zip Source .NET (Dotnet) CSVSHARP. DLL D'IMPORT/EXPORT DE CONTENU AU FORMAT CSV par heriquet

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) SERVEUR/ESCLAVE MODBUS TCP/IP par SteveFuchsIT
Source avec Zip Source .NET (Dotnet) [.NET2] WRAPPER POUR API WINDOWS TERMINAL SERVICES. par Willi
Source avec Zip Source avec une capture Source .NET (Dotnet) DÉMO NETACCESS 2.0.1 : NETMESSENGER par wizad
Source avec Zip Source .NET (Dotnet) MODULE RÉSEAU AVANCÉ : SOCKET TCP. par djine
Source avec Zip Source avec une capture Source .NET (Dotnet) [.NET3/WCF] DEMO SERVICE-CLIENT WCF par Willi

Commentaires et avis

Commentaire de mpe le 04/08/2009 10:40:01 9/10

Merci beaucoup pour ce code qui m'a permise d'économiser des heures de recherche. Pour info, il fonctionne aussi en mode TSE/remote app.

mpe

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Terminal Server [ par eldim ] Bonjour,Etant connecté en Terminal Server sur un Windows 2003, comment puis-je connaitre le nom de mon PC client (puisque MachineName me donne le nom Client Xp(excel)/server 2003(SQL2005) [ par snif84 ] Bonjours a tous, je suis en bts ig et je passe très bientôt mes pti. Et j'ai un Pb sur le pti base de données. Je n'arrive pas a connecté mon client x configuration client serveur [ par djbabou ] Bonjour a tous ! Une petite question : j'aimerais savoir s'il est possible de faire tourner une application développée en c# sous visual studio expre namespace [ par bidules ] Bonjour,je suis entrain de faire une appli reseauxj'ai donc un client et un server. Le client et le server sont deux projet different qui se trouve ds Application multicast Client/Server [ par charles84 ] Bonjour à tous,Je cherche une application Mulitcast tournant sous windows qui me permet d'envoyer sur des clients un fichier. Quelqu'un a deja develop probleme de connexion a sql express [ par cudenetf ] bonjour,j'ai cherché sur le forum et sur internet etr je n'ai pas trouvé de réposne (en tout cas assez simple pour moi) pour me connecter a une base s utilisation sqlserver sur un serveur avec un poste client et un razccourci vers une appli se trouvant sur le serveur [ par cudenetf ] bonjourje voudrais utiliser un raccourci a partir d'un poste client pour lancer une appli qui tourne sur un "serveur" et utilise sql expressma chaine VISUAL STUDIO 2008 ET SQL SERVER [ par papousso ] Bonjour à tous j'ai un projet a realiser sous C# avec une base SQL SERVER .J'ai installer visual studio 2008 (edition professionnelle)Mon pb c'est que Retour Server [ par zoom007 ] Bonjour à tous,Voilà, il y a quelques temps j'expliquais que j'avais un problème sur un retour non désiré sur le serveur quand je cliquais sur une ima manipulation d'une base de donnée sql server [ par ferdoussa ] Je devellope une application à l'aide de vb.net ,j'ai préparé ma base de donnée avec sql server mais je n'ai pas arrivé a manipuler la base .je peut p


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales