Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Копирование Папки как в Эксплоере. / 5 сообщений из 5, страница 1 из 1
30.06.2013, 16:28
    #38315092
surbanec
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование Папки как в Эксплоере.
Здравствуйте.
Имеется папка с файлами.
размер ее может быть достаточно большой ( до 1 гб)
Как можно вызвать копирование этой папки в другую папку как в Exploere...
ну тоесть программно вызвать такое же копирование как делает эксплорер когда мы нажимаем копировать-> вставить на папку..

раньше видел где-то такой примерчик... но уже забыл где.. помогите разобраться с этим.
...
Рейтинг: 0 / 0
01.07.2013, 14:37
    #38315816
surbanec
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование Папки как в Эксплоере.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
'---------------------------
'Copy any file (include open files)
'--------------------------------
Private Declare Function SHFileOperation Lib 'shell32.dll' _
Alias 'SHFileOperationA' (lpFileOp As SHFILEOPSTRUCT) As Long

Private Type SHFILEOPSTRUCT
hwnd As Long ' Window owner of any dialogs
wFunc As Long ' Copy, move, rename, or delete code
pFrom As String ' Source file
pTo As String ' Destination file or directory
fFlags As Integer ' Options to control the operations
fAnyOperationsAbortedLo As Integer ' Indicates partial failure
fAnyOperationsAbortedHi As Integer
hNameMappingsLo As Long ' Array indicating each success
hNameMappingsHi As Long
lpszProgressTitleLo As Long ' Title for progress dialog
lpszProgressTitleHi As Long
End Type



' Better version of FileCopy (CopyAnyFile) and matching MoveAnyFile,
' DeleteAnyFile, and RenameAnyFile
Function CopyAnyFile(sSrc As String, sDst As String, _
Optional ByVal fConfirmMsgShow As Boolean = True, Optional ByVal fProgressShow As Boolean = True, _
Optional Owner As Long) As Boolean
If True Then 'в NT не будет работать!!
Dim fo As SHFILEOPSTRUCT, f As Long
fo.wFunc = 2 'FO_COPY
Debug.Print TypeName(fo.wFunc)
fo.pFrom = sSrc
fo.pTo = sDst
fo.fFlags = SetOpFlagsForCopyAny(fConfirmMsgShow, fProgressShow)
fo.hwnd = Owner
' Mask out invalid flags
fo.fFlags = fo.fFlags And 989 'FOF_COPYFLAGS
f = SHFileOperation(fo)
CopyAnyFile = (f = 0)
Else ' For Windows NT 3.51
On Error Resume Next
' FileCopy expects full name of destination file
FileCopy sSrc, sDst
If Err Then
MsgBox 'Path error.', vbCritical, 'Error'
End If
CopyAnyFile = (Err = 0)
End If
End Function

Private Function SetOpFlagsForCopyAny(Optional ByVal fConfirmMsgShow As Boolean = True, Optional ByVal fProgressShow As Boolean = True) As Long
Dim lFlags As Long
lFlags = 0
If Not fConfirmMsgShow Then lFlags = lFlags Or 16 'FOF_NOCONFIRMATION
If fProgressShow Then lFlags = lFlags Or 256 'FOF_SIMPLEPROGRESS
SetOpFlagsForCopyAny = lFlags
End Function



вот кое что.... но это только копировать файл. а нужно папку... не знаю даже... вообще такое возможно ли.
...
Рейтинг: 0 / 0
01.07.2013, 15:04
    #38315865
qwerty112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование Папки как в Эксплоере.
surbanec,

это Shell.Application -> Folder.CopyHere если правильно понял ...
Код: vbnet
1.
http://www.script-coding.com/WSH/Shell.html#4.3.2.


зы
движок форума отрезает посл.точку в ссылке, поэтому ссылка так "неправильно" :)
...
Рейтинг: 0 / 0
01.07.2013, 16:53
    #38316064
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование Папки как в Эксплоере.
qwerty112движок форума отрезает посл.точку в ссылке, поэтому ссылка так "неправильно" :)
14505796
...
Рейтинг: 0 / 0
01.07.2013, 22:32
    #38316469
surbanec
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование Папки как в Эксплоере.
qwerty112,
Похоже на то) спасибо большое... а то я чета в лес кудато ушел.. пробовал копировать папку с помощью xcopy но блин он так долго копирует на флешки...ппц... переделаем на шел все попрет) спасибо еще раз и вопрос можно закрывать)
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Копирование Папки как в Эксплоере. / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]