Autor |
Beitrag |
LowSkills
      
Beiträge: 111
Windows XP
Delphi 6 Professional
|
Verfasst: So 06.05.07 14:10
Hallo zusammen! Ist es möglich, einen Ordner zu erstellen (mit 'mkdir'), und dem Ordner statt des 0-8-15 Ordner Icons ein Icon zuzuweisen?
Hope so
Danke im Voraus!
_________________ Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
Zuletzt bearbeitet von LowSkills am Mo 07.05.07 11:42, insgesamt 1-mal bearbeitet
|
|
matze
      
Beiträge: 4613
Erhaltene Danke: 24
XP home, prof
Delphi 2009 Prof,
|
Verfasst: So 06.05.07 14:56
Sowas kannst nicht mit dem einfachen Befehl mkdir machen.
Um dem Ordner ein anderes Icon zu verpassen musst du mit der desktop.ini arbeiten.
Zu diesem Thema gab es schon einen Haufen Topics hier im Forum. Such doch mal danach: DESKTOP.INI
_________________ In the beginning was the word.
And the word was content-type: text/plain.
|
|
LowSkills 
      
Beiträge: 111
Windows XP
Delphi 6 Professional
|
Verfasst: Mo 07.05.07 10:59
Aloha. Ich mal wieder
Hab mir diverse threads zum Thema desktop.ini angeschaut. Auch die FAQ und Wie-Mache-ich-was Leitfäden hab ich durchgelesen. Ich muss allerdings geschehen, dass ich die Syntax nicht ganz verstehe. Hab immer was mit mehreren "Abschnitten" gefunden, wo immer drei Parameter eingetragen werden. Aber so wirklich hab ich nicht durchblickt, was ich anstelle der "Platzhalter" eintragen muss.
Ich will doch nur einem Ordner ein Icon zuweisen...
Kann vielleicht einer einen quellcode posten, wo ich quasi nur den Folder umbenennen muss und den Pfad des ICons?
Das würde mir echt helfen.
Dannach lern ich das, versprochen 
_________________ Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
|
|
Svenkan
      
Beiträge: 55
WinXP
Delphi 7 Enterprise
|
Verfasst: Mo 07.05.07 19:42
Quelltext 1: 2:
| [.ShellClassInfo] IconFile=%SystemRoot%\system32\shell32.dll |
Ich denke mal, dass dort bei IconFile der Pfad zum Icon angegeben werden muss.
|
|
LowSkills 
      
Beiträge: 111
Windows XP
Delphi 6 Professional
|
Verfasst: Mi 09.05.07 09:09
Damit kann ich nur periphär etwas anfangen... Um nicht zu sagen: Gar nicht
Geht es etwas Präziser?
Ich versteh ja die ganze Syntax, geschweige denn den Vorgang an sich überhaupt nicht...
Danke für eure Hilfe, denn ich hab Sie nötig 
_________________ Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
|
|
matze
      
Beiträge: 4613
Erhaltene Danke: 24
XP home, prof
Delphi 2009 Prof,
|
Verfasst: Mi 09.05.07 09:31
Naja so schwer ist das doch nicht.
Also:
- Du legst einen Ordner an.
- In diesem Ordner legst du die desktop.ini an mit dem Inhalt, den dir
Svenkan gepostet hat. Du muss dann nur den Pfad zu dem Icon austauschen
- Die desktop.ini musst du dann noch mit ein paar speziellen Eigenschaften belegen, aber da findest du genug Anleitungen hier im Forum.
_________________ In the beginning was the word.
And the word was content-type: text/plain.
|
|
LowSkills 
      
Beiträge: 111
Windows XP
Delphi 6 Professional
|
Verfasst: Mi 09.05.07 10:06
Hallo Matze
(schläfst du eigentlich nie?  )
Also zum Mitschreiben: (Muss gerade "offline" denken, da ich grad kein delphi zur Hand habe)
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| mkdir('irgendwo\irgendeinfolder');
(+div. Parameter)SaveToFile('irgendwo\irgendeinFolder\desktop.ini'); |
Werd mich gleich nochmal zu Wort melden, nachdem ich den Artikel Customizing Folders with Desktop.Ini durchforstet habe. Für interessierte:
msdn.microsoft.com/l...extending/custom.asp
btw: wie kann ich beim Posten einen Link setzen?
/edit: Wie lustig, das macht der ja automatisch ^^
_________________ Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
|
|
LowSkills 
      
Beiträge: 111
Windows XP
Delphi 6 Professional
|
Verfasst: Mi 09.05.07 10:53
Da bin ich wieder,
ich habe es geschafft... Na ja, nicht ganz ohne Hilfe  Ich habe mit das Ding bei MSDN durchgelesen (siehe Link oben). Hab dann mal ganz gutgläubig ne Desktop.Ini erstellt und musste feststellen, das funzt nich so. Lag wohl an den anderen Parametern, die ich eigentlich für unnötig hielt.
Bei MSDN stand, drin:
Zitat: „[...]To use a custom folder.htt template, you must include these two sections into the dektop.ini file [...]“
Daraus habe ich den Schluss gezogen (Da ein Template ja nicht angedacht war, ich müsste das nicht einbinden. Muss ich aber wohl doch!?
Ein Blick „Hinter die Kulisse“ von DaKirsche’s Proggi ( www.delphi-forum.de/...ghlight=desktop+ini) hat geholfen, hab mir da mal eine desktop.ini zusammenbauen lassen und dann reingeschaut, was so drinsteht. Wird das Ding jetzt einfach in meinem Quelltext as seen in DaKirsche’s Desktop.Ini zusammenbauen lassen. So schwer ist es tatsächlich gar nicht...
Danke an alle für die Hilfe und Respekt@DaKirsche  , das Programm ist echt gelungen.
Das Layout überzeugt (Ich liebe Layouts ^^) und es ist einfach aber funktionell
Thread geschlossen ^^ - Heinz glücklich 
_________________ Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
|
|
matze
      
Beiträge: 4613
Erhaltene Danke: 24
XP home, prof
Delphi 2009 Prof,
|
Verfasst: Mi 09.05.07 11:21
schlafen? Wozu schlafen? Nee Scherz beiseite.
Schön, dass du es doch noch hinbekommen hast. Du warst selber ja schon recht weit.
Aber diese 2 kleinen Absätze in dem MSDN Artikel hätten dich schon zum Erfolg geführt:
MSDN Artikel hat folgendes geschrieben: | Use the following procedure to customize a folder's style with Desktop.ini:
* Use PathMakeSystemFolder to make the folder a system folder. You can also make a folder a system folder from the command line by using attrib +s FolderName.
* Create a Desktop.ini file for the folder. You should mark it as hidden and read-only to protect it from being modified. |
_________________ In the beginning was the word.
And the word was content-type: text/plain.
|
|
LowSkills 
      
Beiträge: 111
Windows XP
Delphi 6 Professional
|
Verfasst: Mi 09.05.07 21:18
-.-
Es ist zum Aus-Der-Haut Fahren...
DaKirsche hat ja dieses Programm geschrieben. Ich habs runtergeladen und das Programm funktioniert tadellos, alles was ich machen will, mach das Programm und egal welcher Ordner: Das Icon stimmt.
Ich lasse automatisiert genau den ABSOLUT identischen Text speichern, habe hundert mal die Pfadangabe verfolgt, es stimmt alles, aber bei meinem automatisierten speichern ist der Erfolg wie beim Russischen Roulette - In seltenen Fällen funktioniert es - Dann wieder nicht - Dabei wurde der Sourcecode nicht mal an einer einzigen Stelle verändert und die Ordner und icons haben sich kein Stück von der Stelle bewegt.
Ich bin grad schwer gefrustet...
DaKirsche? Kannst du mir den Quellcode deines Proggis mal raussuchen?
Hier nochmal mein Zeuch:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TForm1.Button1Click(Sender: TObject); begin Form1.MM_INPUT.Clear; Form1.MM_INPUT.Lines.LoadFromFile(ExtractFilePath(ParamStr(0))+'Desktop.txt'); Form1.MM_INPUT.Lines[1]:='IconFile='+GetSpecialFolder($26)+'\Power Tools\Uses\Ico\Power Tools.Ico';
mkdir(GetSpecialFolder(CSIDL_PROGRAMS)+'\Power Tools'); Form1.MM_INPUT.Lines.SaveToFile(GetSpecialFolder(CSIDL_PROGRAMS)+'\Power Tools\Desktop.ini'); [...] mkdir(GetSpecialFolder(CSIDL_DESKTOP)+'\Power Tools'); Form1.MM_INPUT.Lines.SaveToFile(GetSpecialFolder(CSIDL_Desktop)+'\Power Tools\Desktop.ini'); [...]
mkdir(GetSpecialFolder($26)+'\Power Tools'); Form1.MM_INPUT.Lines.SaveToFile(GetSpecialFolder($26)+'\Power Tools\Desktop.ini'); [...] end; |
Und hier der Inhalt der Desktop-Ini, die bei mir erzeugt wird...
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| [.ShellClassInfo] IconFile=C:\Programme\Power Tools\Uses\Ico\Power Tools.Ico IconIndex=0 ConfirmFileOp=0 [ExtShellFolderViews] = [] PersistMoniker=file:Attributes=1 IconArea_Text=0x00000000 |
Und jetzt zum allgemeinen UNverständniss der exact gleiche Quelltext. Diesmal stammt er aus dem Programm von DaKirsche...
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| [.ShellClassInfo] IconFile=C:\Programme\Power Tools\Uses\Ico\Power Tools.Ico IconIndex=0 ConfirmFileOp=0 [ExtShellFolderViews] = [] PersistMoniker=file:Attributes=1 IconArea_Text=0x00000000 |
Woran liegt das? Die *.Ini's - egal wie erstellt, sind absolut identisch!
-.-
Hilfe...
_________________ Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
|
|
LowSkills 
      
Beiträge: 111
Windows XP
Delphi 6 Professional
|
Verfasst: Sa 12.05.07 19:53
wollt nochmal nachhaken!
Kann es sein, dass das Prog von DaKirsche irgendwie dem System mitteilt, dass es jetzt ne *.ini Dat gibt, und das der die verwenden soll, oder warum ignoriert mein sys so wehemennt, was ich dem schreibe, wie gesagt, der text in der ini ist genau der selbe...
200 PULS!

_________________ Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
|
|
Regan
      
Beiträge: 2157
Erhaltene Danke: 72
Java (Eclipse), Python (Sublimetext 3)
|
Verfasst: So 13.05.07 10:29
Ich weiß nich warum du dir das so schwierig machst. also bei mir funktioniert das ganze so:
Desktop.ini 1: 2: 3:
| [.ShellClassInfo] IconFile=%ProgramFiles%\Borland\BDS\3.0\Bin\bds.exe IconIndex=0 |
Das is jetzt mal das Icon vom BDS.
|
|
_frank_
      
Beiträge: 343
Erhaltene Danke: 1
Win XP
Delphi 3 Prof / Turbo Delphi Explorer
|
Verfasst: So 13.05.07 15:56
er hat wohl das posting von Matze überlesen, wo drinsteht dass der Ordner das System-Attribut (attrib +s ordner) besitzen muss...damit und einer desktop.ini wie von dir (regan) funktionierts bei mir auch ohne probs
und für unsere Copy&Paste-Freunde mal ein allgemeineres Beispiel (nicht jeder hat bds installiert und im gleichen ordner)
Quelltext 1: 2: 3:
| [.ShellClassInfo] IconFile=%windir%\system32\shell32.dll IconIndex=60 |
Frank
|
|
LowSkills 
      
Beiträge: 111
Windows XP
Delphi 6 Professional
|
Verfasst: Mo 14.05.07 10:31
ich will mich ja echt nocht blöd anstellen, aber auch auf die Gefahr hin, dass ichs tue:
Hab jetzt mittlerweile verstanden, dass ich dem Ordner noch ein Attribut verpassen muss.
Aber wie?
In der Zeile Attributes der *.Ini?
Da steht doch auch nichts anderes bei da kirsches ini-quelltext?
Ich versteh das einfach nicht???
WIE???
o.0
_________________ Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
|
|
_frank_
      
Beiträge: 343
Erhaltene Danke: 1
Win XP
Delphi 3 Prof / Turbo Delphi Explorer
|
Verfasst: Mo 14.05.07 22:33
gut, dann frag ich mal ganz blöd:
kannst du lesen???
es reichen die 3 Zeilen der Ini-Datei, nix mit attributes etc.
das Attribut setzt du über die DOS-Eingabebox.
Einfach "attrib +s " hinschreiben (ohne Anführungsstriche mit Leerzeichen am Ende und ohne Enter zu drücken)
dann ziehst du den Ordner einfach in die Dos-Box, damit dann der Ordnerpfad hinter dem "attrib +s " steht. dann nur noch Enter und spätestens nach nem F5 im Ordner, wo dein neuer Ordner liegt, sollte sich das icon ändern, wenn darin die ini liegt...
www.gidf.de
Gruß Frank
|
|
LowSkills 
      
Beiträge: 111
Windows XP
Delphi 6 Professional
|
Verfasst: Di 15.05.07 11:15
Hallo Frank.
Danke für die google Seite...
Das die drei vier Zeilen in der INI ausreichen mögen, habe ich ja verstanden, und genau das, was du dann geschrieben hast, von wegen DOS und make the folder a systemfolder, das ist bei mir der Punkt gewesen, wo der Frosch ins Wasser springt, weil ich nähmlich, nach Studium der o. g. Msdn-Threads und u. a. deiner Aussagen einfach nicht dahinter gestiegen bin, wie ich dem Folder das beibringe. Ich ging die ganze Zeit davon aus, dass ich irgendwie in der ini dieses gedöns reinschreiben muss wegen atribute + s und so. Und genau das war die Frage, wie ich dem Folder das beibringe, und nicht mehr, was in der INI zu stehen hat. Bin jetzt aber dank msdn-unterseite fündig geworden und hoffe, mich da selber irgendwie durchzuwurschteln.
Danke trotzdem an alle, die geholfen haben.
Auch an dich Frank, wenn ich demnächst weiss, wonach ich suche, dann kann ich das auch tun... gerne auch per www.gidf.de.
Hab mir die Seite direct in die Favourites gelegt, für alle fälle 
_________________ Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
|
|