Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst FileSystemWatcher Pfad ändern ?

Mitglied: EinTyp.

EinTyp. (Level 1) - Jetzt verbinden

05.09.2011, aktualisiert 13:16 Uhr, 5064 Aufrufe, 18 Kommentare

FileSystemWatcher Pfad ändern ?

Hallo Community,

In meinem Programm soll ein "fileSystemWatcher" einen Ordner überwachen. Ich möchte aber in meinem Programm den Pfad des "flieSystemWatchers" ändern, also den Ordner den er überwachen soll. Das sollte zb. durch einen Folderbrowser oder eine Textbox geschehen. Das Programm wird in Visual C# geschrieben. Ich hab schon viele Möglichkeiten versucht aber keine hat funktioniert, und ich hoffe ihr könnt mir helfen.
Zum Code möchte ich noch sagen dass er noch nicht ganz ausgearbeitet ist weil ich an dieser Stelle hänge.

Hier der Code:
01.
using System; 
02.
using System.Collections.Generic; 
03.
using System.ComponentModel; 
04.
using System.Data; 
05.
using System.Drawing; 
06.
using System.Linq; 
07.
using System.Text; 
08.
using System.Windows.Forms; 
09.
using System.IO; 
10.
 
11.
namespace WindowsFormsApplication1 
12.
13.
    public partial class Form1 : Form 
14.
15.
        public Form1() 
16.
17.
            InitializeComponent(); 
18.
19.
         
20.
        private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e) 
21.
22.
            label3.Text = "Aktion entdeckt"; 
23.
            fileSystemWatcher1.Path = folderBrowserDialog1.SelectedPath;  
24.
25.
 
26.
        private void radioButton1_CheckedChanged(object sender, EventArgs e) 
27.
28.
            label1.Text = "Überwachung Aktiv"; 
29.
            label3.Text = "Keine Aktion"; 
30.
31.
 
32.
        private void radioButton2_CheckedChanged(object sender, EventArgs e) 
33.
34.
            label1.Text = "Überwachung Deaktiviert"; 
35.
            label3.Text = "Unbekannt"; 
36.
             
37.
 
38.
39.
 
40.
        private void button1_Click(object sender, EventArgs e) 
41.
42.
            new FolderBrowserDialog().ShowDialog(); 
43.
            label8.Text = folderBrowserDialog1.SelectedPath; 
44.
45.
         
46.
         
47.
48.
}
lg
EinTyp.
Mitglied: wiesi200
05.09.2011 um 13:05 Uhr
Hallo,

also zuerst würd ich das ganze mal als Code Formatieren.

zum anderen

01.
fileSystemWatcher1.Path = folderBrowserDialog1.SelectedPath; 
würd ich eher auf label8.Text verweisen.

Und welchen Fehler macht er denn?
Bitte warten ..
Mitglied: EinTyp.
05.09.2011 um 13:20 Uhr
Hallo,

der Fehler ist, dass ich den Pfad einmalig festlegen kann ihn aber dann nicht mehr ändern kann also der Pfad aus dem Folderbrowser wird nicht übernommen.

lg EinTyp.
Bitte warten ..
Mitglied: 99045
05.09.2011 um 14:08 Uhr
Hi,

schreib den Pfad in die Registry und lies ihn mit deinem "FileSystemWatcher" von dort ein.

Gruß
Bitte warten ..
Mitglied: wiesi200
05.09.2011 um 14:12 Uhr
Ok,

noch was

01.
private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e) 
02.
fileSystemWatcher1.Path = folderBrowserDialog1.SelectedPath; 
gehört da meiner Meinung nach nicht mal hin.
das das Event nur ausgeführt wird wenn der Watcher was findet.

ich würd den Pfad in Settings schreiben und dann im Form_Load Event zuweisen.
Bitte warten ..
Mitglied: EinTyp.
05.09.2011 um 14:37 Uhr
Erstmal danke für die Antworten aber das ist leider nicht das was ich brauche, ich will den Pfad in meinem Programm durch eine Textbox etc ändern und das bekomm ich nicht hin. Wo ich einen Pfad dafür angeben muss weis ich schon. Falls ich was falsch verstanden habe sagts mir einfach, ich bin noch ein wenig unsicher.
Bitte warten ..
Mitglied: wiesi200
05.09.2011 um 14:54 Uhr
Das mit dem ind Settings oder Registry schreiben bedeutet dann auch das er sich die eingaben merkt beim Programm Ende.

Du solltest dann noch hergehen und beim Beim Event für Textänderung der Textbox und sagen:

01.
fileSystemWatcher1.Path = textbox?.text;
Bitte warten ..
Mitglied: EinTyp.
05.09.2011 um 15:39 Uhr
Hab eure Tipps umgesetzt und es hat nichts gebracht, ich kann den Pfad einmalig in den Einstellungen festlegen, ihn dann aber nicht durch die Textbox ändern. Hab es auch schon mit nem Bestätigen Button versucht, und es hat nichts gebracht.
Bitte warten ..
Mitglied: wiesi200
05.09.2011 um 15:43 Uhr
Wie sieht denn den Code jetzt aus?
Bitte warten ..
Mitglied: 99045
05.09.2011 um 15:49 Uhr
So schwierig kann das doch nicht sein. Du überprüfst mit deinem "SystemWatcher" per Timer, ob ein bestimmter Registry-Key gesetzt ist oder sich geändert hat und verwendest den.
Mit deinem "Browser" mit der tollen Textbox setzt du den Reg-Key mit dem gewünschten Pfad.
Bitte warten ..
Mitglied: wiesi200
05.09.2011 um 15:57 Uhr
Zitat von 99045:
So schwierig kann das doch nicht sein. Du überprüfst mit deinem "SystemWatcher" per Timer, ob ein bestimmter
Registry-Key gesetzt ist oder sich geändert hat und verwendest den.
Mit deinem "Browser" mit der tollen Textbox setzt du den Reg-Key mit dem gewünschten Pfad.

Sorry, aber das hilft ihm doch auch nicht. Ob er jetzt den Wert auch einer Textbox oder der Registry ausliest ist doch sowas von egal. Und das mit dem Timer halte ich auch für absolut unnötig, für soetwas gibt's doch genug andere Events
Bitte warten ..
Mitglied: 99045
05.09.2011 um 16:02 Uhr
Was ich für nötig halte, überlasse bitte mir und welche Tipps ich gebe, bitte auch..

PS. Zitierst du in einer Briefantwort auch den gesamten Text, des Schreibers in deiner Antwort?
Bitte warten ..
Mitglied: EinTyp.
05.09.2011 um 16:14 Uhr
Zitat von 99045:
So schwierig kann das doch nicht sein.

Das dachte ich mir auch, jedenfalls funktionieren eure Tipps nicht, egal ob mit oder ohne einer tollen Textbox.
Er übernimmt den Dateipfad einfach nicht, egal wo oder wie ich ihn angebe.
Bitte warten ..
Mitglied: wiesi200
05.09.2011 um 16:44 Uhr
Zitat von 99045:
Was ich für nötig halte, überlasse bitte mir und welche Tipps ich gebe, bitte auch..
Überlasse ich dir auch, wollt dich nur drauf aufmerksam machen das es ein Schmarrn ist der auch nicht's bringt.

PS. Zitierst du in einer Briefantwort auch den gesamten Text, des Schreibers in deiner Antwort?
Wenn ich zu faul bin den Text zu löschen, JA.
Bitte warten ..
Mitglied: 99045
05.09.2011 um 16:47 Uhr
Zitat von wiesi200:
dass es ein Schmarrn ist der auch nicht's bringt.
Allen ist das Denken erlaubt. Vielen bleibt es erspart. (Curt Goetz)

EOD
Bitte warten ..
Mitglied: xNx443
05.09.2011 um 17:24 Uhr
Ich will mich ungern einmischen aber langsam artet es in kindisches Verhalten aus, wollt ihr nicht langsam zum Thema zurückkehren?
Bitte warten ..
Mitglied: wiesi200
05.09.2011 um 18:21 Uhr
Netter Spruch,

leb doch einfach mit der Kritik
Bitte warten ..
Mitglied: EinTyp.
05.09.2011 um 19:34 Uhr
Da muss ich xNx443 recht geben, das hilft nun wirklich keinem.
Bitte warten ..
Mitglied: Jenna86
04.11.2011 um 08:37 Uhr
Hi,

ich glaube das Problem ist, dass du den Path vom Filewatcher im Changed event änderst.
Wo du bei dem Button schon das Click-event abfängst ist es sicherlich sinnvoll dort die Änderung nach der Auswahl des Ordners zu machen.

Ich habe mal einen funktionierenden Prototypen entwickelt, da ich Flagfiles zum Eventauslösen benutzt habe. Falls du möchtest kann ich dir dazu mehr Infos zukommen lassen.

Aber vorerst tippe ich darauf, dass du den Path des Filewatchers nicht im richtigen Kontext setzt.

Auszüge aus meiner Lösung:
01.
        private void button_openPath_Click(object sender, EventArgs e) 
02.
03.
            String selectedPath = string.Empty; 
04.
            String selectedFile = string.Empty; 
05.
 
06.
            if (radioButton_folder.Checked) 
07.
08.
                folderBrowserDialog1.ShowDialog(); 
09.
                selectedPath = folderBrowserDialog1.SelectedPath; 
10.
11.
            else 
12.
13.
                openFileDialog1.ShowDialog(); 
14.
                selectedPath = Path.GetDirectoryName(openFileDialog1.FileName); 
15.
                selectedFile = Path.GetFileName(openFileDialog1.FileName); 
16.
17.
 
18.
            if (!Directory.Exists(selectedPath)) 
19.
20.
                selectedPath = "C:\\"; 
21.
22.
 
23.
            fileSystemWatcher.IncludeSubdirectories = true; 
24.
            fileSystemWatcher.Path = selectedPath; 
25.
            if (!selectedFile.Equals(string.Empty)) 
26.
27.
                fileSystemWatcher.Filter = selectedFile; 
28.
29.
            else 
30.
31.
                fileSystemWatcher.Filter = string.Empty; 
32.
33.
 
34.
            textBox_path.Text = selectedPath + "\\" + selectedFile; 
35.
            fileSystemWatcher.EnableRaisingEvents = true; 
36.
        }
Ich öffne je nachdem, ob ich einen ganzen Ordner oder nur eine Datei "beobachten" will ein anderes Auswahlfenster. Die Auswahl wird über die RadioButtons getroffen.

Meine Load-Methode der Form sieht übrigends so aus (erst nach Auswahl eines Ordners/einer Datei wird der Filewatcher eingeschaltet!):

01.
        private void Form1_Load(object sender, EventArgs e) 
02.
03.
            openFileDialog1.CheckFileExists = false; 
04.
            openFileDialog1.CheckPathExists = true; 
05.
            openFileDialog1.InitialDirectory = _INIT_DIRECTORY; 
06.
            folderBrowserDialog1.ShowNewFolderButton = true; 
07.
            folderBrowserDialog1.SelectedPath = _INIT_DIRECTORY; 
08.
 
09.
            fileSystemWatcher.Path = "C:\\"; 
10.
            fileSystemWatcher.NotifyFilter = //NotifyFilters.Attributes | 
11.
                //NotifyFilters.CreationTime | 
12.
                                                NotifyFilters.DirectoryName | 
13.
                                                NotifyFilters.FileName | 
14.
                //NotifyFilters.LastAccess | 
15.
                                                NotifyFilters.LastWrite //| 
16.
                //NotifyFilters.Security | 
17.
                //NotifyFilters.Size 
18.
19.
 
20.
            fileSystemWatcher.EnableRaisingEvents = false; 
21.
        }
Ich hoffe, dass dir das auch zwei Monate nach Erstellen deines Posts noch irgendwie helfen kann

Grüße
"Jenna"
Bitte warten ..
Ähnliche Inhalte
Windows 10

Pfad zu Standardprogramm nach Dateityp ändern?

gelöst Frage von MyApps2GO.deWindows 103 Kommentare

Hallo zusammen, ich würde gerne unter Windows 10 eine andere *.exe Datei für einen bestimmten Dateityp auswählen. Es geht ...

Windows Server

GPO Software Deployment Pfade ändern

gelöst Frage von CloudyWindows Server6 Kommentare

Hallo, ich habe mal eine frage, wie ändere ich ambesten den Speicherort der MSI Packete (+ mst Dateien) die ...

Microsoft Office

Pfad der Dokumentenvorlage mit einem Powershell Script ändern?

Frage von JanowitschMicrosoft Office7 Kommentare

Hallo Leute, Anwender nehmen in Word leider viel zu oft alte Dokumente als Vorlage für neue Dokumente her und ...

Windows 7

Pfad bei selbstextrahierendem Archiv einstellen oder ändern

gelöst Frage von Desert-IgelWindows 79 Kommentare

Hallo liebe Community, ich habe hier einen verzwickten Fall bei der Erstellung von selbstextrahierenden Archiven. Ich habe folgende Anforderung ...

Neue Wissensbeiträge
iOS
Updates für Iphone und Co
Information von sabines vor 2 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 1 TagWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 1 TagSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 1 TagMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Heiß diskutierte Inhalte
C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++27 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux27 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL19 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...