AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ShellFolder anlegen?

Ein Thema von ThoPos · begonnen am 30. Jun 2004 · letzter Beitrag vom 9. Jul 2004
Antwort Antwort
Seite 2 von 4     12 34      
ThoPos

Registriert seit: 30. Jun 2004
Ort: Köln
69 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#11

Re: ShellFolder anlegen?

  Alt 1. Jul 2004, 22:03
Bekomme ebenfalls den Fehler an genannter Stellen. Da Du schon Kontakt aufgenommen hast, warte ich mal auf Seine/Deine Antwort.
Thomas
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#12

Re: ShellFolder anlegen?

  Alt 1. Jul 2004, 22:19
Delphi-Quellcode:
function NtMyGetProcessHeap: Pointer; assembler;
asm
  mov EAX, _TEB[FS:0].Peb
  mov EAX, [EAX]._PEB.ProcessHeap
end;
in
Delphi-Quellcode:
function NtMyGetProcessHeap: Pointer; assembler;
asm
        mov eax, fs:[0]._TEB.Peb
        mov eax, [eax]._PEB.ProcessHeap
end;
ändern.
  Mit Zitat antworten Zitat
Blutiger Anfänger
(Gast)

n/a Beiträge
 
#13

Re: ShellFolder anlegen?

  Alt 1. Jul 2004, 22:39
Siehe Nicos Post. Übrigens bei mir geht es. Wird geupdated - dauert ein paar Minuten.

Die Hardlink-Unit sollte auch nur benutzt werden, wenn nur NT4 verfügbar ist. Sonst lieber die echte CreateHardLink-API von Windows 2000 und aufwärts benutzen.

PS: Besser so?
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#14

Re: ShellFolder anlegen?

  Alt 1. Jul 2004, 22:48
Gut, dann brauchst du die CPU-Ausgabe wohl nicht mehr. Ich schreibe gerade und sehe dann in der Vorschau, dass du wieder editiert hast. Na ja, jetzt ist die Zugriffsverletzung zwar weg, aber irgendwie komme ich auf keinen grünen Zweig. Was habe ich bei dem Prinzip jetzt nicht kapiert?

1. Es geht nur auf NTFS, das weiß ich.
2. Als "zu verlinkendes Ziel" kann ich aber auch einen Ordner auf einer FAT-Partition nehmen (?)

Aber selbst mit "nur NTFS"-Ordnern klappt´s nicht. Olli hat in der Datei einen Kommentar zu "CreateSoftLink"
CreateSoftLinkW('C:\1', 'C:\WINNT'); Okay, ich hab´s für meine K-Partition abgeändert und erhalte "E/A-Fehler 105", wenn ich das Programm als Admin starte. Mit Benutzerrechten sehe ich gar keine Fehlermeldung. Angelegt wird im Fall #1 (Admin) übrigens eine Datei "1" mit 0 Bytes.


@Blutiger Anfänger: Die API-Funktion von Win XP funktioniert bei mir übrigens nicht. Ich habe sie selbst importiert, aber irgendwie ist das Ergebnis immer false ... Hm ...
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#15

Re: ShellFolder anlegen?

  Alt 1. Jul 2004, 22:50
Zitat von Blutiger Anfänger:
PS: Besser so?
Wenn Du die o.g. Änderung meinst, jo, der Delphi 6 BASM übersetzt [fs:0].x in [x] (Crash) statt fs:[x] (besser ).

Zitat von MathiasSimmack:
Als "zu verlinkendes Ziel" kann ich aber auch einen Ordner auf einer FAT-Partition nehmen (?)
Nope, nur NTFS und das gleiche Laufwerk.
  Mit Zitat antworten Zitat
Blutiger Anfänger
(Gast)

n/a Beiträge
 
#16

Re: ShellFolder anlegen?

  Alt 1. Jul 2004, 22:56
CreateSoftLink() ist ein Protoyp und noch nicht komplett implementiert. Wenn ich mal Zeit finde, mache ich das. Ansonsten nicht verwechseln: Hardlinks sind quasi "kreuzverbundene Dateien" wie man sie unter DOS mit FAT fürchtete. Softlinks werden vom Dateisystemtreiber (erst ab NTFS 5!) geparst und sind auch als Junction Points, Reparse Points und Mount Points bekannt.

Hardlinks gehen nur auf NTFS und dürfen auch nur auf NTFS liegen - Ziel und Quelle!

Softlinks dürften theoretisch (nie versucht mangels FAT-Partition) von einer NTFS-Partition auf eine FAT oder eine ander Partition zeigen dürfen (aber wie gesagt, theoretisch!). Versuchs und mail mir als Feedback.

@Nico: Nein ich meinte die geupdatete Version hardlinks.zip|rar und ln.zip|rar
Nicht gleiches Laufwerk, sondern gleiche Partition!
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#17

Re: ShellFolder anlegen?

  Alt 1. Jul 2004, 23:03
Zitat von Blutiger Anfänger:
Nein ich meinte die geupdatete Version hardlinks.zip|rar und ln.zip|rar
Ah, nach dem Leeren des Browser-Caches geht's auch

Zitat von Blutiger Anfänger:
Nicht gleiches Laufwerk, sondern gleiche Partition!
Wir meinen das gleiche
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#18

Re: ShellFolder anlegen?

  Alt 1. Jul 2004, 23:04
Dann ist´s (um auf das ursprüngliche Thema dieses Beitrags zurückzukommen) entweder ein Softlink (denn ich kann bspw. eine Verknüpfung eines FAT-Ordners im XP-Startmenü ablegen, die dann auch als Ordner angezeigt und geöffnet wird - so wie´s ThoPos beschrieben hat), oder es ist eine API-Funktion, die ich bis jetzt noch nicht entdeckt habe, und die automatisch den Ordner, die "target.lnk" und die versteckte "desktop.ini" anlegt.

PS: Aber trotzdem würde mich interessieren, wo mein Fehler liegen soll:
Delphi-Quellcode:
function CreateHardLinkA(lpFileName, lpExistingFileName: LPCTSTR;
  lpSecurityAttributes: PSecurityAttributes): bool; stdcall;
  external 'kernel32.dll';

procedure TForm1.Button1Click(Sender: TObject);
begin
  if(not CreateHardLinkA('k:\test','k:\Programme',nil)) then
    ShowMessage('Och nö! :o(')
end;
K:\ ist meine NTFS-Partition, und ich habe sogar Admin-Rechte.
  Mit Zitat antworten Zitat
Blutiger Anfänger
(Gast)

n/a Beiträge
 
#19

Re: ShellFolder anlegen?

  Alt 1. Jul 2004, 23:11
Softlinks habe ich bisher nicht auf Dateien zustande bekommen, obwohl ich noch immer überzeugt bin, daß es möglich sein muß.

Zum erstellen von Softlinks empfehle ich die Shellextension von Arni:
www.arniworld.de (down?)
www.arniworx.de (down?)

Wer es haben will kann mir mailen, hab die letzte Version.

@Mathias: Der Fehler ist, daß Hardlinks nur auf Dateien gehen! Ist k:\Programme eine Datei?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#20

Re: ShellFolder anlegen?

  Alt 1. Jul 2004, 23:13
Moin Mathias,

was sagt denn GetLastError dazu?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz