Autor Beitrag
Bergmann89
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Di 01.01.08 21:53 
HI,

ich hab jetzt rausgefunden, das man in der Desktop.ini von den einzellenen Ordnern einen Hintergrund für
den Ordner festlegen kann. Jetzt hab ich mir n Prog geschrieben, was die Desktop.ini editiert bzw. neu
schreibt, damit ich in den Ordnern Hintergrundbilder hab. Aber das wird nur in manchen Ordnern übernommen,
kann sein das ich da noch was anderes festlegen muss?!
Wenn jemand bescheid weiß, kann er mir dann bitte helfen, ich zermürb mir schin n ganzen tag den Kopf^^

MfG & Thx Bergmann.


Moderiert von user profile iconjasocul: Topic aus Windows API verschoben am Di 01.01.2008 um 22:24
Moderiert von user profile iconNarses: Topic aus Off Topic verschoben am Do 03.01.2008 um 12:49
DrRzf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 260

Win XP Prof
D7 Enterprise
BeitragVerfasst: Di 01.01.08 22:57 
nur Spezielle Ordner woran du scheiterst ?
SystemOrdner oder sowas ?

EDIT:
guck mal da. ist das selbe projekt, villeicht kanst du dich ja mit dem author kurzschliessen.
www.delphi-forum.de/...ighlight=desktop+ini

_________________
rein statistisch gesehen darf man keiner statistik trauen die man nicht selbst gefälscht hat.
Bergmann89 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Mi 02.01.08 21:29 
HI...
Ne, sind irgendwelche Ordner, die nich im zusammenhang mit
Windows stehen, kann auch n neuen ordner erstellen,mit dem
das dann nich geht. Aber wenn ich dann auf Eigenschaften
--> Anpassen --> Sysbol ändern klicke und ein beliebiges
Sysmbol auswähle, dann geht der hintergrund, sprich die
Desktop.ini wird dann erkannt. Also muss er ja irgendwas
mit dem ordmner gemacht haben! Naja ich wer mir ma den
Link angucken, THX


Zuletzt bearbeitet von Bergmann89 am Do 03.01.08 05:06, insgesamt 1-mal bearbeitet
Fabian E.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 554

Windows 7 Ultimate
Visual Studio 2008 Pro, Visual Studion 2010 Ultimate
BeitragVerfasst: Mi 02.01.08 23:04 
Hast du den ordner in einen sytemordner umgewandelt?

wenn nicht dann geht das nicht...

gruß
Bergmann89 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Do 03.01.08 05:05 
HI,
wenn ich dem Ordner n neues Icon geb, dann wird das doch kein Systemodner, oder?!
Weil wenn das Symbol einmal geändert wurde, dann geht das!

MfG Bergmann.
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Do 03.01.08 12:39 
user profile iconBergmann89 hat folgendes geschrieben:
wenn ich dem Ordner n neues Icon geb, dann wird das doch kein Systemodner, oder?!
Da haste Recht, deswegen musst du ja den Ordner in einen Systemordner umwandeln, weil das nicht automatisch passiert.

user profile iconBergmann89 hat folgendes geschrieben:
Weil wenn das Symbol einmal geändert wurde, dann geht das!
Wenn du das Symbol einmal mit dem System-Dialog geänder hast, ist der Ordner ja ein Systemordner. Also kannst du auch die desktop.ini-Datei verändern, und das Symbol ändert sich.
DaKirsche
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 187

Win XP Pro, SuSe Linux 7.3 - 10.2, Win 2k3 Server, Win 2000, Win NT 4.0
Delphi 2006 Pro, Java, HTML, SQL, PHP, CSS
BeitragVerfasst: Do 03.01.08 12:51 
Hey Bergmann89,
mal den betreffenden Abschnitt aus meinem Source:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
//Prozedur: Desktop.ini anlegen --> Änderungen speichern
procedure TForm1.SpeedButton4Click(Sender: TObject);
var
  tmpINI: TIniFile;
begin
if DirectoryExists(sUsedDirectory) then begin

tmpINI:= TIniFile.Create(sUsedDirectory+'Desktop.ini');
try
  with tmpINI do begin
    if s_NewIconFile<>'' then begin
      WriteString('.ShellClassInfo','IconFile',s_NewIconFile);
      WriteInteger('.ShellClassInfo','IconIndex',IconIndex);
    end;
    if Edit2.Text<>'' then
      WriteString('.ShellClassInfo','InfoTip',Edit2.Text);

    //WriteInteger('.ShellClassInfo','ConfirmFileOp',0);
    WriteString('ExtShellFolderViews','Default','{BE098140-A513-11D0-A3A4-00C04FD706EC}');
    if s_NewBackground<>'' then begin
      WriteString('{BE098140-A513-11D0-A3A4-00C04FD706EC}','IconArea_Image',s_NewBackground);
    end;
    WriteInteger('{BE098140-A513-11D0-A3A4-00C04FD706EC}','Attributes',1);
    if ColStr<>'' then
      WriteString('{BE098140-A513-11D0-A3A4-00C04FD706EC}','IconArea_Text',ColStr);
  end;
finally
tmpINI.UpdateFile;
    if Length(PChar(Edit1.text + 'Desktop.ini')) > 3 then
    begin
      SetFileAttributes(PChar(Copy( PChar(sUsedDirectory + 'Desktop.ini'), 1,LastChar(sUsedDirectory + 'Desktop.ini''\')-1)), FILE_ATTRIBUTE_SYSTEM);
  end;
  tmpINI.Free;
  SetFileAttributes(PChar(sUsedDirectory + 'Desktop.ini'),FILE_ATTRIBUTE_HIDDEN);

end;
if FileExists(sUsedDirectory+'Desktop.ini'then
  ShowMessageDlgEx('Der Speichervorgang war erfolgreich!','Speichern erfolgreich',101,MB_OK)
else
  ShowMessageDlgEx('Speichern war leider nicht erfolgreich!'+sLineBreak+'Bitte versuchen Sie es noch einmal!','Speichern fehlgeschlagen',101,MB_OK);
end
else
ShowMessageDlgEx('Das angegebene Verzeichnis existiert nicht!','ungültiges Verzeichnis',101,mb_ok);
end;


Du musst die INI-File zu einem Systemfile machen, damit das übernomen wird.

MFG
DaKirsche

_________________
Die simpelsten Fehler sind meist die Schwersten...
Bergmann89 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Sa 05.01.08 16:10 
HI,

habs hinbekommen, nur noch eine Frage, warum überprüfst du
ob der Pfad länger als 3 zeichen ist, allein "desktop.ini"
hat schon mehr als 3 Zeichen! also ist die Aussage immer war!?

MfG & Thx Bergmann.
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: So 06.01.08 13:03 
Er will damit überprüfen, ob sein Delphi noch funktioniert :mrgreen:

Ne, im Ernst, das würde mich allerdings auch mal interessieren! Oder setzt PChar bei dir manchmal aus!?
Silas
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 478

Windows XP Home
Delphi 2005, RAD Studio 2007, MASM32, FASM, SharpDevelop 3.0
BeitragVerfasst: So 06.01.08 13:11 
Soweit ich das versteh, will er damit überprüfen, ob es sich um einen Ordner und nicht um ein Laufwerk handelt ("C:\" oder "C:" wären damit ausgeschlossen). 'desktop.ini' muss natürlich aus der Abfrage raus.

_________________
Religionskriege sind nur Streitigkeiten darüber, wer den cooleren imaginären Freund hat ;-)
DaKirsche
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 187

Win XP Pro, SuSe Linux 7.3 - 10.2, Win 2k3 Server, Win 2000, Win NT 4.0
Delphi 2006 Pro, Java, HTML, SQL, PHP, CSS
BeitragVerfasst: So 06.01.08 15:14 
Oh... :gruebel: Naja...was das soll weiss ich auch im Moment nicht...wie gut, dass es Leute gibt, die sich den Quelltext angucken....

Werde das mal Revue passieren lassen und mal überlegen, wozu die Abfrage da war^^
Aber das mit den Laufwerken klingt schon ziemlich sinnvoll :nixweiss:

Naja...danke für den Hinweis...ich grübel dannmal los :gruebel: :autsch:
MFG
DaKirsche

_________________
Die simpelsten Fehler sind meist die Schwersten...
36779
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mo 25.11.13 22:31 
Hallo,

... fast 6 Jahre später

ich habe gerade das Problem versucht nur mit Boardmitteln über die Konsole zu lösen, bekomme die Attribute aber nicht so gesetzt. hat da jemand eine Idee? Die Attribute vom Verzeichnis werden nicht gesetzt und die Ini darin meldet: Systemdatei/versteckte Datei wird nicht zurück gesetzt.

Den Code habe ich auch gerade gefunden bei edn.embarcadero.com/article/27508 von 2002, die Abfrage >3 Zeichen ist nur um Root-Verzeichnisse auszuschließen.

Grüße

edit: habs hinbekommen in der Konsole für alle Unterordner: for /d %%a in (e:\dir\*) do attrib +r "%%a"
# /r statt /d: rekursiv alle Unterebenen