Harry
							
								Команда клуба
								
								 
								  Offline
								
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 «  : 07-10-2003 10:23 »   | 
								
								 | 
							  
							 
							А как программно проверить, запущен ли какой-либо процесс и программно же включить/выключить его? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							Слабый пол силен в силу слабости сильного пола к слабому 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Var-Alex
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #1 : 07-10-2003 12:11 »   | 
								
								 | 
							  
							 
							EnumProcesses - подробенее в MSDN, убить процесс TerminateProcess тоже MSDN подробнее. А что ты имеешь ввиду под вкл/выкл? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Harry
							
								Команда клуба
								
								 
								  Offline
								
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #2 : 07-10-2003 13:02 »   | 
								
								 | 
							  
							 
							Т.е. для программы, которая будет прописана в моем коде должна быть проверка - запущена ли она, например, раз в 15 минут и если нет - запустить. Например, хочу проверку для FlashGet или там для Icq сделать... 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							Слабый пол силен в силу слабости сильного пола к слабому 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							x77
							
								Модератор
								
								 
								  Offline
								Пол:   
								
								меняю стакан шмали на обратный билет с Марса.
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #3 : 07-10-2003 14:45 »   | 
								
								 | 
							  
							 
							h {= OpenMutex )MUTEX_ALL_ACCESS, TRUE, 'my_proc':;   if  h = 0 then     h {= CreateMutex )nil, TRUE, 'my_proc':   else     ShowMessage )'Already running':;и это далеко не единственный вариант    можно искать по FindWindow, можно эксклюзивно открывать какой-то файл, можно прописывать флаг в реестр, думай сам, что тебе лучше.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							p0s0l
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #4 : 07-10-2003 16:24 »   | 
								
								 | 
							  
							 
							x77, а куда этот OpenMutex пихать, что-то я не понял... Объясни, я не работал с этими Mutexами ни разу - как с помощью них узнать, запущена ли какая-то прога ? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							x77
							
								Модератор
								
								 
								  Offline
								Пол:   
								
								меняю стакан шмали на обратный билет с Марса.
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #5 : 07-10-2003 17:00 »   | 
								
								 | 
							  
							 
							мьютекс - это некий именнованый (хотя и не обязательно) объект в системе. в OnCreate формы пытаемся открыть мьютекс. если мы его благополучно открыли - значит прога запущена. если не открыли - значит проги нет, создаём мьютекс и работаем дальше. обычно мьютексами реализуется проверка на уникальность запуска, но можно его юзать и для этой задачи, imho. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							p0s0l
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #6 : 08-10-2003 03:56 »   | 
								
								 | 
							  
							 
							Т.е. ты хочешь сказать, что например. ICQ при своём запуске создаёт какой-то mutex ? И как он называется ? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							x77
							
								Модератор
								
								 
								  Offline
								Пол:   
								
								меняю стакан шмали на обратный билет с Марса.
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #7 : 08-10-2003 03:59 »   | 
								
								 | 
							  
							 
							понятия не имею, что оно создаёт, и как оно называется - тем более   . это всего лишь один из множества способов.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Harry
							
								Команда клуба
								
								 
								  Offline
								
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #8 : 08-10-2003 06:35 »   | 
								
								 | 
							  
							 
							Так а как указать на сам процесс? my_proc - это ведь собирательное название процесса. А как указывать на него? Путь к файлу прописывать? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							Слабый пол силен в силу слабости сильного пола к слабому 
						 | 
					 
				 
			 |  
		 
	 | 
	| 
		
		
	 | 
	
		
		
			
				
					
						
							x77
							
								Модератор
								
								 
								  Offline
								Пол:   
								
								меняю стакан шмали на обратный билет с Марса.
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #10 : 08-10-2003 07:07 »   | 
								
								 | 
							  
							 
							my_proc - это, в данном случае, имя мьютекса, а не процесса. процесс нас не волнует, мы проверяем существование мьютекса. и если он есть - значит процесс уже был запущен (иначе, кто же этот мьютекс создал?). а если мьютекса нет, значит и процесса нет. в этом случае мы создаём этот мьютекс и работаем дальше. т.е. мьютекс - это вариант проверить  собственную прогу на повторное включение. теперь что касается чужих. function Executed )FileName{ string:{ boolean; var   h{ THandle;   pe{ PROCESSENTRY32;   r{ boolean; begin   Result {= FALSE;   h {= CreateToolhelp32Snapshot )TH32CS_SNAPPROCESS, 0:;   try     r {= Process32First )h, pe:;     while r do begin       if AnsiUpperCase )FileName: = AnsiUpperCase )pe.szExeFile: then begin         Result {= TRUE;         Break;       end else         r {= Process32Next )h, pe:;     end;   finally     CloseHandle )h:;   end; end;
  procedure TForm1.Button1Click)Sender{ TObject:; begin   if Executed )Edit1.Text: then     ShowMessage )'Already running!':; end;функция Executed перебирает все процессы в памяти и определяет, был ли хоть один из них зарущен файлом FileName. и если да - то возвращает TRUE. со второй, я думаю, и так всё понятно    
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	| 
		
		
	 | 
	
		
		
			
				
					
						
							x77
							
								Модератор
								
								 
								  Offline
								Пол:   
								
								меняю стакан шмали на обратный билет с Марса.
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									«  Ответ #12 : 08-10-2003 08:37 »    | 
								
								 | 
							  
							 
							не за что    
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							p0s0l
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #13 : 08-10-2003 10:31 »   | 
								
								 | 
							  
							 
							x77, тогда я не понял, зачем ты про Mutex сказал, ведь нужно узнать запущен ли чужая прога, а не своя. Ну да ладно...    
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							x77
							
								Модератор
								
								 
								  Offline
								Пол:   
								
								меняю стакан шмали на обратный билет с Марса.
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #14 : 08-10-2003 10:35 »   | 
								
								 | 
							  
							 
							p0s0l, только никому не говори: я прогнал     
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Harry
							
								Команда клуба
								
								 
								  Offline
								
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #15 : 09-10-2003 10:07 »   | 
								
								 | 
							  
							 
							x77, что-то не получается. На данный тобой код ругается так:
  [Error] Proverka.pas(30): Undeclared identifier: 'PROCESSENTRY32' [Error] Proverka.pas(34): Undeclared identifier: 'CreateToolhelp32Snapshot' [Error] Proverka.pas(34): Undeclared identifier: 'TH32CS_SNAPPROCESS' [Error] Proverka.pas(36): Undeclared identifier: 'Process32First' [Error] Proverka.pas(38): ')' expected but identifier 'szExeFile' found [Error] Proverka.pas(42): Undeclared identifier: 'Process32Next' [Fatal Error] Proverka_zap_pril.dpr(5): Could not compile used unit 'Proverka.pas'
  Впечатление такое, что у меня библиотека какая-то не подключена... что скажешь? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							Слабый пол силен в силу слабости сильного пола к слабому 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							x77
							
								Модератор
								
								 
								  Offline
								Пол:   
								
								меняю стакан шмали на обратный билет с Марса.
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #16 : 09-10-2003 10:12 »   | 
								
								 | 
							  
							 
							ага. допиши в uses tlhelp32 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Harry
							
								Команда клуба
								
								 
								  Offline
								
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #17 : 09-10-2003 10:34 »   | 
								
								 | 
							  
							 
							Да, так все работает. А что это за библиотека и за что она отвечает? Только за процессами в памяти или она делает что-то еще? Я смотрю, этот код следит за процессами в памяти не привязываясь к пути к файлу. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							Слабый пол силен в силу слабости сильного пола к слабому 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							x77
							
								Модератор
								
								 
								  Offline
								Пол:   
								
								меняю стакан шмали на обратный билет с Марса.
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #18 : 09-10-2003 10:45 »   | 
								
								 | 
							  
							 
							можно и к пути привязаться, при желании. библиотека предназначена для получения сведений о процесса, потоках, модулях и ипользуемой ими памяти:
  CreateToolhelp32Snapshot    // делает "снимок" текущих процессов (модулей, памяти, пр.)
  // работа с динамической памятью процессов Heap32First Heap32ListFirst Heap32ListNext Heap32Next
  // модулями Module32First Module32Next
  // процессами Process32First Process32Next
  // потоками Thread32First Thread32Next
  // чтение памяти в контексте процесса Toolhelp32ReadProcessMemory 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							x77
							
								Модератор
								
								 
								  Offline
								Пол:   
								
								меняю стакан шмали на обратный билет с Марса.
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #19 : 09-10-2003 10:46 »   | 
								
								 | 
							  
							 
							наваять, что ли, статью на эту тему?    
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Harry
							
								Команда клуба
								
								 
								  Offline
								
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #20 : 09-10-2003 10:53 »   | 
								
								 | 
							  
							 
							А если не затруднит - можно и наваять. Я думаю, многим будет интересно. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							Слабый пол силен в силу слабости сильного пола к слабому 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							x77
							
								Модератор
								
								 
								  Offline
								Пол:   
								
								меняю стакан шмали на обратный билет с Марса.
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #21 : 09-10-2003 10:55 »   | 
								
								 | 
							  
							 
							через пару дней - возможно. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							x77
							
								Модератор
								
								 
								  Offline
								Пол:   
								
								меняю стакан шмали на обратный билет с Марса.
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #22 : 09-10-2003 11:14 »   | 
								
								 | 
							  
							 
							в сабж. довольно интересно с активными процессами работает самый обыкновнный Far. там можно вывести список процссов, нажать на нём F3, и увидеть примерно следующее: Module:                Rtvscan.exe Full path:             C:\Program Files\Symantec_Client_Security\Symantec AntiVirus\Rtvscan.exe File version:          8.00.00.9374 Description:           Symantec AntiVirus PID:                   1368 Parent PID:            556  (services.exe) Priority:              8 Threads:               39
  Started at:            08.10.03 11:03 Uptime:                1 04:03:32 CPU time:              00:00:35 In kernel mode:        00:00:28 In user mode:          00:00:06
  GDI Objects:           8 USER Objects:          4
  Processor Time:          00:00:35.350       0% Privileged Time:         00:00:28.282       0% User Time:               00:00:06.067       0% Handle Count:                   309 Page File Bytes:            8343552 Page File Bytes Peak:       8413184 Working Set:               10272768 Working Set Peak:          11186176 Pool Nonpaged Bytes:          10056 Pool Paged Bytes:             38652 Private Bytes:              8343552 Page Faults:                  73396      0/sec Virtual Bytes:             82378752 Virtual Bytes Peak:        88014848 IO Data Bytes:            140354931      0/sec IO Read Bytes:             77412563      0/sec IO Write Bytes:            62942368      0/sec IO Other Bytes:             2332286      0/sec IO Data Operations:          331554      0/sec IO Read Operations:          244044      0/sec IO Write Operations:          87510      0/sec IO Other Operations:         714468      0/sec
  Window title:          Scan HWND:                  0001005C Window style:          04CF0000  WS_CLIPSIBLINGS WS_BORDER WS_DLGFRAME WS_SYSMENU WS_THICKFRAME WS_MINIMIZEBOX WS_MAXIMIZEBOX Extended style:        00000100  WS_EX_CONTROLPARENT WS_EX_STATICEDGE WS_EX_APPWINDOW WS_EX_LAYERED WS_EX_LAYOUTRTL
  Command Line: "C:\Program Files\Symantec_Client_Security\Symantec AntiVirus\Rtvscan.exe"
  Environment:
  ALLUSERSPROFILE=C:\Documents and Settings\All Users CLASSPATH=c:\sybase\ASEP\3pclass.zip;c:\sybase\ASEP\monclass.zip;C:\Program Files\Borland\InterBase\InterClient\interclient.jar;"C:\Program Files\JavaSoft\JRE\1.2\lib\ext\QTJava.zip" CommonProgramFiles=C:\Program Files\Common Files COMPUTERNAME=TESTIK ComSpec=C:\WINDOWS\system32\cmd.exe INCLUDE=c:\sybase\OCS-12_0\include;c:\sybase\OCS-12_0\include LIB=c:\sybase\OCS-12_0\lib;c:\sybase\OCS-12_0\lib NUMBER_OF_PROCESSORS=1 OS=Windows_NT Path=c:\sybase\OCS-12_0\dll;c:\sybase\OCS-12_0\bin;c:\sybase\ASEP;C:\Program Files\Borland\Delphi7\Bin;C:\Program Files\Borland\Delphi7\Projects\Bpl\;C:\PROGRA~1\Borland\Delphi5\Projects\Bpl;C:\PROGRA~1\Borland\vbroker\jre\Bin;C:\PROGRA~1\Borland\vbroker\Bin;C:\PROGRA~1\Borland\Delphi5\Bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;C:\Program Files\Editeur;c:\sybase\SQLRemote\dll PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH PROCESSOR_ARCHITECTURE=x86 PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 7, GenuineIntel PROCESSOR_LEVEL=15 PROCESSOR_REVISION=0207 ProgramFiles=C:\Program Files QTJAVA="C:\Program Files\JavaSoft\JRE\1.2\lib\ext\QTJava.zip" SYBASE=c:\sybase SYBASE_OCS=OCS-12_0 SystemDrive=C: SystemRoot=C:\WINDOWS TEMP=C:\WINDOWS\TEMP TMP=C:\WINDOWS\TEMP USERPROFILE=C:\Documents and Settings\LocalService windir=C:\WINDOWS
  Modules:   Base      Size    Path (version info is not displayed)   00400000   AC000 C:\Program Files\Symantec_Client_Security\Symantec AntiVirus\Rtvscan.exe   77F50000   A8000 C:\WINDOWS\System32\ntdll.dll   77E60000   E8000 C:\WINDOWS\system32\kernel32.dll   501E0000    7000 C:\WINDOWS\System32\CBA.DLL   50240000    A000 C:\WINDOWS\System32\MsgSys.dll   50250000   14000 C:\WINDOWS\System32\NTS.dll   71AB0000    9000 C:\WINDOWS\System32\WSOCK32.dll   71A90000   15000 C:\WINDOWS\System32\WS2_32.dll   77C00000   53000 C:\WINDOWS\system32\msvcrt.dll   71A80000    8000 C:\WINDOWS\System32\WS2HELP.dll   77DC0000   9E000 C:\WINDOWS\system32\ADVAPI32.dll   78000000   86000 C:\WINDOWS\system32\RPCRT4.dll   71A30000   3C000 C:\WINDOWS\System32\MSWSOCK.dll   71C00000   4E000 C:\WINDOWS\System32\NETAPI32.dll   77D30000   8C000 C:\WINDOWS\system32\USER32.dll   77C60000   40000 C:\WINDOWS\system32\GDI32.dll   50270000   12000 C:\WINDOWS\System32\PDS.DLL   71B00000   11000 C:\WINDOWS\system32\MPR.dll   771A0000  121000 C:\WINDOWS\system32\ole32.dll   773C0000  7FB000 C:\WINDOWS\system32\SHELL32.dll   00320000   64000 C:\WINDOWS\system32\SHLWAPI.dll   6E0F0000   11000 C:\WINDOWS\System32\CTL3D32.dll   76B20000   2D000 C:\WINDOWS\System32\WINMM.dll   516A0000   11000 C:\Program Files\Symantec_Client_Security\Symantec AntiVirus\NAVLU.dll   73D90000   F2000 C:\WINDOWS\System32\MFC42.DLL   76BE0000    B000 C:\WINDOWS\System32\PSAPI.DLL   75A40000   A6000 C:\WINDOWS\system32\USERENV.dll   78090000   E4000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.10.0_x-ww_f7fb5805\comctl32.dll   77330000   8B000 C:\WINDOWS\system32\comctl32.dll   61EC0000    E000 C:\WINDOWS\System32\MFC42LOC.DLL   51810000    D000 C:\Program Files\Symantec_Client_Security\Symantec AntiVirus\NAVNTUTL.DLL   76B90000    4000 C:\WINDOWS\System32\SFC.DLL   76C50000   29000 C:\WINDOWS\System32\sfc_os.dll   76C20000   2B000 C:\WINDOWS\System32\WINTRUST.dll   76290000   8C000 C:\WINDOWS\system32\CRYPT32.dll   76270000    F000 C:\WINDOWS\system32\MSASN1.dll   76C80000   22000 C:\WINDOWS\system32\IMAGEHLP.dll   71A70000    8000 C:\WINDOWS\System32\wshtcpip.dll   76F10000   25000 C:\WINDOWS\System32\DNSAPI.dll   76FA0000    7000 C:\WINDOWS\System32\winrnr.dll   76F50000   2D000 C:\WINDOWS\system32\WLDAP32.dll   76FB0000    5000 C:\WINDOWS\System32\rasadhlp.dll   71F10000    6000 C:\WINDOWS\System32\wshisn.dll   51480000   4D000 C:\Program Files\Symantec_Client_Security\Symantec AntiVirus\i2ldvp3.dll   51370000   31000 C:\Program Files\Symantec_Client_Security\Symantec AntiVirus\NAVAPI32.DLL   51750000   11000 C:\Program Files\Symantec_Client_Security\Symantec AntiVirus\vpmsece.dll   69100000   90000 C:\PROGRA~1\COMMON~1\SYMANT~1\VIRUSD~1\20031008.020\NAVEX32a.DLL   692C0000   1C000 C:\PROGRA~1\COMMON~1\SYMANT~1\VIRUSD~1\20031008.020\NAVENG32.DLL   51300000    D000 C:\Program Files\Symantec_Client_Security\Symantec AntiVirus\NAVAP32.DLL[/qoute]
  вот это, примерно, то, что позволяет делать Tool Help API.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Harry
							
								Команда клуба
								
								 
								  Offline
								
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #23 : 09-10-2003 11:55 »   | 
								
								 | 
							  
							 
							Оч-чень интересно. А ведь это по F4 можно править. Сейчас попробую. Интересно, что получится... 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							Слабый пол силен в силу слабости сильного пола к слабому 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							x77
							
								Модератор
								
								 
								  Offline
								Пол:   
								
								меняю стакан шмали на обратный билет с Марса.
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #24 : 09-10-2003 12:00 »   | 
								
								 | 
							  
							 
							нет, править ты будешь текстовую копию, но никак не это    
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	| 
		
		
	 | 
	 |