  | 
	
		
	
	
		Delphi - Вопросы и ответы, обсуждения - Ваши вопросы по Pascal/Delphi только в данном разделе | 
	 
	 
	
	
	
	
	
	
	
	
	
	
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            04.04.2011, 20:16
            
            
         | 
        
             
            #1
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Разведчик  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 03.04.2011  
                
                
                
                 Сообщений: 9
                   
 Популярность: 50  
                  
	 Сказал(а) спасибо: 12  
	
		
			
				Поблагодарили 20 раз(а) в 13 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Delphi
             
             
            
        
        
        
            
               
    В принцепе проблему решил 
Код 1 unit Unit1; 
 
interface 
 
uses 
  Windows, Messages, ShellApi,SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, StdCtrls; 
 
type 
  TForm1 = class(TForm) 
    Button1: TButton; 
    procedure Button1Click(Sender: TObject); 
 
 
  private 
    { Private declarations } 
  public 
    { Public declarations } 
  end; 
 
var 
  Form1: TForm1; 
  HookHandle: hHook; 
implementation 
 
{$R *.dfm} 
 
function HookProc(Code: integer; WParam: word; LParam: Longint): Longint; stdcall; 
var 
  msg: PEVENTMSG; 
begin 
  if Code >= 0 then begin 
    result := 0; 
    msg := Pointer(LParam); 
    with Form1 do 
      if msg.message = WM_LBUTTONDOWN then 
        keybd_event(Ord('L'), 0,0, 0); 
    end 
      else 
        result := CallNextHookEx(HookHandle, code, WParam, LParam); 
end; 
 
procedure TForm1.Button1Click(Sender: TObject); 
begin 
 
HookHandle := SetWindowsHookEx(0, 
  @HookProc, HInstance, 0); 
end; 
  end. 
 
 
 
Код 2 unit Unit1; 
 
interface 
 
uses 
  Windows, Messages, ShellApi,SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, StdCtrls, ExtCtrls; 
 
 
type 
  TForm1 = class(TForm) 
    Timer1: TTimer; 
    procedure Timer1Timer(Sender: TObject); 
 
  private 
    { Private declarations } 
  public 
    { Public declarations } 
  end; 
 
var 
  Form1: TForm1; 
  HookHandle: hHook; 
 
implementation 
 
{$R *.dfm} 
function HookProc(Code: integer; WParam: word; LParam: Longint): Longint; stdcall; 
var 
  msg: PEVENTMSG; 
begin 
  if Code >= 0 then begin 
    result := 0; 
    msg := Pointer(LParam); 
    with Form1 do 
      if msg.message = WM_LBUTTONDOWN then 
        keybd_event(Ord('L'), 0, 0, 0); 
 
    end 
      else 
        result := CallNextHookEx(HookHandle, code, WParam, LParam); 
      end; 
procedure TForm1.Timer1Timer(Sender: TObject); 
begin 
 HookHandle := SetWindowsHookEx(0, 
  @HookProc, HInstance, 0); 
 
end; 
 
end. 
Эти циклы повторяющиеся. 
По первому коду: симуляция должна идти по нажатию мыши, но она продолжается ждаже после закрытия программы. 
Как можно жто всё усовершенствовать. 
Симуляция клавиши - это хоткей в СЕ.
     
          
        
        
        
        
        
        
        
        
            
                 
                
                    
                        Последний раз редактировалось †PreDatoR†; 06.04.2011 в 22:13.
                    
                    
                
             
        
        
      | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            05.04.2011, 07:02
            
            
         | 
        
             
            #2
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Рыцарь-защитник  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 14.06.2010  
                
                
                
                 Сообщений: 584
                   
 Популярность: 6626  
                  
	 Сказал(а) спасибо: 86  
	
		
			
				Поблагодарили 847 раз(а) в 266 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: Delphi
             
             
            
        
        
        
            
               
    как вариант, два таймера, один включается по маусдаун и жден n сек (время начала работы после зажатия). После n сек включается второй таймер который по кругу выполняет код нажатия клавиши, время ставиться с св-вах таймеров
     
         
        
        
        
        
        
        
            
             ________________  
                 Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  
 Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  
 Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). 
             
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
	
		
			| 
				
					Пользователь сказал cпасибо:
				
				
				
			 | 
			 | 
		 
	 
  
  
	 
	
		 
	 
 
 
	
		
	
	
	
	
	
		
	
		 
		Ваши права в разделе
	 | 
 
	
		
		Вы не можете создавать новые темы 
		Вы не можете отвечать в темах 
		Вы не можете прикреплять вложения 
		Вы не можете редактировать свои сообщения 
		 
		
		
		
		
		HTML код Выкл. 
		 
		
	  | 
 
 
	 | 
	
		
	 | 
 
 
	
		
			 
			Похожие темы
		 | 
	 
	| Тема | 
	Автор | 
	Раздел | 
	Ответов | 
	Последнее сообщение | 
 
	| 
		
		[Помогите!] Delphi.
	 | 
	viteks63 | 
	Школа Читера | 
	3 | 
	28.03.2011 19:26 | 
 
	| 
		
		[Помогите!] Delphi...
	 | 
	stels95 | 
	Общение и обсуждение | 
	14 | 
	29.01.2011 03:38 | 
 
 
 
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 16:27. 
		 
	 
 
 | 
  |