| Autor |
Beitrag |
delphi10
      
Beiträge: 447
Erhaltene Danke: 2
W2K, XP, Vista64, Win7 64
RAD-Studio 2010
|
Verfasst: Mi 23.01.08 16:31
Hallo
Auf meinem Desktop tummeln sich mittlerweile einige zig Icon (139) die ihr Ziel auf verschiedenen Laufwerken liegen haben. Bedingt durch grössere Umbauten änderten sich die Laufwerksbuchstaben und ich hatte keinen Bock mit der rechten Maustaste/Eigenschaften fehlerhafte Links aufzuspüren. Mit bordmitteln kommt an den Inhalt einer LNK-Datei nicht heran, es wird immer die Ziel - Appl. aufgerufen. Also habe ich mal ein Programm gebaut, das alle LNK aus \..\USER\Desktop und \..\ALL USER\Desktop analysiert und die Ziele übersichtlich auflistet. So kann ich gezielt händisch auf die Icons zugreifen und dann das neue Ziel oder den neuen Laufwerksbuchstaben eintragen. Leider gibt es eine ganze Anzahl von unterschiedlichen Konstruktionen für die Angabe der Ziel-Information in der LNK-Datei. Viele Sonderfälle habe ich schon berücksichtigt, aber bestimmt nicht alle.
Immer dann, wenn keine gültige Partition-Bezeichnung gefunden wird, wird eine Fehlerzeile mit ausgegeben. Getestet habe ich mit W2K SP4 und XP SP2. Wäre nett, wenn ihr euch das mal anschauen und ein wenig Feedback liefern könntet. Nach dem Start der EXE den Analyse-Button klicken, danach gegebenenfalls die Ergebnisdatei speichern und/oder drucken.
Ganz grob der Funktionsablauf:
1. Vergebene Laufwerksbuchstaben ermitteln
2. Damit die Partion- bzw. Laufwerksbezeichnungen einlesen.
3. Rekursiv die LNK-Dateien öffen und die unter 2. erm. Bezeichner dort suchen
4. Den darauf folgenden String als Zielangabe auslesen und in einer RichEdit ausgeben.
Aber wie gesagt, diese einfache Struktur in der LNK ist leider nicht immer so aufgebaut, ich musste da etwas tricksen. Um so interessanter wird euer Feedback sein. Ich freue mich auf Anregungen und Kritik.
Grüße delphi10
Edit: Programm aktualisiert. V 1.0.7.1
Edit: Aktualisiert auf V 1.0.7.2
Wie immer, ein Fehler gefixt, zwei neue eingebaut.. Aber jetzt geht's
Edit: Aktualisiert auf V1.0.7.3 16.02.2008
Edit: Aktualisiert auf V1.0.7.4 21.02.2008
Edit: Aktualisiert auf V1.0.7.5 Neues Bedienkonzept
Edit: Neue Version 1.0.7.6
Edit: Neue Version 1.0.7.7 vom 31.03.2008 (u.a. mit XP-Style)
Edit: Neue Version 1.0.7.8 vom 06.04.2008
Edit: Neue Version 1.0.7.9 vom 14.04.2008
EDit: Neue Version 1.0.7.10 vom 17.04.2008
Edit: Neue Version 1.0.7.11 vom 21.04.2008 Größenanpassung
Edit: Version 1.0.7.11.1 vom 29.04.2008 Ressource-Fresser eliminiert/OHNE BackGround-Aktivität(<=1%)
Edit: Version 1.0.7.12 vom 03.05.2008 Ergebnisspeicherung und Druck gefixt. CPU-Lastanzeige
Edit: Version 1.0.7.14 vom 11.05.2008 mit Link-Korrektur (s. Programm/Info)
Edit: Version 1.0.7.15 vom 16.05.2008 Click in den Spaltenkopf sortiert Inhalt alphabetisch (s. Programm/Info)
Einloggen, um Attachments anzusehen!
Zuletzt bearbeitet von delphi10 am Mi 21.05.08 17:04, insgesamt 27-mal bearbeitet
|
|
delphi10 
      
Beiträge: 447
Erhaltene Danke: 2
W2K, XP, Vista64, Win7 64
RAD-Studio 2010
|
Verfasst: Fr 25.01.08 09:42
Hallo
Ich hätte mich sehr über eine Raktion - wie auch immer - gefreut. Zum Beispiel, ob das Tool überhaupt auf anderen Rechnern läuft oder ob es nur Blödsinn macht. Vielleicht hat ja mal jemand fünf Minuten Zeit.
Gruß Delphi10 
|
|
AHT
      
Beiträge: 207
|
Verfasst: Fr 25.01.08 10:16
Bin grad dabei - etwas Geduld...
|
|
AHT
      
Beiträge: 207
|
Verfasst: Fr 25.01.08 11:05
Insgesammt finde ich die Idee nicht schlecht - in deinem Programm scheint es da an einigen Ecken noch zu haken:
1.) Bei mir laufen auf einem Rechner immer mehrere Betriebsysteme. Sind die besagten Ordner nicht auf Laufwerk C, werden scheinbar auch unter 2000/XP keine Verknüpfungen gefunden.
2.) Auf meinen älteren Notebooks habe ich eine Auflösung von 800x600 - Programm ist da nicht bedienbar.
3.) Auf dem Rechner mit den Ordnern auf Laufwerk C werden zwar Verknüfungen angezeigt, Ziele können aber nicht ausgelesen werden.
4.) Wenn schon Verknüfungen - warum denn nicht auch die aus dem Startmenü?
5.) Hättest du mal einen Screenshot davon, wie das Programm bei dir in etwa aussieht und was es anzeigt?
6.) Unter nicht NT basierenden Systemen funktioniert das ganze ganz und gar nicht - soll es aber wohl auch nicht.
Fazit: Leider läuft dein Programm scheinbar auf keinem meiner Rechner.
Moderiert von Narses: BMP in JPG konvertiert; bitte nächstes mal nicht soo fette BMPs hochladen... 
Einloggen, um Attachments anzusehen!
|
|
delphi10 
      
Beiträge: 447
Erhaltene Danke: 2
W2K, XP, Vista64, Win7 64
RAD-Studio 2010
|
Verfasst: Fr 25.01.08 12:56
Hallo AHT
Danke für den Test.
Anbei ein Screenshot.
In dem Fall, daß gar keine Anzeige erfolgt, könnte die Ursache darin zu finden sein, daß die Verzeichnisnamen zweiteilig sind. Also etwa "Administrator.Name". Readlink kann im Moment nur den ersten Teil auslesen.
Die Pfadangabe "C:\Documents ... " ist in der Tat fest vorgegeben. Bin gar nicht auf die Idee gekommen...
Update folgt mit:
Auswahl Systempfad
Korrektureingabe Username
Gruß Delphi10
|
|
delphi10 
      
Beiträge: 447
Erhaltene Danke: 2
W2K, XP, Vista64, Win7 64
RAD-Studio 2010
|
Verfasst: Fr 25.01.08 12:59
uuups, aber jetzt
Einloggen, um Attachments anzusehen!
|
|
AHT
      
Beiträge: 207
|
Verfasst: Fr 25.01.08 19:18
delphi10 hat folgendes geschrieben: | Hallo AHT
Danke für den Test.
Die Pfadangabe "C:\Documents ... " ist in der Tat fest vorgegeben. Bin gar nicht auf die Idee gekommen...
Update folgt mit:
Auswahl Systempfad
Korrektureingabe Username
Gruß Delphi10 |
Hallo Delphi10...
Du machst da was grundlegendes falsch, halte dich da doch an die Standards! Schau dir mal die APIs SHGetSpecialFolderLocation, SHGetPathFromIDList und CoTaskMemFree an. Die Registry wird dir da beim Ermitteln des Pfades auch weiterhelfen.
Gruß
AHT
|
|
delphi10 
      
Beiträge: 447
Erhaltene Danke: 2
W2K, XP, Vista64, Win7 64
RAD-Studio 2010
|
Verfasst: Sa 26.01.08 12:58
[quote=" AHT"] delphi10 hat folgendes geschrieben: | Hallo AHT
Du machst da was grundlegendes falsch, halte dich da doch an die Standards! Schau dir mal die APIs SHGetSpecialFolderLocation, SHGetPathFromIDList und CoTaskMemFree an. Die Registry wird dir da beim Ermitteln des Pfades auch weiterhelfen.
Gruß
AHT |
Na ja, ist mir schon klar. Sollte halt schnell gehen und in meinem Umfeld gibt es keine Rechner mit einer anderen Konfiguration. Da ich aber sowieso das Konzept nochmal überarbeite kommt natürlich der allgemeine Ansatz zum tragen.
Generell ist aber der innere Aufbau einer LNK-Datei alles andere als transparent, es gibt auch kaum Informationen darüber. Und mit Trial and Error läuft man eben mal an die Wand. Ich bleib auf jeden Fall dran.
Gruß Delphi10
|
|
delphi10 
      
Beiträge: 447
Erhaltene Danke: 2
W2K, XP, Vista64, Win7 64
RAD-Studio 2010
|
Verfasst: So 27.01.08 15:48
Hallo
Habe mal Schularbeiten gemacht..
AHT, wär schön, wenn du es dir nocheinmal anschauen könntest. Danke.
(Jetzt nur auf W2K getestet, aber XP müsste auch laufen)
Gruß Delphi10
Edit: Anlage gelöscht. Aktuelle Version s. erstes Post. Delphi10
_________________ Salus populi suprema lex esto
Zuletzt bearbeitet von delphi10 am Mo 11.02.08 15:47, insgesamt 1-mal bearbeitet
|
|
Martok
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: So 27.01.08 16:07
Mal ne ganz dumme Frage... was hindert dich da dran das IShellLink-Objekt zu benutzen? Dafür ist es schließlich da...
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
|
|
delphi10 
      
Beiträge: 447
Erhaltene Danke: 2
W2K, XP, Vista64, Win7 64
RAD-Studio 2010
|
Verfasst: So 27.01.08 23:01
Martok hat folgendes geschrieben: | | Mal ne ganz dumme Frage... was hindert dich da dran das IShellLink-Objekt zu benutzen? Dafür ist es schließlich da... |
Hallo Martok
... eigentlich nichts. Aber bevor ich irgendetwas abkupfere will verstehen wie es funktioniert. Und so tastet man (also ich) sich Schritt für Schritt an die finale Version heran.
IShellLink ist nicht gerade einfach zu begreifen, ich hab mir die letzten Tage ziemlich die Ohren gebrochen damit. Aber jetzt läuft ReadLink auch damit - und ich muß zugeben - wesentlich stabiler. Ich werd die Tage noch ein Update hochladen.
Insgesamt ist das Thema von ReadLink ja nicht sooo prickelnd, eben nur ein Tool für den Notfall. Umso mehr freue ich mich über die doch wertvollen Tipps von Euch.
Gruß Delphi10
|
|
delphi10 
      
Beiträge: 447
Erhaltene Danke: 2
W2K, XP, Vista64, Win7 64
RAD-Studio 2010
|
Verfasst: Do 31.01.08 10:25
delphi10 hat folgendes geschrieben: | Martok hat folgendes geschrieben: | | Mal ne ganz dumme Frage... was hindert dich da dran das IShellLink-Objekt zu benutzen? Dafür ist es schließlich da... |
Hallo Martok
... eigentlich nichts. Aber bevor ich irgendetwas abkupfere will verstehen wie es funktioniert.
Gruß Delphi10 |
Hallo
Ja, nun weiß ich wie es geht und habe Readlink umgebaut und vielfältig getestet. Trotzdem wäre ich Euch dankbar, wenn ihr mir Eure Kritik um die Ohren hauen würdet. Wäre schön, wenn jemand mal 5 Minuten Zeit, sich das anzuschauen.
Danke
Gruß Delphi10
Edit: Anlage gelöscht. Aktuelle Version s. erstes Post. Delphi10
_________________ Salus populi suprema lex esto
Zuletzt bearbeitet von delphi10 am Mo 11.02.08 15:48, insgesamt 1-mal bearbeitet
|
|
AHT
      
Beiträge: 207
|
Verfasst: Sa 02.02.08 11:53
Funktioniert bei mir immer noch nicht - es werden keine Verknüfungen gefunden - kann aber im Augenblick nur mit dem Rechner testen, der den von dir untersuchten Ordner nicht auf C: hat.
|
|
delphi10 
      
Beiträge: 447
Erhaltene Danke: 2
W2K, XP, Vista64, Win7 64
RAD-Studio 2010
|
Verfasst: Sa 02.02.08 16:59
AHT hat folgendes geschrieben: | | Funktioniert bei mir immer noch nicht - es werden keine Verknüfungen gefunden - kann aber im Augenblick nur mit dem Rechner testen, der den von dir untersuchten Ordner nicht auf C: hat. |
Hallo AHT
erstmal schönen Dank für deine Mühe.
Readlink setzt aber keine festen Pfade mehr voraus. Alles wird über Delphi- bzw. Windowsmethoden aufgerufen wie z.Bsp. IShellLink etc. Da aber alle Rechner in meiner Umgebung - und das sind nicht wenige - ausschließlich mit W2K oder XP mit einer Standardinstallation laufen, kann ich deine Situation nicht unbedingt simulieren. Aber im W2K oder XP Umfeld funktioniert ReadLink eigentlich gut. Wobei ich die Funktionsweise doch erheblich gegenüber der ersten Version verbessert habe. In der jetzt in Arbeit befindlichen Version kann man die fehlerhaften Link's aus ReadLink heraus löschen bzw. ändern/anpassen. Werde ich die Tage mal hochladen.
Schönes Wochenende noch
Gruß Delphi10
|
|
pigfacejoe
      
Beiträge: 332
Erhaltene Danke: 1
Win 10, Ubuntu
Delphi,Javascript, PHP, Java, Python
|
Verfasst: Di 05.02.08 13:01
Hi delphi10,
Ich habe mir auch mal Zeit genommen und dein Programm getestet!
Vorab: Schöne Idee, ich hätte nicht gedacht, dass das Tool bei mir "tote" Verknüpfungen findet!
Nun zu meiner Kritik:
- Dein Fenster sollte insgesamt kleiner sein , denn bei einer Auflösung von 1024x768 muss ich unten am Fensterrand immer so umständlich hin und her scrollen.
- Ausserdem wünsche ich mir auch eine Funktion, mit der ich auf Knopfdruck all diese fehlerhaften Verknüpfungen löschen kann (Denn 83 Verknüpfungen von Hand ist nicht gerade bequem), oder gibt's diese Funktion und ich sehe sie nicht?
- Beim ausdrucken gibt es ein Problem mit der Skalierung, mitten im Zielpfad reicht der Platz auf dem Blatt nicht aus un der Pfad wird einfach abgehackt...
Ansonsten: Echt nützlich! Weiter so!
Gruss
PigfaceJoe
|
|
delphi10 
      
Beiträge: 447
Erhaltene Danke: 2
W2K, XP, Vista64, Win7 64
RAD-Studio 2010
|
Verfasst: Mi 06.02.08 01:47
pigfacejoe hat folgendes geschrieben: | Hi delphi10,
Ich habe mir auch mal Zeit genommen und dein Programm getestet!
XxX
- Ausserdem wünsche ich mir auch eine Funktion, mit der ich auf Knopfdruck all diese fehlerhaften Verknüpfungen löschen kann (Denn 83 Verknüpfungen von Hand ist nicht gerade bequem), oder gibt's diese Funktion und ich sehe sie nicht?
- Beim ausdrucken gibt es ein Problem mit der Skalierung, mitten im Zielpfad reicht der Platz auf dem Blatt nicht aus un der Pfad wird einfach abgehackt...
Ansonsten: Echt nützlich! Weiter so!
Gruss
PigfaceJoe |
Hallo Pigfacejoe
Danke für deinen Test.
Wie schon oben angekündigt, kommt das Löschen in der nächsten Version. D.h. die gibt es schon, aber ich möchte auch gleich ein Desktop-Backup mit einbauen, so das man nach einem Auflösungswechsel (Start im abgesicherten Modus etc.) nicht alle Ikons zu Fuß arrangieren muß. Das gibt es zwar als einzelne Tools, aber dann habe ich alles zusammen.
Beim Drucken könnte ich ja ein CR/LF nach dem ersten Teil einbauen, auf die Abstandsspunkte verzichten und das Ziel in die nächste Zeile schreiben. DIN A4 Landscape sollte man aber trotzdem einstellen, oder gleich A3 Quer. Ja gut, einen A3 Drucker hat leider nicht jeder.
Gruß Delphi10
|
|
delphi10 
      
Beiträge: 447
Erhaltene Danke: 2
W2K, XP, Vista64, Win7 64
RAD-Studio 2010
|
Verfasst: Fr 08.02.08 11:51
Hallo
Mit dieser Version 1.0.0.7 habe ich vorerst mal eine finale Version fertig. Hier sind fast alle Anregungen von Euch eingeflossen.
Die wichtigsten Punkte habe ich unter dem ? beschrieben. Ein Punkt fehlt (aus Zeitgründen) allerdings noch: Automatische Anpassung der MainForm an die unterschiedlichen Bildschirmauflösungen - kommt aber noch.
Ne kleine Spielerei habe ich mal eingebaut. Mit einfachsten Methoden habe ich den Autornamen im ?-Fenster geschützt gegen Manipulation. Gelingt es trotzdem jemand den Namen sinnvoll zu ändern?
Ich hoffe immer noch auf rege Kritik und auch auf weitere Anregungen.
Gruß Delphi10
Edit: Anlage gelöscht. Aktuelle Version s. erstes Post. Delphi10
_________________ Salus populi suprema lex esto
Zuletzt bearbeitet von delphi10 am Mo 11.02.08 15:49, insgesamt 1-mal bearbeitet
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: So 10.02.08 14:07
Moin!
Bitte aktualisiere dein Programm im ersten Beitrag, wie es die Regeln für diese Sparte vorsehen. Danke.
Grund: So muss nicht jeder immer den ganzen Thread durchlesen, um an die aktuellste Version zu kommen.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Blawen
      
Beiträge: 616
Erhaltene Danke: 33
Win XP, Vista, 7
Delphi 5 Prof., BDS 2006 Prof. RAD Studio XE
|
Verfasst: So 10.02.08 16:42
Hallo Delphi10
2 Sachen sind mir aufgefallen:
- Wenn ich unter "Ceck List" alle Optionen auswähle, werde ich mit Fehlermeldungen überhäuft --> fehlermeldung link analyzer 1.JPG
Wenn man, wie bei mir rund 7000 Verknüpfungen hat, artet es in einer Dauerklickerei aus.
- Ein Teil des Textes ist Dir abhanden gekommen... --> fehlermeldung link analyzer 2.JPG
Was mir auch nicht so gefällt, ist die hellgrüne Umrandung der Schalter "Icon save" und "Icon restore".
Irgendwie passt es nicht zum restlichen Design.
Gruss
Blawen
Einloggen, um Attachments anzusehen!
_________________ Es kompilert, wir können ausliefern.
Und es kompiliert wieder - das Update ist fertig - bitte 100 Euro
|
|
delphi10 
      
Beiträge: 447
Erhaltene Danke: 2
W2K, XP, Vista64, Win7 64
RAD-Studio 2010
|
Verfasst: So 10.02.08 18:34
Blawen hat folgendes geschrieben: | Hallo Delphi10
2 Sachen sind mir aufgefallen:
Blawen |
Hallo Blawen
Vielen Dank für deinen ausfühlichen Test - nur so kann ein Programm optimiert werden.
Wenn Du "alles" auswählst, werden Dir natürlich fast alle Links doppelt oder dreifach angezeigt. User\Programme ist ja z. Bsp. nur eine Untermenge von User\Startmenü - also entweder oder.
Die Fehlermeldung "Kein Datenträger" kommt sicher aus der Auswahl sendto oder recent - muß ich noch abfangen. Ansonsten habe ich alle Ergebnisse mit LWB A: rausgefiltert.
Die Default-Pfadangabe setze ich etwas höher - wobei das bei mir aber reichlich Platz hat (bei 1280x1024). Generell habe ich auch bei anderen Programmen immer wieder Schwierigkeiten mit den unterschiedlichen Fonts. Z. Bsp. ist Arial auf Rechner 1 nicht unbedingt identisch mit Arial auf Rechner 2.
Das hellgrüne Panel kommt wieder weg, war nur als eyecatcher gedacht.
Werde ReadLink in den nächsten Stunden aktualisieren (s. dann ganz Oben erstes Posting).
Gruß Delphi10
_________________ Salus populi suprema lex esto
|
|