begin process at 2012 05 30 06:20:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

System

 > 

Récupérer un champs d'une commande DOS


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Récupérer un champs d'une commande DOS

lundi 3 décembre 2007 à 23:31:05 | Récupérer un champs d'une commande DOS

Uno22

Bonjour,

Je suis tout nouveau sur ce forum, et j'ai vraiment enormement besoin de vous.
Je suis ne école d'ingénieur (je n'ai pas fait exprés, désolé), et j'ai un projet informatique.
Il faut que je récupère plein de champs réseau et le plus pratique pour moi serai de récupérer différent champs d'un "ipconfig/all".
Je ne sais pas comment faire, et si quelqu'un à une idée, sa me ferai trés trés plaisir .

Sur ces quelques paroles, je vous souhaite une exellente soirée et une bonne nuit.
A trés trés bientot j'espère et merci d'avance...

Uno
mardi 4 décembre 2007 à 00:00:47 | Re : Récupérer un champs d'une commande DOS

SAKingdom

Membre Club
SetConsoleCursorPosition
ReadConsole
GetStdHandle

Une petite recherche sur MSDN pour plus d'info.

http://msdn.microsoft.com/library/

C++ (@++)

mardi 4 décembre 2007 à 00:13:46 | Re : Récupérer un champs d'une commande DOS

Uno22

Bonsoir,

Première chose, merci beaucoup de m'avoir répondu.
Ensuite, j'ai beaucoup de mal avec l'aide MSDN.
Aprés je voudrais savoir quel champs je vais pouvoir viser, comment savoir si je récupère le nom de la connexion , l'adresse du DNS, l'adresse IP ...
Enfin ma dernière question est le format dans le quel je récupère ses données car moi je voudrais les récupérer dans un String.
Voila encore merci pour ta réponse et j'espere que tu pourras m'éclairer un peu plus.
Trés bonne soirée et a bientot ...

Uno
mardi 4 décembre 2007 à 01:13:04 | Re : Récupérer un champs d'une commande DOS

SAKingdom

Membre Club
Oups pardon. Ce n'est pas ReadConsole mais ReadConsoleOutputCharacter.
Voici un exemple.

HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
char *buffer;
int size;
CONSOLE_SCREEN_BUFFER_INFO info;
COORD startpos = {0, 0};

system("ipconfig /all");

GetConsoleScreenBufferInfo(hOut, &info);

size = (info.dwCursorPosition.X + (info.dwCursorPosition.Y*info.dwSize.X));

buffer = malloc(size+1);

ReadConsoleOutputCharacter(hOut, buffer, size, startpos, &size);
buffer[size] = 0;

printf("%s\n", buffer);

free(buffer);

Une fois la console lu avec ReadConsoleOutputCharacter, il te suffis d'effectuer les traitements sur le buffer.

C++ (@++)

mardi 4 décembre 2007 à 19:58:21 | Re : Récupérer un champs d'une commande DOS

Uno22

Bonsoir,

Desole de n'avoir pas répondu avant masi je n'arrivé pas à ma connecter au site.
Merci encore de ta réponse, j'ai essayé de compiler ton code mais j'ai beaucoup d'erreur. Je voudrais tout d'abord savoir les librairies qu'il faut importer pour utiliser les types Handle ... car j'ai eu pas mal d'erreur de ce type.
Voila, si tu peux m'aider encore une fois, se serai super sympa.

Bonne soirée

Uno
mardi 4 décembre 2007 à 20:49:45 | Re : Récupérer un champs d'une commande DOS

SAKingdom

Membre Club
Pas besoin d'inclure quoi que ce soit. Tout devrait déjà être présent par défaut.
As tu ajouté #include <windows.h> ?

C++ (@++)

mardi 4 décembre 2007 à 20:54:47 | Re : Récupérer un champs d'une commande DOS

Uno22

Non je n'ai pas essayé windows.h
Je vais faire quelques essai je te tiens au courant

Merci

Uno
mardi 4 décembre 2007 à 21:04:33 | Re : Récupérer un champs d'une commande DOS

Uno22

Rebonsoir

Je viens de tester avec le windows.h et j'ai beaucoup moins d'erreur seulement deux:


c:\documents and settings\urahara\mes documents\visual studio 2005\projects\test6\test6\test6.cpp(25) : error C2440: '=' : impossible de convertir de 'void *' en 'char *'
        La conversion de 'void*' en pointeur vers non 'void' nécessite un cast explicite

c:\documents and settings\urahara\mes documents\visual studio 2005\projects\test6\test6\test6.cpp(27) : error C2664: 'ReadConsoleOutputCharacterW' : impossible de convertir le paramètre 2 de 'char *' en 'LPWSTR'
        Les types pointés n'ont aucun rapport entre eux ; conversion nécessitant reinterpret_cast, cast de style C ou cast de style fonction

Voila les deux erreurs que j'ai, si tu peux m'éclairer un peu

Voici mon programme test

// test6.cpp : définit le point d'entrée pour l'application console.
//

#include "stdafx.h"
#include <iostream>
#include "windows.h"
#include <string.h>

using namespace std;


int main(int argc, char* argv[])
{
    HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
    char * buffer;
    int size;
    CONSOLE_SCREEN_BUFFER_INFO info;
    COORD startpos = {0, 0};

    system("ipconfig /all");

    GetConsoleScreenBufferInfo(hOut, &info);

    size = (info.dwCursorPosition.X + (info.dwCursorPosition.Y*info.dwSize.X));

    buffer = malloc(size+1);

    ReadConsoleOutputCharacter(hOut, buffer, size, startpos, &size);
    buffer[size] = 0;

    printf("%s\n", buffer);

    free(buffer);
    return 0;
}

Uno
mardi 4 décembre 2007 à 21:06:51 | Re : Récupérer un champs d'une commande DOS

SAKingdom

Membre Club
Tu compiles en UNICODE. Compile en ASCII(multibyte) et tout devrais bien passer.
Pour ton erreur de void* simplement à caster le malloc:

buffer = (char*)malloc(size+1);

C++ (@++)

mardi 4 décembre 2007 à 21:12:43 | Re : Récupérer un champs d'une commande DOS

Uno22

Desole, masi j'ai encore un probleme,
j'ai caster le malloc et il n'y a plus de probleme, par contre la seconde erreur et encore présente.

c:\documents and settings\urahara\mes documents\visual studio 2005\projects\test6\test6\test6.cpp(28) : error C2664: 'ReadConsoleOutputCharacterW' : impossible de convertir le paramètre 2 de 'char *' en 'LPWSTR'
        Les types pointés n'ont aucun rapport entre eux ; conversion nécessitant reinterpret_cast, cast de style C ou cast de style fonction

Je ne connais pas la différence entre compiler en UNICODE et en ASCII. Je suis désole je suis pas tres tres fort en programation.
J'utilise visual studio 200( professionnel, j'ai de la chance avec mon ecole je peux avoir plein de logiciel Microsoft gratuit), et j'ai ouvert un projet Win 32 console application. Voila

Merci encore.

Uno

1 2 3

Cette discussion est classée dans : récupérer, champs, commande, dos, trés


Répondre à ce message

Sujets en rapport avec ce message

!!! Pb Commande DOS !!! [ par yoyo269 ] Salut,je cherche à récupérer les valeurs ou chaines de caractères retournées par une commande DOS (ex : "net send 192.168.1.2 Salut", "Votre message a Executer une commande DOS en C++ [ par Kheo ] Quel API faut il utiliser pour executer une commande DOS depuis un source C++.J'ai trouvé _exec mais ca ne fait rien.../ Kheo / récupérer le résultat d'une commandes DOS [ par Buzu ] Voila, la question est dans le titre...J'ai essayé avec system, mais le résultat de la commande est automatikement affiché dans la console.Merci si vo Ne pas Afficher la fenetre de la commande DOS [ par chasse18 ] Bonjour tout d'abord sachez que j'ai une application MDI qui a besoin à des temps données d'utiliser une commande dos pour unifier des videos mpeg ou Executer une commande DOS et afficher le résultat [ par iow4 ] Bonsoir, J'ai besoin d'éxecuter une commande DOS dans un programme mais je dois pouvoir controler la réponse, comment faire ?? Merci d'avance masquez la fenetre de commande ms-dos [ par debjo ] bonsoir, j'ai créé un programme en c++, et j'effectue une commande "ping" et je voudrais savoir si il est possible de masquer la fenêtre de commande Commande DOS sous windows [ par magicientarik ] Salut, Svp si qlq un peux m'aider, Je veux utiliser un ensemble des commande DOS sur une application C++ sous windows, le workspace du projet est sur appeler à une ligne commande dos [ par boualiasma ] Bonjour, Dans mon programme C, je voulais appeler un autre programme X qui est exécuté par une ligne commande dos. Donc, comment je vais appeler à un comment marche dos? [ par sizixe ] Bonjour, j'aimerais savoir comment dos fonctionne ? par ex : quand je tape une commande ? je sais que c'est du genre : if (conditions) { instructions [GTK]Comment récupérer les valeurs de plusieurs champs dans un questionnaire [ par electron159 ] Bonjour à tous Je programme actuellement une petite application en GTK. En résumé: On rempli un petit questionnaire et on appuie sur le bo


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,842 sec (4)

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