Ir para conteúdo
Fórum Script Brasil

Wagner Campanari Pereira

Membros
  • Total de itens

    12
  • Registro em

  • Última visita

Posts postados por Wagner Campanari Pereira

  1. Estou usando o procedimento abaixo para enviar o texto para o edit de um form, e o procedimento deve estar sendo executado em um timer  com interval de 1000 (SendKeys('Hello Word'));.

    Mais eu preciso que quando o form for minimizado o sendkeys, continue enviando a mensagem para o edit, mais o que acontece é que ele envia a mensagem para qualquer outro aplicativo que eu abra com algum campo digitável.

    É possível, isolar o meu aplicativo e enviar as teclas somente para ele e depois eu continuar usando o teclado para digitar em outros programas? 

     

     

      procedure SimulateKeyDown(Key : byte);
    begin
      keybd_event(Key, 0, 0, 0);
    end;

    procedure SimulateKeyUp(Key : byte);
    begin
      keybd_event(Key, 0, KEYEVENTF_KEYUP, 0);
    end;

    procedure SimulateKeystroke(Key : byte;
                                extra : DWORD);
    begin
      keybd_event(Key,
                  extra,
                  0,
                  0);
      keybd_event(Key,
                  extra,
                  KEYEVENTF_KEYUP,
                  0);
    end;

    procedure SendKeys(s : string);
    var
      i : integer;
      flag : bool;
      w : word;
    begin
     {Get the state of the caps lock key}
      flag := not GetKeyState(VK_CAPITAL) and 1 = 0;
     {If the caps lock key is on then turn it off}
      if flag then
        SimulateKeystroke(VK_CAPITAL, 0);
      for i := 1 to Length(s) do begin
        w := VkKeyScan(s);
       {If there is not an error in the key translation}
        if ((HiByte(w) <> $FF) and
            (LoByte(w) <> $FF)) then begin
         {If the key requires the shift key down - hold it down}
          if HiByte(w) and 1 = 1 then
            SimulateKeyDown(VK_SHIFT);
         {Send the VK_KEY}
          SimulateKeystroke(LoByte(w), 0);
         {If the key required the shift key down - release it}
          if HiByte(w) and 1 = 1 then
            SimulateKeyUp(VK_SHIFT);
        end;
      end;
     {if the caps lock key was on at start, turn it back on}
      if flag then
        SimulateKeystroke(VK_CAPITAL, 0);
    end;

     

     

     

     

  2. 6 horas atrás, Jhonas disse:

    Eu tenho um edit que fica recebendo a quantidade de linhas de um memo e o conteúdo do memo vem de um timer;

    edit1.text:= floattostr(memo2.lines.count);

    Faltam informações:

    1 - Qual o tempo que voce especificou no Timer ?

    2 - De onde vem  conteudo do memo ?

    3 - O conteudo do memo fica sendo trocado ?

    4 - o maior e o menor valor é do mesmo memo ?

    1 - 100 milisegundos

    2- Vem de uma pagina web (https://www.binance.com/en/trade/BTC_USDT)

    3- Sim 

    4- Sim 

  3. Eu tenho um edit que fica recebendo a quantidade de linhas de um memo e o conteúdo do memo vem de um timer;

    edit1.text:= floattostr(memo2.lines.count);

    O valor do edit fica alternado de tempo em tempo, depois de alguns segundos o valor fica fixo em dois valores um maior e um menor, 528 e 570, só que de tempo em tempo esses dois valores podem ser diferente, mais sempre um maior e outro menor 450, 525 por exemplo.

    Preciso de uma forma do código me pegar o menor valor entre os dois números, não estou conseguindo uma forma de fazer isso.

  4. Encontrei  esse Código para o chromium, funciona mais para o que eu preciso não da certo, porque os valores que eu tenho que pegar vem de um script em java, mais vou postar para outros que precisarem.

    Código:
    
    procedure ShowSource(const SRC: ustring);
    begin
      ShowMessage(SRC);
    end;
    
    procedure TMainForm.ChromiumLoadEnd(Sender: TObject; const browser: ICefBrowser;
      const frame: ICefFrame; httpStatusCode: Integer);
    begin
      // это событие срабатывает, когда документ загружен
      if (browser <> nil) and (browser.Identifier = Chromium.BrowserId) and
        ((frame = nil) or (frame.IsMain))
      then
        Chromium.Browser.MainFrame.GetSourceProc(ShowSource);
    end;
    
    
      

    preciso pegar os preços das moedas desse site https://hitbtc.com/ da listagem que aparece.

     

  5. Estou tentando montar um sistema que copie o texto de um site qualquer e me devolva o texto em um edit apenas uma unica palavra. Eu estou usando o ponteiro do mouse para selecionar o texto e usando a função colar. as vezes funciona, mais as vezes ele não cola o texto certo e cola parte do código do delphi. Não entendo se é alguma proteção do site ou o que é? 

    SetCursorPos(941, 385);
      Mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,941,385 );
      //SetCursorPos(548, 839);
      Mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,1006,385 );
      Mouse_event(MOUSEEVENTF_LEFTUP,0,0,1006,385 );

    Chromium1.Browser.GetFocusedFrame.Copy;

          Edit1.SetFocus;
          Chromium1.Browser.GetFocusedFrame.Paste;
          Edit1.PasteFromClipboard;

      

×
×
  • Criar Novo...