Dateiauflistung//Ereignisse Auffangen

the_duke_at

Grünschnabel
Hi, ich hab da zwei kleine Fragen zu MFC
Wie kann ich die Dateien in einem Ordner auflisten und den Namen jeder Datei einer Variable zuweisen?


und wie kann ich Maus und Tastaturereignisse die AUSERHALB des Dialogs stattfinden auffangen?

mfg
theduke
 
1. Mit FindFirstFile/FindNextFile (http://www.tutorials.de/forum/showthread.php?s=&threadid=162841&highlight=FindFirstFile)
2. Pack die Pfade beispielsweise in einen std::vector< CString > oder noch besser einen std::vector< std::string >. Eine std::list würde auch gehen. Siehe <vector>, <string>, <list> sowie Schlüsselwort basic_string in den MSDN.
3. Mit GetAsyncKeyState() kannst du den Zustand der Tastatur auslesen. Um tatsächlich auf Ereignisse reagieren zu können, wirst du wohl mit Hooks arbeiten müssen. Dabei hängst du eine eigene Windowproc in ein fremdes Fenster ein. Ich selbst habe das allerdings noch nicht ausprobiert.
 
ok danke,
zu 3.
ich will nicht reagieren, ich will nur die Anzahl der Mausclicks und Tastendrücke zählen. Das heisst ich muss GetAsyncKeyState() in einem TImer einsetzen?

und welchen Befehl gibts für die Maus?
 
Gerade wenn du zählen willst, musst du mit Hooks arbeiten. Beim Polling (alle so-und-so-viel Sekunden nachschauen) per Timer gehen dir garantiert Ereignisse durch die Lappen.

und welchen Befehl gibts für die Maus?
Keinen, soweit ich weiss. Windows ist nun mal ereignisorientiert. Korrektur: Mit DirectX oder so könntest du es vielleicht hinbekommen, aber ein Hook wäre günstiger.
 
Zuletzt bearbeitet:
Darauf gibt es keine einfache Antwort. Öffne die Datei, untersuche sie in einer Schleife zeilenweise und tue, was du zu tun hast, sobald du die richtige Zeile gefunden hast. Wie du das genau machst, hängt vom Typ von myFile ab (ich vermute, CFile). Schau dir mal die Dokumentation an.
 
ja aber in der Dokumentation hab ich nur Read() gefunden und keine Information wie man auf eine bestimmte Zeile zugreifen kann(ja CFile)
 

Neue Beiträge

Zurück