public void Run() { // Setze Flag für "Thread läuft" this.running = true; // Hole den Stream für's schreiben theStream = this.connection.GetStream(); // Stream zum lesen holen streamReader = new StreamReader(theStream); while (!stop) { try { // Hole die Daten ab und schreibe sie in die "Console" String data = streamReader.ReadLine(); if (data != null && data != "") { CmdConsole.instance().newMessages(data); } } catch (Exception) { // bis ein Fehler aufgetreten ist stop = true; } } // Setze das Flag "Thread läuft" zurück this.running = false; }
public static CmdConsole instance() { if (uniqueInstance == null) { uniqueInstance = new CmdConsole(); } return(uniqueInstance); }
public void send(Keys taste) { if (specialKeys.ContainsKey(taste)) { SendKeys.Send(specialKeys[taste]); CmdConsole.instance().newMessages("Key gesendet: " + specialKeys[taste].ToString()); } else { string tmp = taste.ToString(); SendKeys.Send(tmp); CmdConsole.instance().newMessages("Key gesendet: " + tmp); } }
public void send(string theKey) { try { Keys key = (Keys)Enum.Parse(typeof(Keys), theKey, true); if (specialKeys.ContainsKey(key)) { SendKeys.Send(specialKeys[key]); CmdConsole.instance().newMessages("Key gesendet: " + specialKeys[key].ToString()); } else { SendKeys.Send(theKey); CmdConsole.instance().newMessages("Key gesendet: " + theKey.ToString()); } } catch (Exception) { } }
// Verschiebe alle Ordner und Dateien in das destDir private bool mergeDirectory(string sourceDir, string destDir) { bool successful = true; try { DirectoryInfo source = new DirectoryInfo(sourceDir); DirectoryInfo target = new DirectoryInfo(destDir); if (source.FullName.ToLower() == target.FullName.ToLower()) { return(false); } // Check if the target directory exists, if not, create it. if (Directory.Exists(target.FullName) == false) { Directory.CreateDirectory(target.FullName); } // Copy each file into it's new directory. foreach (FileInfo fi in source.GetFiles()) { if (!File.Exists(Path.Combine(target.ToString(), fi.Name))) { fi.MoveTo(Path.Combine(target.ToString(), fi.Name)); } } // Copy each subdirectory using recursion. foreach (DirectoryInfo diSourceSubDir in source.GetDirectories()) { DirectoryInfo nextTargetSubDir = target.CreateSubdirectory(diSourceSubDir.Name); successful = mergeDirectory(sourceDir + diSourceSubDir.ToString() + "\\", nextTargetSubDir.ToString()); } } catch (Exception ex) { CmdConsole.instance().newMessages("Fehler beim verschieben: " + ex.Message); successful = false; } return(successful); }
public bool PreFilterMessage(ref Message m) { Keys keyCode = (Keys)(int)m.WParam & Keys.KeyCode; if (m.Msg == WM_KEYDOWN) { CmdConsole.instance().newMessages(keyCode.ToString()); if (keyCode.ToString() == "V") { return(false); //weitergeben der Taste } return(true); //Nicht weitergeben der Taste } if (m.Msg == WM_KEYUP) { return(true); } return(false); }
public static CmdConsole instance() { if (uniqueInstance == null) uniqueInstance = new CmdConsole(); return uniqueInstance; }
public void archiveFile() { //Root dirs können nicht archiviert werden if (!isJustARootForMultiDir) { //Die Datei wird archiviert, dazu wird der Rootordner in den Archiv Ordner verschoben //Sind mehrer Dateien im gleichen ordner verschiebe nicht den gesamten Ordner //Es wird nur das niedrigste Verzeichnis, dass keine anderen abspielbaren Dateien enthält verschoben //Sind keine anderen Dateien mehr vorhanden wird der Ordner mit allen anderen nicht abspielbaren Dateien/Ordnern verschoben string sourceFile = filePath; string sourceRootDir = null; string destRootDir = null; if (downloadRootDir != null) { destRootDir = Properties.Settings.Default.ArchivDir + "\\" + downloadRootDir + "\\"; sourceRootDir = Properties.Settings.Default.DownloadDir + "\\" + downloadRootDir + "\\"; } string destFile = getDestinationFilePath(); try { //Erster Fall: kein Ordner im Downloadverzweichnis sondern nur einzelne Datei //->Verschiebe diese einzelne Datei in den Archiv Ordner if (sourceRootDir == null) { //Wenn Datei bereits vorhanden, einfach source löschen da Doppelung if (File.Exists(destFile)) { File.Delete(sourceFile); } else { File.Move(sourceFile, destFile); } } //Zweiter Fall: Kein multiDir und Zieldirectory nicht vorhanden //->Verschiebe den gesamten Ordner ins Archiv mit gesamten Inhalt else if (!isMultiDirectory && !Directory.Exists(destRootDir)) { Directory.Move(sourceRootDir, destRootDir); } //Dritter Fall: Kein multiDir aber Zielordner ist bereits vorhanden, es war evtl. ein multiDir //->Prüfe jede Ordner-Ebene bis zur Datei und verschiebe alle vorhandenen Ordner und Dateien else if (!isMultiDirectory && Directory.Exists(destRootDir)) { if (mergeDirectory(sourceRootDir, destRootDir)) { Directory.Delete(sourceRootDir, true); } } //Vierter Fall: multiDir //->Belasse die anderen abspielbaren Dateien im Ordner aber verschiebe die maximale Ordnerebene mit nur einer abspielbaren Datei else if (isMultiDirectory) { if (!Directory.Exists(destRootDir)) { Directory.CreateDirectory(destRootDir); } string tmpDestFile = destFile.Remove(0, destRootDir.Length); string[] destDirectorys = tmpDestFile.Split('\\'); //Verschiebe die Datei da es keine weiteren Ordner gibt if (destDirectorys.Length == 1) { File.Move(sourceFile, destFile); } //Gehe jeden weiteren Ordner durch und prüfe ob noch andere abspielbare Dateien vorhanden sind //Sobald keine mehr vorhanden sind, verschiebe den Ordner oder Datei else { string actualDestDir = destRootDir; string actualSourceDir = sourceRootDir; for (int i = 0; i < destDirectorys.Length - 1; i++) { //Speicher aktuelle Ordner Ebene ab actualDestDir += destDirectorys[i] + "\\"; actualSourceDir += destDirectorys[i] + "\\"; //Erstelle Zielordner falls nicht vorhanden if (!Directory.Exists(actualDestDir)) { Directory.CreateDirectory(actualDestDir); } //Suche andere Dateien String[] mkvFiles = System.IO.Directory.GetFiles(actualDestDir, "*.mkv", System.IO.SearchOption.AllDirectories); String[] aviFiles = System.IO.Directory.GetFiles(actualDestDir, "*.avi", System.IO.SearchOption.AllDirectories); //Sind keine anderen Dateien vorhanden verschiebe den ganzen Ordner if (mkvFiles.Length == 0 && aviFiles.Length == 0) { if (mergeDirectory(actualSourceDir, actualDestDir)) { Directory.Delete(actualSourceDir); } } //Wenn Dateien vorhanden sind aber es keinen weiteren Ordner gibt, verschiebe nur die einzelne Datei else if (i + 2 == destDirectorys.Length) { File.Move(sourceFile, destFile); } } } } } catch (Exception ex) { CmdConsole.instance().newMessages("Fehler beim kopieren ins Archiv " + ex.Message); } } }