Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 10-01-2011, 13.25.33   #1
mandrak
Junior Member
 
Registrato: 31-03-2009
Loc.: Genova
Messaggi: 61
mandrak promette bene
Copia di file da una cartalla ad un'altra in rete.

Salve a tutti.
Tempo fa ho realizzato un programma in VB6 che automaticamente copia il contenuto di una cartella e tutte le sotto-cartelle in un'altra parte della mia rete.
Quando parte la copia viene visualizzata la "solita" finestra di copia di windows, per tutto il processo.
Ogni tanto però capita che la copia si interrompe per problemi su qualche file.
come posso far intercettare dal programma questi avvisi per fare delle azioni decise da me? A esempio inviarmi un avviso send, che la copia si è interrotta sul file "X"
mandrak non è collegato   Rispondi citando
Vecchio 10-01-2011, 13.28.17   #2
mandrak
Junior Member
 
Registrato: 31-03-2009
Loc.: Genova
Messaggi: 61
mandrak promette bene
Aggiungo che il programma da me realizzato tempo fa, sfrutta alcune funzioni, (trovate su internet), per lanciare il comando copia di windows.
Nel particolare in un file .Bas ho inserito :

Public Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
Public Type SHFILEOPSTRUCT
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Boolean
hNameMappings As Long
lpszProgressTitle As String ' usato solo se FOF_SIMPLEPROGRESS
End Type
'costanti per wFunc
Public Const FO_COPY = &H2
Public Const FO_DELETE = &H3
Public Const FO_MOVE = &H1
Public Const FO_RENAME = &H4
'costanti per fFlags
Public Const FOF_ALLOWUNDO = &H40
Public Const FOF_CONFIRMMOUSE = &H2
Public Const FOF_FILESONLY = &H80 ' con *.*, elabora solo i file
Public Const FOF_MULTIDESTFILES = &H1
Public Const FOF_NOCONFIRMATION = &H10 ' Non richiede conferma All 'utente.
Public Const FOF_NOCONFIRMMKDIR = &H200 ' non conferma la creazione di directory necessarie
Public Const FOF_RENAMEONCOLLISION = &H8
Public Const FOF_SILENT = &H4 ' non crea un rapporto avanzamento
Public Const FOF_SIMPLEPROGRESS = &H100 ' non visualizza i nomi dei file
Public Const FOF_WANTMAPPINGHANDLE = &H20 ' Inserisce SHFILEOPSTRUCT.hNameMappings

Poi in una sub della Form ho inserito :

With shFileOp
.hwnd = Me.hwnd
.pFrom = Da 'Percorso cartella origine
.pTo = A 'Percorso cartella destinazione
.wFunc = FO_COPY
.fFlags = FOF_NOCONFIRMMKDIR Or FOF_NOCONFIRMATION
End With
DoEvents
SHFileOperation shFileOp
-------------
Il processo di copia funziona perfettamente, ma se si blocca per un problema come, un file in uso, o altro, il processo, (come succede anche
da gestione risorse), si ferma in quel punto con un avviso. Dato che tutta la copia viene fatta in automatico e di notte, su una macchina remota,
vorrei che il programma mi avvisasse con un messaggio send con il problema trovato e il nome del file "incriminato" del problema e proseguisse poi nell'operazione con il resto dei file. Se non si può per il proseguimento dell'operazione, almeno essere avvisati, poi intervengo a mano alla mattina.
Si puo ottenere ciò aggiungendo altre API ?
Grazie...
mandrak non è collegato   Rispondi citando
Vecchio 10-01-2011, 14.45.39   #3
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
SHFileOperation è una funzione e come tale deve restituire un valore: e' lo stesso sia per la copia effettuata con successo sia per quella effettuata con insuccesso ?

nb: se non sbaglio VB ha un'utile funzione chiamata filecopy senza ricorrere esplicitamente alle funzioni API di Windows.
LoryOne non è collegato   Rispondi citando
Vecchio 10-01-2011, 15.04.15   #4
mandrak
Junior Member
 
Registrato: 31-03-2009
Loc.: Genova
Messaggi: 61
mandrak promette bene
Ciao
ho usato SHFileOperation perchè mi permette di copiare intere cartelle e le eventuali sotto cartelle, non so se "filecopy" mi permette ciò.
Come posso leggere il valore restituito da SHFileOperation ?
E' possibile risalire anche al file "bloccato" per intervenire poi ?
mandrak non è collegato   Rispondi citando
Vecchio 10-01-2011, 18.38.53   #5
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Quota:
Inviato da mandrak Visualizza messaggio
ho usato SHFileOperation perchè mi permette di copiare intere cartelle e le eventuali sotto cartelle, non so se "filecopy" mi permette ciò.
No, copia un singolo file

Quota:
Inviato da mandrak Visualizza messaggio
Come posso leggere il valore restituito da SHFileOperation ?
Variabile=SHFileOperation(struttura)
Se <>0 , messaggio err.lastdllerror

Quota:
Inviato da mandrak Visualizza messaggio
E' possibile risalire anche al file "bloccato" per intervenire poi ?
Mai provato: quando mi son trovato ad eseguire operazioni di copia/cancellazione/creazione cartelle ho sempre proceduto creando ogni singola operazione attraverso le apposite funzioni API solo per prestazione pura: Puoi fare tutto con dir e mkdir, filecopy, oppure open "" for binary lock write as-> while wend->close.

Cerca su Google "SHFileOperation hook" oppure "hooking di SHFileOperation"
LoryOne non è collegato   Rispondi citando
Vecchio 10-01-2011, 19.05.04   #6
cippico
Depeche Mode Fan
Top Poster
 
L'avatar di cippico
 
Registrato: 18-12-2000
Loc.: Bolzano
Messaggi: 8.872
cippico è nella strada per il successocippico è nella strada per il successo
non ti sarebbe comodo invece un programma che faccia il lavoro d icopia'

ce ne sono tanti anche free...e mandano pure email in caso di copia errata e/o altri errori...

ciaooo
___________________________________

DEPECHE MODE e WINTRICKS DIPENDENTE - Il mio sito : HTTP://CIPPICO.ALTERVISTA.ORG
Date anche uno sguardo ai miei articoli sul sito MegaLab.it...
...CLICCANDO QUI ...spero possano esservi utili .
cippico non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
log di AVAST...che faccio ? enry1 Sicurezza&Privacy 4 27-11-2008 19.38.09
Vista MCE e file di rete texaco Windows 7/Vista/XP/ 2003 0 06-09-2008 18.50.56
Condivisione file e rete in xp linus2006 Internet e Reti locali 14 11-06-2007 09.06.59
[XP/SP2] Controllo in corso del file System primoair Windows 7/Vista/XP/ 2003 2 28-02-2006 22.13.01
computer da immondizzia ziopazzo Windows 9x/Me/NT4/2000 3 09-05-2004 01.20.30

Orario GMT +2. Ora sono le: 11.15.40.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.