Показать сообщение отдельно
  #1  
Старый 13.10.2017, 21:20
selevo selevo вне форума
Прохожий
 
Регистрация: 31.10.2011
Сообщения: 11
Репутация: 10
По умолчанию Как сделать приложение не перехватывающее фокус ?

Я уже всю сеть облазил, всё равно берёт на себя фокус,а самое главное теряет фокус приложение в котором я находился до этого.

Ниже программа которую я запускаю по комбинации клафишь (через ярлык)
И она по идее должна вставлять текст в блокноте в котором я нажал эту комбинацию клавиш (запустил прогу)
Но вставки не происходит,блокнот теряет фокус и вставка происходит хз куда.

Код:
unit Unit1;
 
 
 procedure TForm1.FormCreate(Sender: TObject);
begin
ShowWindow(Handle,SW_HIDE); //
 ShowWindow(Application.Handle,SW_HIDE); //
   showWindow(Form1.Handle, SW_SHOWNOACTIVATE);
Application.ShowMainForm :=false;
end;
 
procedure TForm1.FormActivate(Sender: TObject);
begin
    //   S:=IdHTTP1.Get('http://www.cbr.ru/');
  //  S:= copy(S,Pos('руб.',S)+16,5);    // парсим страницу  :)
   // Clipboard.AsText:=S;
      Clipboard.AsText:='1234567890';
      keybd_event(VK_RCONTROL, 0, 0, 0); //Нажатие правого Ctrl.
      keybd_event(Ord('v'), 0, 0, 0); //Нажатие 'v'.
      keybd_event(Ord('v'), 0, KEYEVENTF_KEYUP, 0);  // отпускание v
      keybd_event(VK_RCONTROL, 0, KEYEVENTF_KEYUP, 0); //Отпускание правого Ctrl.
    Form1.close    ;
end;
 
end.
Ответить с цитированием