Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Symulacja wciśnięcia klawisza (bot)

Ostatnio zmodyfikowano 2010-08-06 21:27
Autor Wiadomość
SeaMonster131
» 2010-08-05 21:18:50
Aaaa...no to to nie zadziała :)
@ison - troche racji masz w tym "nie chce pomagać oszustom i odwalać za nich robotę"........
P-20468
Animax97
Temat założony przez niniejszego użytkownika
» 2010-08-05 23:29:38
Hm...
Panowie, zamiast nabijać głupie posty może jakaś podpowiedz z waszej strony?
Jestem początkujący, a żeby oskarżać kogoś o oszustwo trzeba mieć dowody, bo moim zdaniem jest to pomówienie.
P-20474
ison
» 2010-08-05 23:40:05
a może tak trochę zaangażowania z własnej strony?... podałem ci jak na tacy funkcję. Wystarczy że wpisałbyś w google SendMessage();
co do oskarżania to tak się składa że 99% ludzi którzy zaczynają 'naukę' od wysyłania symulacji klawiszy do programów piszą boty.

uchwyt okna z nazwy aplikacji zwraca funkcja
C/C++
FindWindow( 0, "nazwa okna" );
przykładowo jeśli chcesz wysłać znak '1':
C/C++
SendMessage( uchwyt, WM_CHAR, 49, 0 ); //49 czyli kod ASCII '1'
P-20476
Animax97
Temat założony przez niniejszego użytkownika
» 2010-08-05 23:52:58
A więc jestem tym 1% :)
Dziękuję. Ale mam problem:
C/C++
#undef UNICODE
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <conio.h>

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow )
{
    HWND uchwyt = NULL;
    uchwyt = FindWindow( "plik.txt - Notatnik", NULL );
   
    SendMessage( uchwyt, WM_CHAR, VkKeyScan( 'a' ), 0 );
    getch();
}
Czy możecie mi wskazać linię w której jest błąd ? I ew. jakaś podpowiedź?
Chodzi o to, że nie wysyła mi tekstu do notatnika.

Jeszcze raz mówie, jestem noob'em jeżeli chodzi o C++, ale myślę, że tutaj się nauczę. Przynajmniej niektórych, rzeczy.
P-20477
ison
» 2010-08-05 23:56:02
w tym miejscu:
C/C++
uchwyt = FindWindow( "plik.txt - Notatnik", NULL );
odwrotnie argumenty :)

coś mi się zdaje że do notatnika tak łatwo nie napiszesz czegoś, musiałbyś chyba mieć bezpośrednio jego kontrolkę żeby móc coś wpisać choć mogę się mylić. Lepiej jak będziesz testował w tej sposób:
 -odpal konsole
 -wpisz title abc
 -wysylaj komunikaty do okna abc
będziesz widział czy się coś pojawi w konsoli czy nie
P-20478
Animax97
Temat założony przez niniejszego użytkownika
» 2010-08-05 23:59:12
Wielkie dzięki - już umiem. ;>
Cóż, widzę, że dobrze, że zarejestrowałem się na forum.
Zostanę z Wami na dłużej.

Klawisz już umiem wysłać, a możesz mi podpowiedzieć jak wysłać np.
Hello World ?
Jakaś podpowiedź ? :)
P-20479
ison
» 2010-08-06 00:04:39
przykładowo dla strzałki w lewo:
C/C++
SendMessage( uchwyt, WM_KEYDOWN, VK_LEFT, 0 );

jeśli chcesz wysłać ciąg znaków to chyba najlepiej jak zrobisz to ręcznie, tzn będziesz wysyłał po znaku
C/C++
void wyslij_ciag_znakow( string napis, HWND window )
{
    for( int i = 0; i < napis.length(); ++i ) SendMessage( window, WM_CHAR, napis[ i ], 0 );
   
}
nie zapomij o
C/C++
#include <iostream>
i
C/C++
using namespace std;
P-20480
Animax97
Temat założony przez niniejszego użytkownika
» 2010-08-06 00:18:58
Chyba podłapałem, ale nie do końca:
C/C++
#undef UNICODE
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <conio.h>
#include <iostream>

using namespace std;


int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow, string napis, HWND window )
{
    window = FindWindow( NULL, "plik.txt - Notatnik" );
    for( int i = 0; i < napis.length(); ++i ) {
        SendMessage( window, WM_CHAR, napis[ i ], 0 );
    }
    getch();
}
A tutaj log:
Kompilator: Default compiler
Building Makefile: "C:\Documents and Settings\Administrator\Pulpit\C++\Makefile.win"
Wykonywanie  make...
make.exe -f "C:\Documents and Settings\Administrator\Pulpit\C++\Makefile.win" all
g++.exe -c main.cpp -o main.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include"  -I"C:/Dev-Cpp/include/c++/3.4.2/backward"  -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32"  -I"C:/Dev-Cpp/include/c++/3.4.2"  -I"C:/Dev-Cpp/include"  

g++.exe main.o  -o "C++ Programmer.exe" -L"C:/Dev-Cpp/lib" 

C:/Dev-Cpp/lib/libmingw32.a(main.o)(.text+0x106):main.c: undefined reference to `WinMain@16'
collect2: ld returned 1 exit status

make.exe: *** ["C++] Error 1

Wykonanie zakończone
Nie wiem czemu, ale wywala mi błąd, wiesz może o co chodzi?
P-20481
1 « 2 » 3 4
Poprzednia strona Strona 2 z 4 Następna strona