Français
Source/ Codesnippets

Shfileoperation

 

Beschreibung:

avec qui API SHFileOperation peux on ganze Dossier ou bien einzelne Fichiers avec Forschrittsanzeige kopieren, effacer (aussi corbeille à papier), Déplacer ou bien umbenenen.


Deklaration:

Def @SHFileOperation(1) !SHELL32,SHFileOperationA


paramètre:

1.paramètre: Structur ou bien 30 Byte grand Bereichsvariable =>
-Byte 0-3 = Handle des Fensters, sur dem qui Fortschrittsdialog erscheinen soll.
-Byte 4-7 = Flag pour qui durchzuführende Aktion => $1 = verschieben; $2=kopieren; $2=löschen; $4=umbenenen
-Byte 8-11 = Adresse einer Bereichvariablen, qui qui trop modifizierende(n) Dossier(en) ou bien Dossier contient. cet Bereichvariable doit comme Abschluß deux Nullbytes enthalten. Einzelne Fichiers ou bien Dossier volonté avec einem Nullbyte getrennt.
-Byte 12-15 = Adresse einer Bereichvariablen, qui qui but-fichier(en) ou bien -ordner contient. cet Bereichvariable doit comme Abschluß deux Nullbytes enthalten. Einzelne Fichiers ou bien Dossier volonté avec einem Nullbyte getrennt.
-Byte 16-17 = Flag pour qui weitere Optionen qui durchzuführenden Aktion =>
$40 = si possible volonté Undoinformationen gespeichert.
$80 = si Wildcards (*.*) verwendet volonté, seulement Fichiers berücksichtigen.
$1 = il y a plusieurs Zielordner.
$10 = aucun Einzelbestätigung.
$200 = cela Erstellen eines Ordners doit pas bestätigt volonté.
$2000 = Verbundene Files pas comme Gruppe Déplacer.
$800 = Es volonté aucun Security Attribute kopiert (NT/2000/XP)
$400 = Es wird ne...aucune Userinterface chez einem faute ausgegeben.
$1000 = Es volonté aucun Unterverzeichnisse berücksichtigt (seulement aktuelles Verzeichnis).
$8 = si Filename déjà vorhanden ist, anderen Namen donner!
$4 = Es wird ne...aucune Fortschrittsdialog angezeigt.
$100 = seulement Fortschrittsdialog, keinen Dateinamen Montrer!
$20 = Es wird un Mapping objet avec den alten et neuen Dateinamen erzeugt, si $8 spezifiziert wurde et Files umbenannt wurden.
-Byte 18-21 = Rückgabeflag. si qui User une Aktion abgebrochen hat, steht ici 1.
-Byte 22-25 = ici steht comme Rückgabe cela Handle des Mapping Objektes, si $20 spezifiziert wurde.
-Byte 26-29 = qui Adresse eines Textstrings comme Überschrift pour den Fortschrittsdialog, si $100 spezifiziert wurde.


Rückgabewert:

0 chez Erfolg, 1 chez faute.

Beispiele:

KompilierenMarqueSéparation
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,

belle Funktion qui je benutze qui Userprofile sur une Stick trop kopieren.

malheureusement gibt es dans dem Dossier %userprofile%Lokale EinstellungenAnwendungsdatenMicrosoftWindows qui Dossier UsrClass.dat quelle dans Benutzung ist.
Beimm kopieren bekomme je qui Fehlermeldung Dossier peux pas kopieren volonté là vous dans Benutzung ist

Gibt es une Possibilité solche Fichiers trop überspringen ou bien qui qui Fehlermeldung trop tourner autour de ? - Pour qui Fehlermeldung bricht cela Programme ab et qui reste wird pas plus kopiert.

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



exposition la fois, ici stehen Flags  [...]  , z.B. FOF_NOCONFIRMATION ou bien FOF_NOERRORUI.
 
22.06.2008  
 




Michael
Dell
Salut,

Du könntest den Dossier Zippen qui geschützten Fichiers blieben ensuite ausen avant.

ou bien Du startest den PC avec nem zweiten Betriebsystem ou bien ner Live-CD/DVD et kopierst den Dossier komplett.

avec einer DOS-Startdiskette peux Du cela aussi si Du lfn4dos et eff. ntsf4dos verwendest!

qui dernier Possibilité wäre qui SFP (SystemFileProtection) abzuschalten, en ist allerdings dringend abzuraten, car cela hieße directe manipulation des Systems!
 
Salu Michael...

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



je crois SystemFileProtection débrancher serait ihm ici pas viel nutzen.

si es ihm um cela Lecture qui Dossier allez hilft vlt. un FileMode sur seulement Lesen trop mettons.

Incidemment habe je qui Dossier UsrClass.Dat pas. (xphomesp3)
 
22.06.2008  
 




J.
Strahl
oui, suppa - qui l'affaire avec den Flags comme mir Schonmal. important ist cela weiterkopiert wird. Allerdings habe je maintenant keinerlei plan wohin et comment je maintenant irgendwo un Flag mets.

` FOF_NOERRORUI -- Do not display a dialog to le user si à error occurs.`

Soweit bien sûr mais den source entsprechend abändern. No plan.. quelqu'un de euch ?
 
Windows 7 Ultimate 64 * 12 GB Ram * XProfan 11.2a * PRFellow * PRFPAD
22.06.2008  
 



Vom Code dessus:
KompilierenMarqueSéparation
Word opstruct#,16=FOF_Flag% | ~FOF_NOERRORUI
>
 
22.06.2008  
 




J.
Strahl
oha, sorry - blutigen Débutant.......

Cas noconfirm% : Laisser noconfirm%=16
Casenote norecycle% : Laisser norecycle%=64
Laisser FOF_Flag% = @or(noconfirm%,norecycle%)

je leite la fois en ab cela dem FOF_Flag% encore quoi einschieben doit. mais quoi ?

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



Probiers!
 
22.06.2008  
 



j'ai den dessus stehenden Code dans meinen NC-Clone déjà avant deux Jahren incorporé. qui paramètre peut sur qui zum Programme gehörende INI-Dossier verstellt volonté et cela Ganze funktioniert parfait
 
22.06.2008  
 




J.
Strahl


ne ne ne, je ne sais pas quoi je ihm donner soll. j'ai maintenant alles gehabt, direkter Abbruch sans annonce. Kopieren sans Anzeige quoi kopiert wird. mais cela qui faute simple übersprungen wird, klappt pas. je sais là pas plus, vais mais en aus le moi cela eh pas schnalle.

j'ai dans qui la ligne :

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

simple la fois un + 32 et verchiedene autre Opportunités ausprobiert. je viens mais pas sur cela gewünschte Ergebniß. je sais simple pas et habe es aussi pas trouver peut quel Wert zusätzlich là rein doit.

@ Horst : j'ai la fois pour dem NC-Clone gesucht si je là quelque chose trouver peux - malheureusement konnte je des aussi pas trouver. höhö

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




j'ai la fois pour dem NC-Clone gesucht si je là quelque chose trouver peux - malheureusement konnte je des aussi pas trouver. höhö


wohin veux Du car là chercher ? - ensuite müsstest Du déjà Zugang trop meiner Festplatte avons - sauf Jörg hätte encore den Code vom Beta-Test et cela glaube je pas.
So comment im Bild sieht il aus et hat den Code intregiert

213 kB
Hochgeladen:22.06.2008
Downloadcounter200
Download
 
22.06.2008  
 




Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

6.798 Views

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

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie