![]() |
Ordnerüberwachung im Windows-Explorer
Hi, habe damals unter Win98 ein Programm geschrieben, welches herausfinden kann, welcher ordner im Windows-Explorer / Arbeitsplatz gerade geöffnet wurde. Nur irgendwie geht dieser code jetzt unter WinXP garnicht mehr.
Woran kann das denn liegen? Mit welchem Code könnte es denn gehen? Gruss Scorpion |
Moin Scorpion,
wie hast Du es denn unter 98 gemacht? |
Hi, ich verwende den folgenden Code...
Delphi-Quellcode:
Aufgerufen wird der code durch
function EnumChildProc(Wnd : hWnd; SL : TStrings) : Boolean; StdCall;
var szFull : Array[0..MAX_PATH] of char; //Buffer for window caption begin Result:=Wnd<>0; if Result then begin GetWindowText(Wnd, szFull, SizeOf(szFull)); // put window text in buffer if (pos(SL[0],StrPas(szFull))>0) // Test for text and (SL.IndexOfObject(TOBject(Wnd))< 0) // Test for duplicate handles then SL.AddObject(StrPas(szFull),TObject(Wnd)); // Add item to list EnumChildWindows(Wnd,@EnumChildProc, LongInt(SL)); //Recurse into child windows end; end; function EWindowsCode(Wnd: hWnd; lParam: LPARAM): Boolean; Export; StdCall; var Buffer : Array[0..99] of char; hn : HWnd; begin GetWindowText(Wnd, Buffer, 100); if(StrLen(Buffer) <> 0) then begin SearchListview1(StrPas(Buffer)); SearchListview2(StrPas(Buffer)); end; Result:= True; end; EnumWindows(@EWindowsCode, LongInt(Self)) in einem Timer Gruss Scorpion [Edit=Christian Seehase]Delphi Tags hinzugefügt[/Edit] |
Moin Scorpion,
ich hab' jetzt kein XP zur Hand, aber könnte es daran liegen, dass in der Caption des Explorers der Folder nicht angezeigt wird? |
Hi,
genau das ist es, habs eben ausgetestet, aber wie kann ich per code einstellen, dass der komplette Pfad in der titelleiste angezeigt wird thx scorpion |
Moin Scorpion,
wenn Du mit Deiner Idee das ganze per Code einzustellen, die Überlegung verknüpfst dies auf einem fremden Rechner auch zu machen, damit Dein Programm läuft, möchte ich Dir nur mal kurz meine Einstellung zu Programmen kundtun, die ungefragt meine Systemeinstellungen zu verändern gedenken: Es gibt wohl keine Software die unersetzlich ist, und so eine Software wäre schneller wieder gelöscht, als installiert ;-) Soll heissen: Die Software muss sich auf das System einstellen, und nicht das System auf sich. |
Gut gebrüllt Löwe!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz