Español
Fuente/ Codesnippets

Shfileoperation

 

Descripción:

Mit el API SHFileOperation puede ser todo Ordner oder einzelne Archivos con Forschrittsanzeige kopieren, löschen (auch Papierkorb), mover oder umbenenen.


Deklaration:

Def @SHFileOperation(1) !SHELL32,SHFileOperationA


Parámetro:

1.Parámetro: Structur oder 30 Byte große Bereichsvariable =>
-Byte 0-3 = Handle la ventana, en el el Fortschrittsdialog erscheinen se.
-Byte 4-7 = Flag para el durchzuführende Aktion => $1 = verschieben; $2=kopieren; $2=löschen; $4=umbenenen
-Byte 8-11 = Adresse uno Bereichvariablen, el el a modifizierende(n) Expediente(en) oder Ordner enthält. Diese Bereichvariable muß como Abschluß zwei Nullbytes enthalten. Einzelne Archivos oder Ordner voluntad con un Nullbyte getrennt.
-Byte 12-15 = Adresse uno Bereichvariablen, el el Ziel-datei(en) oder -ordner enthält. Diese Bereichvariable muß como Abschluß zwei Nullbytes enthalten. Einzelne Archivos oder Ordner voluntad con un Nullbyte getrennt.
-Byte 16-17 = Flag para el weitere Optionen el durchzuführenden Aktion =>
$40 = Wenn posible voluntad Undoinformationen gespeichert.
$80 = Wenn Wildcards (*.*) verwendet voluntad, sólo Archivos berücksichtigen.
$1 = Lo son mehrere Zielordner.
$10 = Keine Einzelbestätigung.
$200 = Das Erstellen uno Ordners muß no bestätigt voluntad.
$2000 = Verbundene Files no como Gruppe mover.
$800 = Lo voluntad no Security Atributos kopiert (NT/2000/XP)
$400 = Lo se kein Userinterface en una Fehler ausgegeben.
$1000 = Lo voluntad no Unterverzeichnisse berücksichtigt (sólo aktuelles Directorio).
$8 = Wenn Filename ya disponible es, otro Namen geben!
$4 = Lo se kein Fortschrittsdialog adecuado.
$100 = Nur Fortschrittsdialog, no Dateinamen Mostrar!
$20 = Lo se una Mapping Objeto con el alten y neuen Dateinamen producido, si $8 spezifiziert wurde y Files umbenannt fueron.
-Byte 18-21 = Rückgabeflag. Wenn el User una Aktion abgebrochen ha, es hier 1.
-Byte 22-25 = Hier es como Rückgabe el Handle des Mapping Objektes, si $20 spezifiziert wurde.
-Byte 26-29 = El Adresse uno Textstrings como Überschrift para el Fortschrittsdialog, si $100 spezifiziert wurde.


Rückgabewert:

0 en Erfolg, 1 en Fehler.

Beispiele:

KompilierenMarcaSeparación
Def @SHFileOperation(1) !SHELL32,SHFileOperationA

Proc Fileaction

    Parameters Action$,File$,File2$,noconfirm%,norecycle%
    Parameter 1: Auszuführende Aktion=COPY, DELETE, RENAME, MOVE
    Parameter 2: Quelldatei
    Parameter 3: Zielldatei
    Parameter 4: 0 = User erst fragen, 1= ohne Nachfrage löschen
    Parameter 5: 0 = In Papierkorb verschieben, 1= endgültig löschen
    Declare FOF_Flag%,Action&,DO%,Fehler&
    Declare opstruct#,file#,file2#
    LET DO%=0

    IF @upper$(Action$)=RENAME

        Let Action&=4

    elseIF @upper$(Action$)=COPY

        Let Action&=2

    elseIF @upper$(Action$)=MOVE

        Let Action&=1

    elseIF @upper$(Action$)=DELETE

        Let Action&=3

    else

        @messagebox(Diese Funktion ist nicht bekannt!,Aktion wird nicht ausgeführt!,64)
        LEt DO%=1

    endif

    IF DO%=0

        Case noconfirm% : Let noconfirm%=16
        CaseNot norecycle% : Let norecycle%=64
        Let FOF_Flag% = @or(noconfirm%,norecycle%)
        Dim opstruct#,30
        Dim file#,Add(Len(file$),2)
        Dim file2#,Add(Len(file2$),2)
        String file#,0=@Add$(file$,@Chr$(0))
        String file2#,0=@Add$(file2$,@Chr$(0))
        Long opstruct#,0=%hwnd   Handle des aufrufenden Fensters
        Long opstruct#,4=Action&
        Long opstruct#,8=file#    pfrom : hier der zu löschende Ordner
        Long opstruct#,12=file2#      pto (muß 0 oder eine Bereichvar. mit Zieldateinamen																							 z.B. bei Umbenennung sein
        Word opstruct#,16=FOF_Flag%
        Long opstruct#,18=0	 	Hier steht nach dem Aufruf 1, wenn User abgebrochen hat
        Long opstruct#,22=0	  Unbedingt immer auf Null setzen!
        Long opstruct#,26=0	  Zeiger(Bereich) auf Überschrift des Fortschrittsdialogs
        LET FEHLER&=@ShFileOperation(opstruct#)

        IF @equ(@long(opstruct#,18),1)

            @MessageBox(Die Dateioperation wurde abgebrochen!,Operation abgebrochen!,64)

        ELSEIF @neq(Fehler&,0)

            @MessageBox(Es ist ein Fehler aufgetreten,ShFileOperation +@str$(Fehler&),16)

        EndIf

        Dispose file#
        Dispose file2#
        Dispose opstruct#

    endif

EndProc

REM Beispiel
Fileaction COPY,C:WINDOWS,E:TEMP,0,0
Fileaction DELETE,E:../../funktionsreferenzen/XProfan/temp/'>TEMP,,1,1
 
07.03.2005  
 




J.
Strahl
Hallölle,

schöne Función el Yo benutze el Userprofile en una Stick a kopieren.

Leider hay en el Ordner %userprofile%Lokale EinstellungenAnwendungsdatenMicrosoftWindows el Expediente UsrClass.dat welche en Benutzung es.
Beimm kopieren bekomme Yo el Fehlermeldung Expediente kann no kopieren voluntad como ellos en Benutzung es

Gibt lo una Möglichkeit solche Archivos a überspringen o el Fehlermeldung a umgehen ? - Nach el Fehlermeldung bricht el Programa de y el resto no es mehr kopiert.

 
Windows 7 Ultimate 64 * 12 GB Ram * XProfan 11.2a * PRFellow * PRFPAD
22.06.2008  
 



Schau veces, hier posición Flags  [...]  , z.B. FOF_NOCONFIRMATION oder FOF_NOERRORUI.
 
22.06.2008  
 




Michael
Dell
¡Hola,

Usted könntest el Ordner Zippen el geschützten Archivos blieben entonces ausen antes.

Oder Usted startest el PC con nem zweiten Betriebsystem oder ner Live-CD/DVD y kopierst el Ordner komplett.

Mit uno DOS-Startdiskette kannst Usted el auch si lfn4dos y eff. ntsf4dos verwendest!

El letzte Möglichkeit wäre el SFP (SystemFileProtection) abzuschalten, su es allerdings dringend abzuraten, porque el hieße direkte manipulation des Systems!
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
22.06.2008  
 



Yo glaube SystemFileProtection abschalten sería ihm hier no viel nutzen.

Wenn lo ihm en el Auslesen el Expediente va hilft vlt. una FileMode en sólo Lesen a conjunto.

Übrigens Yo el Expediente UsrClass.Dat no. (xphomesp3)
 
22.06.2008  
 




J.
Strahl
sí, suppa - el Sache con el Flags gefällt me schonmal. Wichtig es el weiterkopiert se. Aunque Yo ahora keinerlei Plan wo y cómo Yo ahora irgendwo una Flag poner.

` FOF_NOERRORUI -- Do not display a dialog to the user if a error occurs.`

Soweit klar aber el source entsprechend abändern. No Plan.. Alguien de euch ?
 
Windows 7 Ultimate 64 * 12 GB Ram * XProfan 11.2a * PRFellow * PRFPAD
22.06.2008  
 



Vom Code oben:
KompilierenMarcaSeparación
Word opstruct#,16=FOF_Flag% | ~FOF_NOERRORUI
>
 
22.06.2008  
 




J.
Strahl
oha, sorry - blutigen Principiante.......

Case noconfirm% : Let noconfirm%=16
Casenote norecycle% : Let norecycle%=64
Let FOF_Flag% = @or(noconfirm%,norecycle%)

Yo leite veces su de el el FOF_Flag% todavía qué einschieben muß. Aber qué ?

 
Windows 7 Ultimate 64 * 12 GB Ram * XProfan 11.2a * PRFellow * PRFPAD
22.06.2008  
 



Probiers!
 
22.06.2008  
 



Yo el oben stehenden Code en media NC-Clone ya antes zwei Jahren instalado. El Parámetro puede en para Programa gehörende INI-Expediente verstellt y ser el Ganze funktioniert perfekt
 
22.06.2008  
 




J.
Strahl


ne ne ne, Yo weiß no Yo ihm geben se. Yo habe ahora alles gehabt, direkter Abbruch sin Meldung. Kopieren sin Anzeige qué kopiert se. Aber el el Fehler simplemente übersprungen se, klappt no. Yo weiß como no más, gehe aber su de el Yo el eh no schnalle.

Yo habe en el Línea :

Let FOF_Flag% = @or(noconfirm%,norecycle%)

simplemente veces una + 32 y verchiedene otro Möglichkeiten ausprobiert. Yo komme pero no el gewünschte Ergebniß. Yo weiß simplemente no y habe lo auch no encontrar puede welcher Valor zusätzlich como rein muß.

@ Horst : Yo habe veces después de el NC-Clone gesucht si Yo como algo encontrar kann - desafortunadamente podría Yo des auch no encontrar. höhö

 
Windows 7 Ultimate 64 * 12 GB Ram * XProfan 11.2a * PRFellow * PRFPAD
22.06.2008  
 




Yo habe veces después de el NC-Clone gesucht si Yo como algo encontrar kann - desafortunadamente podría Yo des auch no encontrar. höhö


Wo willst Usted porque como suchen ? - Dann müsstest Usted ya Zugang a meiner Festplatte haben - außer Jörg hätte todavía el código vom Beta-Test y el glaube Yo no.
So como en el Bild sieht él de y ha el código intregiert

213 kB
Hochgeladen:22.06.2008
Ladeanzahl201
Descargar
 
22.06.2008  
 




Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

6.961 Views

Untitledvor 0 min.
Andre Rohland31.05.2019
supernova04.12.2013
Christian Hahn05.07.2013

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie