Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Эмуляция клавиши enter (https://forum.antichat.xyz/showthread.php?t=112799)

spite 24.03.2009 18:29

Эмуляция клавиши enter
 
Ребята помогите написать батник или реализовать это по другому!
Значит я запускаю програму и мне надо нажать в ней кнопку, или с эмулировать нажатия кнопки ентер, возможно такое с помощью батника сделать?

Chaak 24.03.2009 18:46

на винапи можно(на батнике думаю нельзя):
PHP код:

#include <windows.h>

int _tmain(int argc_TCHARargv[])
{
    
HWND hwnd;

    if(
hwnd FindWindow(NULLTEXT("Пуск")))
    {
        
SendMessage(hwndWM_LBUTTONDOWNNULLNULL);
    }

    return 
0;



spite 24.03.2009 18:51

а есть программы типа EasyAutoInstaller которые эмулируют нажатия?

lll6 24.03.2009 19:04

AutoIt

ex3me 24.03.2009 19:18

или Sign 0f Mystery

OLISAV 04.04.2009 16:16

эмуляция нажатия любой клавиши...
 
Эмуляция нажатий клавиш - как я делал в Delphi...

Пишешь процедурку...

procedure TForm1.SetKey(Key:Integer);
begin
keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0);
keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY,0);
keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0);
end;
потом вызываешь её когда тебе нужно:


SetKey(13); //ASCII код Enter-а...

Если начнет ругаться - значит какой-то uses нужно добавить... У меня были такие:

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, mmsystem;

Gar|k 04.04.2009 17:14

если программа консольная то и батник сойдет
открой блокнот нажми энтер и сохрани txt файл типа lolo.txt

потом напиши батник start proga.exe < lolo.txt
и будет тебе щастье

если прога оконная то без вин апи тут не обойтись.

criz 05.04.2009 19:13

Gar|k:
Цитата:

Сообщение от spite
Значит я запускаю програму и мне надо нажать в ней кнопку

есть кнопка, следовательно она не консольная :)
spite, Chaak тебе уже ответил. Компиль, а потом можешь созать батник, который будет прогу запускать :)

St0nX 05.04.2009 20:27

Цитата:

Сообщение от Chaak
на винапи можно(на батнике думаю нельзя):
PHP код:

#include <windows.h>

int _tmain(int argc_TCHARargv[])
{
    
HWND hwnd;

    if(
hwnd FindWindow(NULLTEXT("Пуск")))
    {
        
SendMessage(hwndWM_LBUTTONDOWNNULLNULL);
    }

    return 
0;



функция FindWindow возвращает handle, top-level окна и поэтому такой вариант не всегда будет работать.

ProTeuS 05.04.2009 22:47

BOOL EnumChildWindows( HWND hWndParent,
WNDENUMPROC lpEnumFunc,
LPARAM lParam
);


Время: 04:39