![]() |
Unterschied Drag/Drop XP-Vista
Hallo alle miteinander...
kann mir bitte jemand den Unterschied beim Drag/Drop zwischen XP und Vista erklären. folgender Code funktioniert unter XP aber unter Vista wird "HabeFertig" nicht ausgeführt.
Delphi-Quellcode:
Danke für Tipps... :hi:
const
WM_FERTIG = WM_USER + 100; type TJvFileListBox = class(JvDriveCtrls.TJvFileListBox) private ListeDateien: TStringList; procedure DropFiles(var Msg: TMessage); Message WM_DROPFILES; procedure HabeFertig(var Msg: TMessage); Message WM_FERTIG; end; . . . procedure TJvFileListBox.DropFiles(var Msg: TMessage); var i, Anzahl, Size: Integer; SourcePfad: PChar; begin ListeDateien:= TStringList.Create; Anzahl := DragQueryFile(Msg.WParam, $FFFFFFFF, SourcePfad, 255); for i := 0 to (Anzahl - 1) do begin Size := DragQueryFile(Msg.WParam, i , nil, 0) + 1; SourcePfad:= StrAlloc(Size); DragQueryFile(Msg.WParam,i , SourcePfad, Size); Pfad:= ExtractFilePath(StrPas(SourcePfad)); Dateiname:= Copy(StrPas(SourcePfad),Length(Pfad)+1,Length(StrPas(SourcePfad))- Length(Pfad)); ListeDateien.Add(Dateiname); StrDispose(SourcePfad); end; DragFinish(Msg.WParam); PostMessage(Handle, WM_FERTIG, 0, 0); end; procedure TJvFileListBox.HabeFertig(var Msg: TMessage); var i: Integer; begin SetForegroundWindow(FAnlagenkomponenten.Handle); if BestatigungK then begin if MessageDlg('Kopieren von ' + IntToStr(ListeDateien.Count) + ' Dateien nach ' + FAnlagenkomponenten.DocVerzeichnis.Text + ' ?',mtConfirmation, [mbYes, mbNo], 0) = mrNo then begin exit; end; end; for i := 0 to ListeDateien.Count -1 do begin Dateiname:= ListeDateien.Strings[i]; CopyFile(PChar(Pfad + Dateiname),PChar(FAnlagenkomponenten.DocVerzeichnis.Text + '\'+ Dateiname),false); end; FAnlagenkomponenten.JvFileListBox1.Update; ListeDateien.Free; end; |
Re: Unterschied Drag/Drop XP-Vista
Wird dein Programm evtl. mit admin-Rechten gestartet oder liegen die Dateien in einem Ordner auf den nicht jedes Programm zugreifen darf? Könnte mir bei Vista ein Rechte-Problem gut vorstellen.
|
Re: Unterschied Drag/Drop XP-Vista
Das Programm läuft mit Adminrechten...auf die Ordner habe ich Zugriff (Quelle + Ziel)
Danke für die schnelle Reaktion. :hi: |
Re: Unterschied Drag/Drop XP-Vista
Hallo,
wenn Dein Programm mit Adminrechten läuft, kann es keine Drop-Nachrichten von anderen (Nicht-Admin-)Programmen erhalten. Das ist aus Sicherheitsgründen so gewollt. Wenn Du Notepad als Admin startest, kannst Du auch nichts mehr reindroppen. Gruß xaromz |
Re: Unterschied Drag/Drop XP-Vista
Hallo
Zitat:
Wenn ich das Quellprogramm auch mit Adminrechten starte funktioniert das ganze wieder. ...dann muß ich mal das Konzept überdenken. :? Das Problem stellen Downloads beim Onlineupdate dar welche ins Programmverzeichnis gehören. ... findet sich eine Lösung 8) Danke nochmal...wieder etwas schlauer :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz