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 :
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 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