![]()  | 
	
 
  | 
| 
		 
			 
			#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  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 И еще. 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	НОРМАЛЬНЫМИ(!!!!) компонентами не мог сделать????  |