![]() |
|
|
#1
|
||||
|
||||
|
Добрый день! Скажите пожалуйста, какое происходит событие в системе, когда пользователь нажимает два раза на левую кнопку мыши и открывает папку? Событие OnClick? Или что-то другое? И как перехватить это событие?
|
|
#2
|
||||
|
||||
|
OnDblClick - двойное нажатие левой мышки
|
|
#3
|
||||
|
||||
|
Понятно. А как можно написать программу, с помощью которой можно было бы ставить пароль на папку? То есть когда пользователь пытается открыть папку, то появлялось бы окошко, куда надо было бы ввести пароль и если он правильный, то папка открывается.
|
|
#4
|
|||
|
|||
|
Если напишешь кинь исходник...
могу сказать тебе надо в начале программу забить в реестр на автозагрузку...остально ищи в инете.. |
|
#5
|
|||
|
|||
|
хех, ну отловит он двойной щелчок а остальные способы открытия папки как будет отлавливать??? например меню правой кнопки и "открыть" или в проводнике или в любом файл-менеджере
![]() нет товарищ, такая защита только с полным дауном может пройти |
|
#6
|
|||
|
|||
|
лови окна открывающиеся с заголовком защищенной папки, скрывай их и запрашивай пароль
Правда через Far можно будетвсе равно открыть |
|
#7
|
|||
|
|||
|
А может тебе имеет смысл написать прогу которая будет...
1. Пихать содержимое папки в 1 файл; 2. Шифровать/архивировать его; 3. Папку удалять... 4. Вместо нее ставить этот файл, который будет открываться твоей прогой; 5. А потом при необходимости ее можно преобразовать обратно. Этот вариант тебе подходит? Но учти это уже "Архватор" (большой и могущественный... но я не об этом) будет (наверно ) На мой взгляд это более прально! А чем тебя не устраивает зип. Если я вдрг не прав не ругайте!!! Я не долго в этом деле... |
|
#8
|
||||
|
||||
|
Да не нужен мне архиватор! Если мне он понадобится для архивации папки, то я им и воспользуюсь. Свой писать я не собираюсь. Я просто хочу написать программу, которая бы ставила желаемый мной пароль на папку (не просто на отдельный документ, а именно на папку, в которой уже лежат эти самые документы). Я думаю, что программа должна получать полное имя файла, и блокировать ее открытие до того, пока в появившееся окошко не будет введен верный пароль, который я задал. Ну хорошо. Если никто не может помочь мне в этом, то может кто-нибудь знает как сделать такой пароль на любую программу, когда запускаешь ее ехе-файл?
|
|
#9
|
|||
|
|||
|
Как уже сказали:
Цитата:
Код:
function KillTask(ExeFileName: string): integer;
const
PROCESS_TERMINATE=$0001;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
slavka := true;
result := 0;
FSnapshotHandle := CreateToolhelp32Snapshot
(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle,
FProcessEntry32);
while integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
UpperCase(ExeFileName))
or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeFileName))) then
begin
Result := Integer(TerminateProcess(OpenProcess(
PROCESS_TERMINATE, BOOL(0),
FProcessEntry32.th32ProcessID), 0));
end;
ContinueLoop := Process32Next(FSnapshotHandle,
FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
slavka := true;
end;Потом ставим таймер с мнтервало в 1 милисекунду... Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
If Edit1.Text <> Parol then
KillTask('artmoney.exe');
end; Если напишешь будь другом выложь сюда исходник! ![]() |
|
#10
|
|||
|
|||
|
А как на папку ставить пароли... и т.д. Не в курсе!
![]() |
|
#11
|
|||
|
|||
|
artemavd Почитай последний пост, может поможет
http://www.softboard.ru/lofiversion/...hp/t30989.html |
|
#12
|
||||
|
||||
|
По-моему, надо следить за файловой системой ( как FileMon )
Пока пароль не введен, сделать прерывание экплореру. ЗЫ Как все это сделать - не знаю!!!!! |
|
#13
|
|||
|
|||
|
Цитата:
Я тоже пыталься решить такую задачу прогу я сделал, но там требуется оптимизация. Я думаю ты разберешся вот код. Отзывы кидай на аську 412-636-666 |
|
#14
|
||||
|
||||
|
Кто знает, где эти RbButon, RbPanel... взять?
![]() |
|
#15
|
||||
|
||||
|
И еще.
НОРМАЛЬНЫМИ(!!!!) компонентами не мог сделать???? |