Suite à un énorme ennui en cours d'info et de nombreuses recherches sur le net j'ai développé un petit programme sur QT permettant de faire un ping. il n'est fonctionnel que sur Windows.
Source / Exemple :
___________________________
Main.cpp
___________________________
#include <QtGui/QApplication>
#include "qt_ping.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QT_Ping w;
w.show();
return a.exec();
}
____________________________
QT_ping.h
____________________________
#ifndef QT_PING_H
#define QT_PING_H
#include <QMainWindow>
#include <QProcess>
#include <QMessageBox>
#include <QtNetwork/QTcpSocket>
namespace Ui {
class QT_Ping;
}
class QT_Ping : public QMainWindow
{
Q_OBJECT
public:
explicit QT_Ping(QWidget *parent = 0);
~QT_Ping();
private slots:
void on_Commencer_clicked();
void Reception();
void on_actionNouveau_triggered();
private:
Ui::QT_Ping *ui;
QProcess ProcessPing;
QString Buffer;
};
#endif // QT_PING_H
________________
QT_ping.cpp
_______________
#include "qt_ping.h"
#include "ui_qt_ping.h"
#include <QDebug>
QT_Ping::QT_Ping(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::QT_Ping)
{
ui->setupUi(this);
// connexion au slot de réception du ping
connect(&ProcessPing,SIGNAL(readyReadStandardOutput()),this,SLOT(Reception()) );
}
QT_Ping::~QT_Ping()
{
delete ui;
}
//commencer un ping
void QT_Ping::on_Commencer_clicked()
{
// Si ping successif netoyage de la fenetre de resultat
if(ui->ResultPing->toPlainText()!="")
ui->ResultPing->setText("");
// Vérification adresse tapée
if ( ui->AdresseEdit->text()== "")
{
QString msg=" Pas d'adresse tapée ";
QMessageBox::warning(this,"Echec d'adresse' ",msg);
}
else
{
// préparation du ping argument + commande a appeler
QStringList arguments;
QString program = "ping";
arguments << ui->AdresseEdit->text();
ProcessPing.start(program,arguments);
}
}
// slot de reception du signal pret a lire
void QT_Ping::Reception()
{
// Mise en page pour le fun
ui->ResultPing->setFontWeight(QFont::Bold);
// affichage des résultat
ui->ResultPing->insertPlainText(ProcessPing.readAll());
}
//néttoyage interface
void QT_Ping::on_actionNouveau_triggered()
{
ui->AdresseEdit->setText("");
ui->ResultPing->setText("");
}
21 avril 2013 à 17:03
CDT,
Emerich
21 avril 2013 à 16:47
19 avril 2013 à 12:24
tu veux pas fournir l'exe en le renommant
avec une lib static . et prevenir ..
Merci
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.