Hallo an alle,
ich nutze Delphi 7 in Windows 7.
Ich will mit ShellExecute eine batch-Datei ausführen, die Dateien von einem Verzeichnis in ein anderes schiebt.
ShellExecute(0,NIL,'C:\temp\test.bat',NIL,NIL,SW_SHOW);
Oder ohne batch-Datei:
ShellExecute(0,NIL,'cmd','/k move "Z:\xxx\test.txt" "C:\temp\test2\"',NIL,SW_NORMAL);
Da ich Probleme mit den Nutzerrechten hatte, habe ich eine Manifest-Datei eingefügt:
Delphi-Quellcode:
<?
xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-
com:
asm.v1" manifestVersion="1.0">
<compatibility xmlns="urn:schemas-microsoft-
com:compatibility.v1">
<application>
<!--The ID below indicates application support
for Windows Vista -->
<supportedOS Id="
{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!--The ID below indicates application support
for Windows 7 -->
<supportedOS Id="
{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
</application>
</compatibility>
<trustInfo xmlns="urn:schemas-microsoft-
com:
asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Wenn ich die batch-Datei oder direkt den Befehl in cmd ausführe, funktioniert das Verschieben ohne Probleme. Wenn ich dies aber über Delphi ausführen will, kommt: Das System kann das angegebene Laufwerk nicht finden.
Wo und wie muss ich was einfügen, damit das funktioniert?
Wahrscheinlich sehe ich beim Suchen den Wald vor lauter Bäumen nicht. Wäre schön, wenn ihr mir helfen könntet.
Danke im Voraus.