PDA

Просмотр полной версии : Всплывающее окно при открытии папки


clin
11.12.2008, 08:58
Как реализовать, чтобы при входе в определённую папку выскакивало окно-предупреждение с надписью и кнопкой ОК и всё. Вижу это так: exe or bat файл лежит в этой папке (в той самой, при входе в которую это окно будет "выскакивать") и работает как автозапуск в папке.. Вообщем очень нужно. Заранее спс.

slesh
11.12.2008, 09:53
Единственные нормальные способы это только перехват функции чтения каталога и самый нормальный способ это только драйвер который перехватывает ядерную функцию на чтение каталога и сообщает об этом в его юзермодную часть.

clin
11.12.2008, 10:07
А если написать autorun.inf? Только не знаю, что там прописать..

-=lebed=-
11.12.2008, 10:11
А если написать autorun.inf? Только не знаю, что там прописать..

[autorun]
Open = имя_запускаемого_файла

clin
11.12.2008, 10:20
[autorun]
Open = имя_запускаемого_файла
Не получилось.
http://pic.ipicture.ru/uploads/081211/WR5sn95Pqv.jpg

clin
11.12.2008, 10:22
менял и на *.bat, и путь указывал не полный, а только 1.txt..=\

-=lebed=-
11.12.2008, 10:25
менял и на *.bat, и путь указывал не полный, а только 1.txt..=\
inf-файл должен строго называться autorun.inf и должен лежать в корне диска.

clin
11.12.2008, 10:47
тоже самое..
http://pic.ipicture.ru/uploads/081211/d5CdfcM4vA.jpg

-=lebed=-
11.12.2008, 10:51
тоже самое..
http://pic.ipicture.ru/uploads/081211/d5CdfcM4vA.jpg
Открываемый файл должен быть exe, автозапуск должен быть включен, должна работать служба определения оболочки оборудования.

slesh
11.12.2008, 10:57
Но в любом случае это не сработает если отключен авторан и ты юзаешь какойнить файловый менеджер. + это тока на корневые каталоги дисков. И установить на отдельный каталог - НЕЛЬЗЯ.

clin
11.12.2008, 10:58
Определение оборудования оболочки - вкючено, авто;
Автозапуск, это служба планировщика заданий?

preda1or
11.12.2008, 10:58
.folder еще никто не отменял...

clin
11.12.2008, 11:07
.folder еще никто не отменял...
это что?

preda1or
11.12.2008, 11:11
Попробуй создать файл "folder.folder" - увидишь. А более лудший вариант снизу.

preda1or
11.12.2008, 11:13
а именно:
[HKEY_CLASSES_ROOT\Folder\Shell\explore\command\]
[HKEY_CLASSES_ROOT\Folder\Shell\open\command\]


Дальше пашите от этого.
И не забываем говорить спасибо.

-=lebed=-
11.12.2008, 11:32
Если система <= Sp2 то может помочь WMF-сплоит. Правда будет запускаться не всегда - а только когда смотриш папку в проводнике в режиме показывать эскизы...

preda1or
11.12.2008, 11:33
-=lebed=-
А разве то, что я предложил, не является самым универсальным и легким методом?)

St0nX
11.12.2008, 12:02
Можно просто окна перебирать. Обычно в заголовке указывается путь если совпадает то папка открыта. читаеш заголовок функцией GetWindowText и сравниваеш а проще вообще получить хендл активного окна с помощью Getforegroundwindow() и проверить его заголовок.

bons
11.12.2008, 19:40
Самый естественный способ - это запретить чтение данной директории любому пользователю кроме избранного. Таким образом для входа в директорию понадобится ввод пароля этого самого пользователя.
Иначе может быть только использование драйвера, как писал slesh