Normalerweise wird doch ausgegeben wenn ich Console.WriteLine("Test"); schreibe!
Und wenn ich Console.Read(); oder Console.ReadLine(); schreibe müsste es auch nach tasten drücke weitergehen?
Und wenn ich Console.Read(); oder Console.ReadLine(); schreibe müsste es auch nach tasten drücke weitergehen?
Code:
using System;
namespace _2003Patching
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("ddd"); //wird nicht ausgegeben
//Standart Patches
string[] NormalePatches = System.IO.Directory.GetFiles(System.IO.Directory.GetCurrentDirectory(), "Windows*.exe");
foreach (string Patch in NormalePatches)
{
System.Diagnostics.Process start = new System.Diagnostics.Process();
start.StartInfo = new System.Diagnostics.ProcessStartInfo(Patch, "-u -q -z");
start.StartInfo.WorkingDirectory = System.IO.Directory.GetCurrentDirectory();
start.StartInfo.UseShellExecute = false;
start.Start();
start.WaitForExit();
//kb und q nummern in string array
Microsoft.Win32.RegistryKey Key = Microsoft.Win32.Registry.LocalMachine;
Key = Key.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\HotFix");
string[] kbqNummern = Key.GetSubKeyNames();
//testen
bool vorhanden = false;
foreach (string kbq in kbqNummern)
{
if (Patch.Contains(kbq))
{
vorhanden = true;
}
}
if (vorhanden == false)
{
Console.Write(Patch + "nicht installiert!"); //wird nicht ausgegeben
Console.Beep(2300,1000); //piept nicht
break; //für beschleunigten ausstieg
}
}
//Patches mit anderen Argumenten
string[] anderePatches = System.IO.Directory.GetFiles(System.IO.Directory.GetCurrentDirectory(), "GER*.exe");
foreach (string Patch in anderePatches)
{
System.Diagnostics.Process start = new System.Diagnostics.Process();
start.StartInfo = new System.Diagnostics.ProcessStartInfo(Patch, "/C:\"dahotfix.exe /q /n\" /q");
start.StartInfo.WorkingDirectory = System.IO.Directory.GetCurrentDirectory();
start.StartInfo.UseShellExecute = false;
start.Start();
start.WaitForExit();
}
Console.ReadLine(); //bei drücken von Enter und sonstigen Tasten passiert nix
}
}
}