@himitsu
ich hatte ihn so verstanden, dass sein Programm nur Probleme hat wenn es mit Administratorrechten ausgeführt wird....
So siehts aus, entweder Drag & Drop oder, mit erhöhten Rechten beides nada
Fakt ist nunmal, daß Messages von Anwendungen mit niedrigeren Rechten nicht an welche mit höheren Rechten verschickt werden dürfen und daran läßt sich nichts ändern.
Hatte ich im ersten Post ja bereits erwähnt das UIPI da zuschlägt, wie auch das MS ja eine Funktion spendiert hat für diesen Fall um trotzdem an gewisse Messages zu kommen, nur klappt das halt nich wenn es sich um Sachen handelt die keine Messages generieren und genau da liegt ja das Problem!
Delphi-Quellcode:
ChangeWindowMessageFilterEx(
Handle, WM_DROPFILES, MSGFLT_ADD,
nil);
ChangeWindowMessageFilterEx(
Handle, WM_COPYDATA, MSGFLT_ADD,
nil);
ChangeWindowMessageFilterEx(
Handle, WM_COPYGLOBALDATA, MSGFLT_ADD,
nil);
Wären lt. diversen MSN Blogs die Nachrichten die man Freischalten müsste.
Was aber keinen Einfluß hat auf:
Delphi-Quellcode:
fDropHelper : IDropTargetHelper; //A helper that implements details for drag and drop
function DragEnter(const dataObj: IDataObject; grfKeyState: DWORD;
pt: TPoint; var dwEffect: DWORD): HResult; stdcall;
function DragOver(grfKeyState: DWORD; pt: TPoint;
var dwEffect: DWORD): HResult; reintroduce; stdcall;
function DragLeave: HResult; stdcall;
function Drop(const dataObj: IDataObject; grfKeyState: DWORD; pt: TPoint;
var dwEffect: DWORD): HResult; stdcall;
Denn oben erwähnte Messages werden hierbei nicht generiert.