AGB  ·  Datenschutz  ·  Impressum  







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

Vista und Schreibrechte

Ein Thema von Dragon27 · begonnen am 19. Jul 2009 · letzter Beitrag vom 19. Jul 2009
 
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#1

Vista und Schreibrechte

  Alt 19. Jul 2009, 13:17
Hallo zusammen,

ich bin gerade am Verzweifeln...

Ich möchte MP3-Dateien von A nach B verschieben. Dies Funktioniert auch soweit unter XP aber unter VISTA ist das bei manchen Rechnern nicht möglich.
Es hagelt nur noch Fehlermeldungen bzw. er verweigert das kopieren.
Nur wenn man in der Registerdatei des Ordners bei Sicherheit JEDER einträgt und auch volle Schreibrechte vergibt funktioniert es...

Nur das kann ja nicht die Lösung sein, zumal das sehr unsicher ist .

Wie könnte ich nun das Ganze so umsetzen, dass mein Programm Zugriff hat. Ich habe hier aus dem Forum den
folgenden Code zum kopieren der Dateien. Ich bin mir aber nicht sicher, ob nicht der das Problem ist.

Hier der Code:

Delphi-Quellcode:
function DoFileWork(
  aWnd: HWND; aOperation: UINT; aFrom, aTo: TStrings; aFlags: FILEOP_FLAGS
  ): Integer;
var
  I: Integer;
  FromPath, ToPath: string;
  SHFileOpStruct: TSHFileOpStruct;
begin
  FromPath := '';
  for I := 0 to aFrom.Count - 1 do
    FromPath := FromPath + aFrom.Strings[I] + #0;
  FromPath := FromPath + #0;

  if Assigned(aTo) then
  begin
    ToPath := '';
    for I := 0 to aTo.Count - 1 do
      ToPath := ToPath + aTo.Strings[I] + #0;
    ToPath := ToPath + #0;
    if aTo.Count > 0 then
      aFlags := aFlags or FOF_MULTIDESTFILES;
  end;

  with SHFileOpStruct do
  begin
    Wnd := aWnd;
    wFunc := aOperation;
    pFrom := PChar(FromPath);
    if Assigned(aTo) then
    begin
      pTo := PChar(ToPath)
    end else begin // target available
      pTo := nil;
    end; // target not available
    fFlags := aFlags;
  end; // structure
  Result := SHFileOperation(SHFileOpStruct);
end;

if dxBarButton14.Down then dofilework(self.Handle,FO_COPY,von,nach,FOF_MULTIDESTFILES+FOF_RENAMEONCOLLISION) else dofilework(self.Handle,FO_MOVE,von,nach,FOF_MULTIDESTFILES+FOF_RENAMEONCOLLISION);

// Die Variablen von, nach sind Stringlisten die gefüllt werden.
Danke!

P.s.: Ich habe gerade gesehen, dass das Programm die Dateien in das Programmverzeichnis kopiert oO.
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
 


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