Здравствуйте, гость ( Вход | Регистрация )
Elfinit | Дата 21.11.2009, 20:01 |
Всегда пожалуйста) | |
Rocky | Дата 20.11.2009, 23:05 |
Кстати неплохая идея )) Чет мне в голову не пришло это ))) | |
Elfinit | Дата 20.11.2009, 22:39 |
Просто я хотел сделать скрытой папку с логами.. чтобы пользователь не мог ее взять и удалить. Так кинь её по адресу getenv("APPDATA") + "/" + appname или getenv("TEMP") + "/" + appname или getenv("TMPDIR") "/" + appname (в линухе я кидаю в getenv("HOME") + "/" + appname). Вряд ли пользователь будет там регулярно сидеть и скурпулёзно удалять) |
|
Rocky | Дата 20.11.2009, 21:42 |
Гы... все буквы куда-то разлетелись... ![]() Просто я хотел сделать скрытой папку с логами.. чтобы пользователь не мог ее взять и удалить. В линухах все решается проще: установкой владельца директория. А вот в винде боюсь так не сделать... Поэтому решил скрыть. Вобщем, только winAPI юзать.. ясно.. Цитата ловить вызов функций получения файлов или папок и если в перечислении попадается файл или папка, которые ты хочешь скрыть, пропускать их и отдавать следующий за ним файл или папку не, все проще, есть папка logs внутри которой генерится куча html файлов с логами. С хуками кстати вариант..давно не занимался ничем таким.. Интересно, если происходит удаление файла через командную строку, прога, ставящая хук на удаление тоже выявит это? Тогда надо будет сделать чтобы сам резидент был неубиваем... ![]() оффтоп В линухах имя файла меняется.. это да... но есть такая вещь как хард-линки... Если память не изменяет ![]() |
|
ViGOur | Дата 20.11.2009, 11:53 |
Как уже было сказано, это нужно использовать API целевой системы. Под виндовсом есть такие штуки как хуки - перехват вызова функций, даже если это функции вызываются не в твоем процессе и не тобой. В твоем случае нужно просто ловить вызов функций получения файлов или папок и если в перечислении попадается файл или папка, которые ты хочешь скрыть, пропускать их и отдавать следующий за ним файл или папку. Под линуксом пока не знаю ничего о подобном... |
|
Litkevich Yuriy | Дата 20.11.2009, 11:30 |
У linux есть скрытые файлы у которых точка в начале имени. это особенность поведения файлового менеджера. Дело в том, что нельзя просто поставить точку в переди или убрать её, имя файла при этом меняется.если где-то обращение содержало путь: /foo/.bar/myfile то убрав точку перед bar, мы уже не можем обращаться по старому пути - его больше нет. В виндовозе мы можем менять этот атрибут (скрытости) не влияя на путь |
|
BRE | Дата 20.11.2009, 11:22 |
Rocky, в Линухе, например, вообще нет такого атрибута у файла/каталога У linux есть скрытые файлы у которых точка в начале имени. Цитата А QFileInfo::isHidden в линуксе что говорит? Всегда false? Для таких файлов true. |
|
Elfinit | Дата 20.11.2009, 11:13 |
А QFileInfo::isHidden в линуксе что говорит? Всегда false? | |
Litkevich Yuriy | Дата 20.11.2009, 10:37 |
Rocky, в Линухе, например, вообще нет такого атрибута у файла/каталога | |
panter_dsd | Дата 20.11.2009, 7:17 |
А при чем тут Qt? Только API конкретной системы. | |
Просмотр темы полностью (откроется в новом окне) | |
![]() |
Текстовая версия | Сейчас: 3.6.2023, 7:03 |