IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

console session telnet


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2011
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 54
    Points : 19
    Points
    19
    Par défaut console session telnet
    Bonjour à tous,

    Je travail avec visualC++ 2008 et les windows form.
    Je voudrais que lorsque je click sur un certain bouton, l'appli me lance une console dans laquelle elle aura déjà lancé une session telnet avec le mdp fournis(pour eviter à l'uitilisateur de devoir entrer son mdp).

    Pour cela je voulais utiliser Createprocess, j'ai trouvé pas mal d'exemple sur le net, mais je n'arrive pas à avoir ce que je veux, voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    System::Void telnet_click(System::Object^  sender, System::EventArgs^  e) 
    {
    BOOL bRet=1 ; 
    STARTUPINFO sui ; 
    PROCESS_INFORMATION pi ; 
     
    sui.cb = sizeof (STARTUPINFO); 
    GetStartupInfo (&sui); 
    sui.dwFlags = STARTF_USESHOWWINDOW ; 
    sui.wShowWindow = SW_SHOW ;
     
    bRet=CreateProcess ((LPTSTR)"C:\\WINDOWS\\system32\\cmd.exe", 
                          (LPTSTR)"telnet 192.168.2.15", 
                          NULL, NULL, FALSE, 
                          0, NULL, NULL, 
                          &sui, 
                          &pi);
    }
    Je n'ai aucune erreur de compilation, le createProcess me renvoie 0 donc il echoue. Aucune fenetre ne s'affiche. J'ai vu plusieurs solution pour le deuxième argument de createprocess, certaines personne dise qu'il faut y mettre seulement les paramètres, d'autres dise le processus + les paramètres...
    Bref je m'y retrouve plus moi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CreateProcess(NULL, LPTSTR("C:\\WINDOWS\\system32\\cmd.exe"), NULL, NULL, TRUE, 0, NULL, NULL, &sui, &pi);
    Ce createprocess foctionne chez certain internautes, il auvre simplement la console, moi il me retourne une "Une exception non gérée du type 'System.AccessViolationException'".

    Merci d'avance à ceux qui pourront m'aider.
    Persnip

  2. #2
    Membre à l'essai
    Inscrit en
    Juin 2011
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 54
    Points : 19
    Points
    19
    Par défaut
    J'ai avancé un peu avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    STARTUPINFO si;
    PROCESS_INFORMATION pi;
    ZeroMemory( &si, sizeof(si) );
    si.cb = sizeof(si);
    ZeroMemory( &pi, sizeof(pi) );
     
    CreateProcess( TEXT("C:\\WINDOWS\\system32\\cmd.exe")/*NULL*/, 
    		TEXT("telnet 192.168.2.15"),
    		NULL,
    		NULL,
    		FALSE,
    		0,
    		NULL,
    		NULL,
    		&si,
    		&pi );
    L'appli m'affiche une console, mais ne prend pas en compte l'argument("telnet 192.168.2.15".
    Persnip

  3. #3
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    De mémoire, il faut que tu lances directement telnet (et non cmd), en précisant dans les flags de création de process que tu veux le lancer dans une nouvelle console.

    Le mieux est que tu lises la doc msdn :

    http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2011
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 54
    Points : 19
    Points
    19
    Par défaut
    Merci, je vais regarder de ce coté là

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2011
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 54
    Points : 19
    Points
    19
    Par défaut
    Super white_tentacle, avec ce code j'arrive à ouvrir une session telnet dans une console jusqu'au moment ou il faut taper le mdp.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CreateProcess( TEXT("telnet.exe"), 
    	TEXT("telnet 192.168.2.15"),
    	NULL,
    	NULL,
    	FALSE,
    	0,
    	NULL,
    	NULL,
    	&si,
    	&pi );
    Je cherche maintenant à ecrire automatiquement le mdp sans que l'utilisateur n'est à le faire (pour gagner du temps).
    Il ne me semble pas qu'il existe une option pour mettre le mdp dans la ligne de commande. Comment dire à l'appli d'ecrire le mdp dans la console crée?

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2011
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 54
    Points : 19
    Points
    19
    Par défaut
    D'après mes recherches de ce matin, ça semble assez compliqué voir impossible avec la méthode que j'utilise, le problème est le suivant:
    si j'utilise une socket(car j'ai vu qu'avec une socket c'était faisable), une fois l'authentification terminé (automatiquement avec login/mdp), sera t-il possible d'ouvrir une console pour prendre la main sur le switch en question sur la session ouverte?
    Merci d'avance.
    Persnip

  7. #7
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    Il faut que tu fasses toi-même la console dans ce cas. Ça impose de faire une application graphique.

Discussions similaires

  1. Comment s'initie une session telnet ?
    Par dva2tlse dans le forum Réseau
    Réponses: 76
    Dernier message: 11/09/2008, 18h52
  2. Ouvrir une session telnet
    Par numostro dans le forum Administration
    Réponses: 2
    Dernier message: 29/12/2006, 10h12
  3. Initier une session telnet dans une session telnet
    Par benbs dans le forum Modules
    Réponses: 3
    Dernier message: 18/11/2006, 13h05
  4. Lancer une session telnet automatiquement
    Par Pragmateek dans le forum Windows
    Réponses: 2
    Dernier message: 23/05/2006, 16h37
  5. [Sécurité] session telnet via php
    Par winnie82 dans le forum Langage
    Réponses: 14
    Dernier message: 28/03/2006, 09h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo