Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сделать папку скрытой, скрытая папка 
:(
    Опции темы
WildS
Дата 30.7.2006, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 28.6.2006

Репутация: нет
Всего: нет



 Помогите, как сделать папку скрытой ?
Использовал API функцию, она возвращает единицу, но папка скрытой не становится ...
В чём моя ошибка ?

Использую следующий код :

Код

Private Declare Function SetFileAttributes Lib "kernel32.dll" Alias "SetFileAttributesA" (ByVal lpFileName As String, ByVal dwFileAttributes As Long) As Long

Dim fileattrs As Long

fileattrs = FILE_ATTRIBUTE_HIDDEN
SetFileAttributes (путь к папке), (fileattrs)


Знающие люди, помогите .... 
PM MAIL   Вверх
cardinal
Дата 30.7.2006, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Посмотри здесь:
http://www.vbnet.ru/samples/download.aspx?id=146
Пример прикольный, но наверно будет медленно работать с большими папками (так как не скрывает, а хитро переименовывает и ныкает smile)...

Ник: Default
Пароль: Default
 


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
WildS
Дата 30.7.2006, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 28.6.2006

Репутация: нет
Всего: нет



 Интересны пример, но хотелось бы придать папке атрибут 'Скрытый' .

Вообще, основная задача, спрятать папку с файлами (возможно больших размеров), так, чтобы пользователь её не нашёл ?
Может можно как-то доступ закрыть ? 
PM MAIL   Вверх
WildS
Дата 30.7.2006, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 28.6.2006

Репутация: нет
Всего: нет



Разобрался !
Надо было ещё в модуль запихать константу 
Код

Public Const FILE_ATTRIBUTE_HIDDEN = &H2


А можно как то более надёжно спрятать или запретить доступ к папке для пользователя, но чтобы программа могла получить туда доступ ?
Не смог разобраться как работает пример, описанный выше ... может кто-нибудь объяснит ? 
PM MAIL   Вверх
BUGOR
Дата 30.7.2006, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 12.3.2006

Репутация: 3
Всего: 16



Цитата

Надо было ещё в модуль запихать константу 


Может будет проще сделать так:

Код

SetAttr "C:\dir", vbHidden 'Поставить атрибут "Скрытый"
SetAttr "C:\dir", GetAttr("x:\any_notHidden_file") And (Not vbHidden) 'Очистить атрибут "Скрытый"


Код

А можно как то более надёжно спрятать или запретить доступ к папке для пользователя, но чтобы программа могла получить туда доступ ?


Делать доступ по паролю, но это уже совсем другая история и вряд ли это можно реализовать на ВБ 


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
cardinal
Дата 30.7.2006, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Цитата(WildS @  30.7.2006,  15:20 Найти цитируемый пост)
Не смог разобраться как работает пример, описанный выше ... может кто-нибудь объяснит ?  

Прога копируют папку в директорию, в которой сидит прога и переименовывает эту директорию так, что она перестает быть директорией (двойной клик на файл ничего не даст хорошего). Название директории и т.д. заносятся в бд и при этом ведется учет кто скрыл папку. То есть, если ты не знаешь пароля, то ты папки (скрытые ранее тем, кто был под этим ником и паролем) не сделаешь снова доступными.
Я бы взял это пример и поэкспеиментировал с ним. Попытался бы заныкать большие папки, попытаться их вскрыть без проги. Если не получится, то считай метод надежный. А вообще надо еще додуматься до того, чтобы искать папку. То есть надо знать о ее сощуствовании, чтобы искать и вскрывать, а так нет ее и нет - все пучком. smile  


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
WildS
Дата 30.7.2006, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 28.6.2006

Репутация: нет
Всего: нет



 Всем спасибо огромное .
Если кто ещё что-нибудь предложит, буду очень рад ! smile 
PM MAIL   Вверх
mihanik
Дата 31.7.2006, 07:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 11
Всего: 109



Ребята!!!

Это же так просто!!! smile 

Код

Private Sub Command1_Click()
Dim MyFSO As Object
Dim MyFolder As Object
    
    Set MyFSO = CreateObject("Scripting.FileSystemObject")
    Set MyFolder = MyFSO.GetFolder("Адрес папки....")
    MyFolder.Attributes = 2
End Sub


Значения атрибутов смотрите ЗДЕСЬ. smile  smile  smile 

  

Это сообщение отредактировал(а) mihanik - 31.7.2006, 08:00


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
WildS
Дата 31.7.2006, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 28.6.2006

Репутация: нет
Всего: нет



Вот чё я придумал :

пихаем это в модуль :

Код

Public Declare Function SetFileAttributes Lib "kernel32.dll" Alias "SetFileAttributesA" (ByVal lpFileName As String, ByVal dwFileAttributes As Long) As Long


Public Const FILE_ATTRIBUTE_DEVICE As Long = &H40
Public Const FILE_ATTRIBUTE_HIDDEN As Long = &H2
Public Const FILE_ATTRIBUTE_NOT_CONTENT_INDEXED As Long = &H2000
Public Const FILE_ATTRIBUTE_OFFLINE As Long = &H1000
Public Const FILE_ATTRIBUTE_SYSTEM As Long = &H4



На форме создаем кнопку и текстбокс и пихаем туда :


Код

Private Sub Command1_Click()
If Right(Text1.Text, 1) = "\" Then
Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)
End If

Name (Text1.Text) As (Text1.Text & "." & "{25336920-03F9-11CF-8FD0-00AA00686F13}") 'переименовываем папку так, чтобы система подумала, что это html док
SetFileAttributes (Text1.Text & "." & "{25336920-03F9-11CF-8FD0-00AA00686F13}"), FILE_ATTRIBUTE_NOT_CONTENT_INDEXED Or FILE_ATTRIBUTE_DEVICE Or FILE_ATTRIBUTE_HIDDEN Or FILE_ATTRIBUTE_OFFLINE Or FILE_ATTRIBUTE_SYSTEM 'устанавливаем папке атрибуты скрытности (НЕИНДЕКСИРОВАННЫЙ, УСТРОЙСТВО, СКРЫТЫЙ, НЕДОСТУПНЫЙ, СИСТЕМНЫЙ) (эти атрибуты помешают обнаружить папку даже поиском)

'доступ к файлам внутри папки из VB - ЕСТЬ !!!
'тэстировал на XP SP2

''text1.text - путь к папке
End Sub


Можно модумать и ещё доработать !
Такая схема спасёт только от ламеров, но уже что-то ... smile
Всем спасибо, будут идеи - ПИШИТЕ !!!     

Это сообщение отредактировал(а) WildS - 31.7.2006, 08:49
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0496 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.