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

Frage Entwicklung C und C++

GELÖST

FileSystemWatcher Pfad ändern ?

Mitglied: EinTyp.

EinTyp. (Level 1) - Jetzt verbinden

05.09.2011, aktualisiert 13:16 Uhr, 5035 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
Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 2 MinutenMicrosoft

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Heiß diskutierte Inhalte
Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall10 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS9 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...

Windows Netzwerk
Zugriff auf den Desktop Ordner eines anderen Rechners in der gleichen Domäne
gelöst Frage von JensNomaWindows Netzwerk6 Kommentare

Guten Abend, ich war neulich mit unserem Admin am Tisch gesessen. Er an seinem Notebook angemeldet mit dem Domänen-Admin, ...