| |
|
|
Julian Schmidt | ¡Hola, Yo versuche gerade un directorio a kopieren & sustituir. Als Base Yo esta Ver código fuente: [...] Mein Ansatz sieht así de:
SHFileoperation("Copy","C:\Test","C:\Test2",1,1,0)
Proc SHFileoperation
Parámetros operation$,File$,File2$,confirm%,recycle%,can%
Declarar opstruct#,file#,file2#,title#,operation&
Var FOF_Flag% = 1 | 512 | 2048'FOF_MULTIDESTFILES,FOF_NOCONFIRMMKDIR,FOF_NOCOPYSECURITYATTRIBS
Dim title#,24
cadena title#,0 = "Fileoperation Progress"
Select upper$(operation$)
CaseOf "RENAME"
operation&=4
CaseOf "COPY"
operation&=2
CaseOf "MOVE"
operation&=1
CaseOf "DELETE"
operation&=3
endselect
caso confirm%:confirm%=16
Casenot recycle%:recycle%=64
If can%
FOF_Flag% = FOF_Flag% | confirm% | recycle% | $20 | 8'$20 = FOF_WANTMAPPINGHANDLE 8 = FOF_RENAMEONCOLLISION
Más
FOF_Flag% = FOF_FLAG% | confirm% | recycle%'16 = FOF_NOCONFIRMATION,64 = FOF_ALLOWUNDO
endif
Dim opstruct#,30:Dim file#,(Len(file$)+2):Dim file2#,(Len(file2$)+2)
String file#,0=(file$+Chr$(0)):String file2#,0=(file2$+Chr$(0))
Largo opstruct#,0=GetActiveWindow()' Handle des aufrufenden Fensters
Largo opstruct#,4=operation&'Welche Dateioperation gemacht se
Largo opstruct#,8=file#' pfrom : hier el Archivos para el Operation
Largo opstruct#,12=file2#'pto hier el Zieldateinamen oder 0
Word opstruct#,16=FOF_Flag%
Largo opstruct#,18=0'En abbruch es hier 1 sólo en langen Operationen
Largo opstruct#,22=0' muss siempre Null ser, hier se handle para SHNameMappings gesetzt en Kopie
Largo opstruct#,26=Title#'Überschrift des Fortschrittsdialogs en langen Operationen
Var FEHLER&=Externo("SHELL32","SHFileOperationA",opstruct#)
IF (long(opstruct#,18)=1)
MessageBox("Die Dateioperation wurde abgebrochen!","Abbruch por Benutzer!",64)
ELSEIF (Fehler& <> 0)
MessageBox(str$(fehler&),"Es es una Fehler aufgetreten",16)
EndIf
If val($WinVer)> 5.0
Case LONG(opstruct#,22) <> 0:Externo("Shell32","SHFreeNameMappings",LONG(opstruct#,22))'min XP
endif
Disponer file#,file2#,opstruct#,title#
Volver Fehler&
ENDPROC
Bajo XP funktioniert lo perfekt, sólo bajo Windows 7(egal welche Versión) kommt siempre....
Wenn Yo, el Ver código fuente como Administrator ausführe kommt genaue el gleiche. Was kann Yo dagegen hacer? |
|
|
| |
|
|
|
| Hi!
Kannste imho nix hacer si otro Programas Archivos en Benutzung haben salvo eben esta Programas a final. |
|
|
| |
|
|
|
Julian Schmidt | Der Ordner es pero no en Benutzung. Per Windows Explorer kann Yo ihn auch sin Problemas löschen oder umbenennen. Diese Meldung Yo zuvor todavía nie gesehen! Wenn una Expediente en Benutzung es kommt eig. siempre esta Meldung....
Expediente se verwendet - El Aktion kann no abgeschlossen voluntad, como el Expediente geöffnet es. Schließen Sie el Expediente y wiederholen ellos el Vorgang... Wiederholen,Überspringen,Alto |
|
|
| |
|
|
|
Andreas Miethe
| Referencia :
SHFileOperation Function
Copies, moves, renames, or deletes a file system object. This function has been replaced en Windows Vista by IFileOperation. |
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 15.11.2011 ▲ |
|
|
|
|
Julian Schmidt | Funktioniert IFileOperation. auch bajo WinXP? Anwendungsbeispiel? |
|
|
| |
|
|
|
| Schau veces: [...]
MSDN
Minimum supported client: Windows Vista |
|
|
| |
|
|
|
Julian Schmidt | hmmmm....gibts lo auch una API-Función el sowohl bajo WinXP y WinVista, Win7 funktioniert? Sonst debería uno eben sólo el OS ermitteln y luego el Función je después de OS wählen, qué Yo finde a umständlich wäre... |
|
|
| |
|
|
|
Jörg Sellmeyer | Das wäre no el erste Tiempo seit Windows 1.0... |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 15.11.2011 ▲ |
|
|
|
|
Julian Schmidt | hmmm.....schade el lo dazu no einheitliche kompatible Función son. Como muss Yo muss wohl veces hin setzten y qué zusammen escribir ....
Tiempo schauen wann Yo Tiempo finde.... spätestens Sonntag |
|
|
| |
|
|