Fermeture d'une console

Fermé
dulquen Messages postés 409 Date d'inscription jeudi 17 avril 2014 Statut Membre Dernière intervention 8 décembre 2020 - Modifié par dulquen le 6/06/2014 à 12:12
dulquen Messages postés 409 Date d'inscription jeudi 17 avril 2014 Statut Membre Dernière intervention 8 décembre 2020 - 6 juin 2014 à 13:44
Bonjour à tous,

Je sais que la question a été posée plusieurs fois puisque j'ai consulté plusieurs postes mais bien évidemment aucun ne règle mon soucis.

J'ai une application en C# qui compte le nombre de ligne dans un fichier texte. Ce fichier contient une ligne avec le FQDN d'une des machines du réseau et la seconde ligne l'adresse MAC qui correspond. Pour chaque ligne trouvée (donc 1400 en tout), il supprime la chaine de caractères inutile (Nmap scan for) pour garder le FQDN et supprime la chaine de caractère de la seconde ligne (NetBiosMAC) puis concatène les 2 pour ne garder sur une même ligne que le FQDN, l'adresse IP et l'adresse MAC de chaque machine.
Mon programme fonctionne très bien et m'ouvre une fenêtre console où il m'affiche toutes mes lignes et un compteur de ligne.
J'ai 2 questions :

1. Comment rendre invisible cette console ?
2. Comment faire pour qu'elle se ferme d'elle-même ?

J'ai testé plusieurs choses :
- Application.Exit();
- Mettre le Main en "int" et faire un return 0;
- Environment.Exit(0);
- Script .bat pour l'ouverture en @Echo off de la fenêtre ...

Bref rien ne fonctionne. Les bibliothèques sont bonnes mais ça ne marche pas.
Voici le code de l'appli :
namespace NMAP.Classes
{
class LoadFile
{
public LoadFile()
{ }
public void Construct_File()
{

int counter = 0;
string line;
string sname = String.Empty; string sAutre = String.Empty;
string sNew = String.Empty;
bool bnetBios = true;

StreamReader file =
new StreamReader(@"/tst10/LISTE-MAC-IP.txt");
StreamWriter NewFile = new StreamWriter(@"/tst10/New.txt");
line = file.ReadLine();
while ((line != String.Empty) && (line != null) && line.Length > 1)
{

if (line.Substring(0, 4) == "Nmap")
{
sname = line.Substring(21);
line = file.ReadLine();
if (line != String.Empty)
{
int pos = line.IndexOf("NetBIOSMAC:");
if (pos != -1)
{
sAutre = line.Substring(pos+11);
sNew = sname + " " + sAutre;
bnetBios = true;
}
else
{
bnetBios = false;
sNew = sname;
}
}
}
NewFile.WriteLine(sNew);
Console.WriteLine(sNew);
counter++;
if (bnetBios) line = file.ReadLine();

}
file.Close();
NewFile.Close();
Console.WriteLine("il y a {0} lines.", counter);
Console.ReadLine();
}
}
}

Le Main :

namespace NMAP
{
class Program
{
static void Main(string[] args)
{
/* Construction du Fichier de Sortie */
Classes.LoadFile ld = new Classes.LoadFile();
ld.Construct_File();
}
}
}

Quelqu'un saurait m'aider ?
Merci !

1 réponse

dulquen Messages postés 409 Date d'inscription jeudi 17 avril 2014 Statut Membre Dernière intervention 8 décembre 2020 187
Modifié par dulquen le 6/06/2014 à 13:44
Je rajoute que mettre un "return;" à la fin de ma fonction ne change rien à l'exécution...
0