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

раньше видел где-то такой примерчик... но уже забыл где.. помогите разобраться с этим.
...
Рейтинг: 0 / 0
Копирование Папки как в Эксплоере.
    #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
Копирование Папки как в Эксплоере.
    #38315865
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
surbanec,

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


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


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