Корзина

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Константиин
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 09.08.2004 (Пн) 17:33

Корзина

Сообщение Константиин » 03.09.2004 (Пт) 20:19

Как открыть корзину :?: :?: :?:

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 03.09.2004 (Пт) 20:32

Двойным щелчком :-)

Что именно надо-то?
Изображение

Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Сообщение Шурик » 03.09.2004 (Пт) 20:40

Помоему ему надо в каталог корзины влезть!!!?
Так просто надо туда лезть и всё!!! :)
Или все-таки раскрыть ее на рабочем столе как папку???

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 03.09.2004 (Пт) 20:41

Полагаю, что путь к папке "Корзина" :roll:
Recycler или Recycled (по-моему, в зависимости от ОС) в корне диска.

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 03.09.2004 (Пт) 20:41

Да что ж такое! Который раз, пока отвечаю, уже поздно! :shock:

Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Сообщение Шурик » 03.09.2004 (Пт) 20:51

A.A.Z. писал(а):Да что ж такое! Который раз, пока отвечаю, уже поздно! :shock:

А это принципиально??? :D :wink:

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 03.09.2004 (Пт) 20:57

Иногда уже нет смысла писать одно и то же второй раз...

Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Сообщение Шурик » 03.09.2004 (Пт) 21:01

И не говори....)))))

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 04.09.2004 (Сб) 7:25

:lol: :lol: :lol:
А вы ещё соцсоревнование по количеству ответов организуйте. :)
:D

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 04.09.2004 (Сб) 20:51

корзина, это помоему и Recycled и Recycler. Просто в корзине могут быть фалы с одним и тем же(идентичным) именем. Ну и Windows рассовывает их по разным поддиректориям. Так что корзина - папка не обыная.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 04.09.2004 (Сб) 21:35

нифига, кстати. В корзине все объекты лежат в одной папке, хитро переименованные.
Внутри удалённых папок файлы, естественно, не переименовываются.
Изображение

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.09.2004 (Пн) 12:38

И еще. Recycled и Recycler это разные типы корзины. Первая имеет место в Win95/98/Me, в ней в куче лежат файлы и папки вида dc* и файл-база данных.
В Recycler есть куча подкаталогов вида S-1-*, каждый из них, это SID пользователя. Такие корзины имеются в системах NT, у каждого пользователя своя корзина.
Lasciate ogni speranza, voi ch'entrate.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.09.2004 (Пн) 12:46

афаик в Win2000+ на дисках FAT32 создаётся именно Recycled, а не Recycler.

и ещё, не dc*, а d[имя диска]*. На диске d - dd*, ..., на диске z - dz*.
Изображение

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.09.2004 (Пн) 12:50

tyomitch, корзину очищаю сразу же, поэтому насчет имен файлов утверждать не буду :)
А первая поправка правильная, надо было сказать "в системах NT на дисках с файловой системой NTFS". Каюсь, посыпаю голову пеплом.
Lasciate ogni speranza, voi ch'entrate.

Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Сообщение Шурик » 06.09.2004 (Пн) 16:25

В корзине ХР есть файлик INFO2, вот в нем записываеца "расшифровка" удаленных файлов в корзину и путь от куда они были удалены, т.е. полное название фала и где он находился до удаления. К сожелению формат этого файла я не знаю(
И вобще................ где афтар темы???? :D

Константиин
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 09.08.2004 (Пн) 17:33

Сообщение Константиин » 06.09.2004 (Пн) 19:42

Автор темы здесь, но меня интересует вопрос: как открыть корзину (как папку), а про то,что вы тут обсуждаете я никак не могу понять, хотя спасибо за ответы :!: :!: :!:

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 07.09.2004 (Вт) 20:53

Короче, чё вы спорите, когда человеку надо это:
Код: Выделить всё
Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Enum gf
    CSIDL_BITBUCKET = &HA
End Enum

Function GetFolder(gfType As gf) As String
Dim r As Long
Dim path As String
Dim IDL As ITEMIDLIST
r = SHGetSpecialFolderLocation(100, gfType, IDL)
If r = NOERROR Then
    path = Space$(512)
    r = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal path)
    GetFolder = Left$(path, InStr(path, Chr$(0)) - 1)
    Exit Function
End If
GetFolder = ""
End Function

Sub Main()
ShellExecute Me.hwnd, vbNullString, getfolder(CSIDL_BITBUCKET), vbNullString, "getfolder(CSIDL_BITBUCKET)", SW_SHOWNORMAL
End sub

Код нет времени проверять, так что если что...
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 07.09.2004 (Вт) 21:41

Код проверял-то? Я проверял на Win2000 - не работал.
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 13.09.2004 (Пн) 22:47

alibek писал(а):tyomitch, корзину очищаю сразу же, поэтому насчет имен файлов утверждать не буду :)
А первая поправка правильная, надо было сказать "в системах NT на дисках с файловой системой NTFS". Каюсь, посыпаю голову пеплом.

Вот, ещё useless trivia.
В WinNT3.5 с shell update корзина есть, расположена в папке Recycled, и хранит все удалённые вещи прямо в ней, а не в подпапках. Раздел, ессно, NTFS.
Изображение

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 14.09.2004 (Вт) 9:25

И откуда ты 3.51 откопал? :)
Я такую последний раз лет 10 назад видел :)
Lasciate ogni speranza, voi ch'entrate.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.09.2004 (Вт) 17:20

alibek писал(а):И откуда ты 3.51 откопал? :)
Я такую последний раз лет 10 назад видел :)
Надо? :-D
Могу дать, если не влом 38 метров качать :-)

:в сторону: представляете, товарищи, а ведь всего 10 лет назад полный дистрибутив винды со всеми стандартными прогами весил 38 метров... и чего они только в эту ХР затолкали, что она на сидюк едва влазит?
Изображение

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 14.09.2004 (Вт) 19:22

Извиняйте, я там ещё два типа забыл написать :oops: . Если всё ещё надо - напишу.
:в ту же сторону: Енто ещё шо! Вот дистрибутив windows 1.03 вообще на 3 дискеты влезает! Кстати, ставил его на виртуалку - рульная штука 8) Даже paint есть :)
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 14.09.2004 (Вт) 21:15

Tarik писал(а):Вот дистрибутив windows 1.03 вообще на 3 дискеты влезает!
Где он??? Скажи!! Плиз! :)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 15.09.2004 (Ср) 6:03

Tarik, ты гонишь - там четыре 360Кб дискеты, т.е. ровнёхонько одна 1440Кб.

Скачать тут: http://home.arcor.de/jokebilder/down.html , под заголовком "Windows 1.01 auf Floppy"
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 15.09.2004 (Ср) 6:06

Tarik, не в типах дело - я их нашёл и объявил :-)
Просто константа CSIDL_BITBUCKET с точки зрения Винды не соответствует никакому пути, потому что хранится на всех дисках сразу.
Соответственно, SHGetPathFromIDList для неё всегда обломится. Этот код не мог работать у тебя. Шли рабочий :-)
Изображение

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 15.09.2004 (Ср) 16:21

Tarik, ты гонишь - там четыре 360Кб дискеты, т.е. ровнёхонько одна 1440Кб.

Ну, не знаю. Я качал у себя из локалки, так там всё в одну папку скинуто. Сначала пробовал на одну дискету впихнуть - не вышло (общий размер ~2 метра). Пришлось немного поизвращаться - в итоге всё распределилось по 3 дискетам.
Tarik, не в типах дело - я их нашёл и объявил
Просто константа CSIDL_BITBUCKET с точки зрения Винды не соответствует никакому пути, потому что хранится на всех дисках сразу.
Соответственно, SHGetPathFromIDList для неё всегда обломится. Этот код не мог работать у тебя. Шли рабочий

Н-да, действительно не работает... Вот теперь надо подумать :)
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 15.09.2004 (Ср) 21:25

tyomitch писал(а):Tarik, ты гонишь - там четыре 360Кб дискеты, т.е. ровнёхонько одна 1440Кб.

Скачать тут: http://home.arcor.de/jokebilder/down.html , под заголовком "Windows 1.01 auf Floppy"
Ух-ха-ха-ха!!! :twisted:

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 15.09.2004 (Ср) 23:08

A.A.Z. писал(а):
tyomitch писал(а):Tarik, ты гонишь - там четыре 360Кб дискеты, т.е. ровнёхонько одна 1440Кб.

Скачать тут: http://home.arcor.de/jokebilder/down.html , под заголовком "Windows 1.01 auf Floppy"
Ух-ха-ха-ха!!! :twisted:

Ну раз это тебя так заводит :-) - доступна бета-версия моего сайта-музея виндов (хочешь посмотреть - шли мне личку, я его запущу). За бета-тестирование, которое длилось одну ночь, зашёл только тов. D105.D-IP02.lipetsk.ru - буду рад, если он поделится впечатлениями.

[edit]Сайт закончен - см. http://bbs.vbstreets.ru/viewtopic.php?p=60679#60679[/edit]
Последний раз редактировалось tyomitch 22.09.2004 (Ср) 16:48, всего редактировалось 1 раз.
Изображение

ASD
Модератор
Модератор
Аватара пользователя
 
Сообщения: 1758
Зарегистрирован: 07.12.2001 (Пт) 21:08
Откуда: Russia

Сообщение ASD » 19.09.2004 (Вс) 17:00

Это как отправить в корзину
Want to delete a file and have it go into the recycle bin? The Kill statement permanently deletes the file. Instead, try the following:

Private Declare Function SHFileOperation Lib "shell32.dll" (ByRef lpFileOp As SHFILEOPSTRUCT) As Long

Private Const ERROR_SUCCESS = 0&
Private Const FO_COPY = &H2
Private Const FO_DELETE = &H3
Private Const FO_MOVE = &H1
Private Const FO_RENAME = &H4
Private Const FOF_ALLOWUNDO = &H40
Private Const FOF_CONFIRMMOUSE = &H2
Private Const FOF_FILESONLY = &H80
Private Const FOF_MULTIDESTFILES = &H1
Private Const FOF_NOCONFIRMATION = &H10
Private Const FOF_NOCONFIRMMKDIR = &H200
Private Const FOF_RENAMEONCOLLISION = &H8
Private Const FOF_SILENT = &H4
Private Const FOF_SIMPLEPROGRESS = &H100
Private Const FOF_WANTMAPPINGHANDLE = &H20

Private Type SHFILEOPSTRUCT
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Long
hNameMappings As Long
lpszProgressTitle As String ' only used if FOF_SIMPLEPROGRESS
End Type

'Next create a function called Recycle, like so

Public Sub Recycle(ByVal FileName As String)

Dim CFileStruct As SHFILEOPSTRUCT

With CFileStruct
.hwnd = Me.hwnd
.fFlags = FOF_ALLOWUNDO
.pFrom = FileName
.wFunc = FO_DELETE
End With

If SHFileOperation(CFileStruct) <> ERROR_SUCCESS Then
'An error occurred.
End If

End Sub

To test the procedure, create a dummy text file, drop a command button onto a
Visual Basic form, and then attach the following code

Private Sub Command1_Click()
Recycle "c:\test.txt"
End Sub

When you click the button, Windows asks if you want to move the file to the Recycle Bin.
Moderator VBStreets
---------------------------

ASD
Модератор
Модератор
Аватара пользователя
 
Сообщения: 1758
Зарегистрирован: 07.12.2001 (Пт) 21:08
Откуда: Russia

Сообщение ASD » 19.09.2004 (Вс) 17:02

А это как отобразить корзину

Option Explicit

Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal hWnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) _
As Long

Private Const SW_SHOWNORMAL As Long = 1

Public Function ShowRecycleBin() As Boolean
Dim lRet As Long
'if using from a form, you can use me.hwnd instead of 0&
'for the first argument
lRet = ShellExecute(0&, "Open", "explorer.exe", _
"/root,::{645FF040-5081-101B-9F08-00AA002F954E}", 0&, _
SW_SHOWNORMAL)
ShowRecycleBin = lRet > 32
End Function
Moderator VBStreets
---------------------------

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 22

    TopList  
cron