Autor Beitrag
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: Fr 19.05.06 10:26 
Hallo,

ich habe ein kleienes Problem bei meinem Desktop.ini Maker (>>Freewareprojekte).

Seitdem ich die Datei Desktop.ini erstellen lasse werden in meiner Verzeichnisauswahl nur noch die Verzeichnisse angezeigt, nicht mit einer solchen Datei ausgestattet wurden.

Die relevante Prozedur ist folgende :
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:
45:
46:
47:
48:
procedure TForm1.Image12Click(Sender: TObject);
var tempdir : string;
Deskini : TIniFile;
begin
//erstellt ini-Datei im angegebenen Ordner
  //create ini-File in choosen folder
if edit1.text<>'' then begin
if DirectoryExists (edit1.Text) then begin
try
 try
  Deskini := TIniFile.Create(edit1.text + 'Desktop.ini');
  with Deskini do
  begin
       WriteString('.ShellClassInfo''IconFile', edit2.Text);
       WriteString('.ShellClassInfo''IconIndex','0');
       WriteString('.ShellClassInfo''ConfirmFileOp','0');
       WriteString('ExtShellFolderViews''{BE098140-A513-11D0-A3A4-00C04FD706EC}''{BE098140-A513-11D0-A3A4-00C04FD706EC}' );
       WriteString('{BE098140-A513-11D0-A3A4-00C04FD706EC}','PersistMoniker','file://Folder.htt');
       WriteString('{BE098140-A513-11D0-A3A4-00C04FD706EC}','Attributes','1');
      if (edit3.text<>''then WriteString('{BE098140-A513-11D0-A3A4-00C04FD706EC}','IconArea_Image',edit3.text);
       WriteString('{BE098140-A513-11D0-A3A4-00C04FD706EC}','IconArea_Text',ColStr);
    UpdateFile;
    ShowErrorMessage('Desktop.ini erfolgreich erstellt');
    end;
    except
    ShowErrorMessage('Dieser Ordner kann nicht bearbeitet werden');
    positstat('Fehler bei Desktop.ini!');
    end;
    SetFileAttributes(PChar(Edit1.text + 'Desktop.ini'), FILE_ATTRIBUTE_SYSTEM);
    positstat('Erstellung der Desktop.ini erfolgreich!');

    if Length(PChar(Edit1.text + 'Desktop.ini')) > 3 then
  begin
      tempDir := Copy( PChar(Edit1.text + 'Desktop.ini'), 1,LastChar(Edit1.text + 'Desktop.ini''\')-1);
      SetFileAttributes(PChar(tempDir), FILE_ATTRIBUTE_SYSTEM);
  end;
finally
Deskini.Destroy;
positstat('Bereit');
end;
end else ShowErrormessage('Das Verzeichnis existiert nicht!');
end else
begin
    ShowErrorMessage('Bitte wählen Sie ein Verzeichnis aus!');
    positstat('kein Verzeichnis ausgewählt!');
  positstat('Erstellung von Desktop.ini fehlgeschlagen');
end;
end;


Meine DirectoryListBox zeigt keine meiner bereits "bestückten" Verzeichnisse mehr an und ich weiss nicht woran das liegen kann.
wäre über ein paar Antworten froh ;)
Mfg
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Fr 19.05.06 13:04 
Also zeigt auch der Explorer diese nicht mehr an? Dann generierst du defekte desktop.ini Dateien generieren?