Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[C++]Wysyłanie Klawiszy/Text'U Do Okna


Rekomendowane odpowiedzi

Opublikowano

Witam.

Otóż chciał bym poznać sposób na wysyłanie klawiszy/text'u do danego okna (naturalnie chodzi tutaj o C++)

Wystarczy mi kawałek kodu z zdeklarowanymi zmiennymi ...

Za pomoc "+" lub "-" .

Z góry ThX!

Kocham mpcforum.pl!!!

18706.png

Opublikowano

Witam

Czy mógłbyś określić dokładnie w czym rzecz? Mam tutaj na myśli, czy chcesz to napisać w czystym C++ czy też w WinAPI lub jego pochodnych oraz skąd ma być pobierany tekst do wklejenia?

Najsłabszym ogniwem w każdym zabezpieczeniu jest człowiek - socjotechnika.

Czasem najprostsze rozwiązania najtrudniej odnaleźć.

Nie zawsze inni są takimi, na jakich się kreują.

Ilu ludzi tyle opinii na temat otaczającego nas Świata.

Nie pomagam poza forum.

Opublikowano

Konkretnie to chodzi o WinApi :) Jeżeli chodzi o pobieranie textu to z tym sobie poradzę. Potrzebny mi tylko kawałek kodu w WinApi który wysyła klawisz do okna (np. VK_A) i jeszcze jeden kod który wysyła cały text (może być wpisany w program, przerobię go sobie odpowiednio do swoich potrzeb .

Chyba wystarczy? :>

 

A tak na marginesie.

Miło, że ktoś zainteresował się tym tematem, bo zaczynałem myśleć, że na MPC nie ma żadnego porządnego programisty ?

Kocham mpcforum.pl!!!

18706.png

Opublikowano

Nie... Jak ty na to wpadłeś? ^.-

Kurwa weź czytaj, bo mnie wkurwia ten spam... Piszę, że chce kod z przykładem a nie funkcje do chuja ...

Jak jesteś newbie to się nie odzywaj, bo tego nawet na google nie trzeba szukać, żeby wiedzieć...

Kocham mpcforum.pl!!!

18706.png

Opublikowano

Witam ponownie.

Wybacz zwłokę, niestety w przykływie obowiązków temat "zapodział" się gdzieś w oddali...

Przejdźmy zatem do rzeczy:

 

 if (((consola= FindWindow("consola", 0)) == NULL)
((editx = FindWindowEx(consola, 0, "edit", NULL)) == NULL)
((editx = FindWindowEx(consola, editx, "edit", NULL)) == NULL))
{
WindowNotFound(&text);
return -1;
}
else
FoundWindow(&text);

sprintf(buffer, "Przykład %s", message);

SendMessage(editx, WM_SETTEXT, 0, (LPARAM)buffer);
SendMessage(editx, WM_CHAR, 13, 0);

return 0;
}

 

Przykład był pisany w forumowym edytorze odpowiedzi "w biegu", dlatego też mogą wystąpić drobne błędy składniowe.

Mam nadzieję, że tego typu odpowiedzi Oczekiwałeś.

Pozdrawiam.

Najsłabszym ogniwem w każdym zabezpieczeniu jest człowiek - socjotechnika.

Czasem najprostsze rozwiązania najtrudniej odnaleźć.

Nie zawsze inni są takimi, na jakich się kreują.

Ilu ludzi tyle opinii na temat otaczającego nas Świata.

Nie pomagam poza forum.

Opublikowano

Błędy w kodzie:

main.cpp:8: error: `FindWindow' undeclared (first use this function)
main.cpp:8: error: expected `;' before ')' token
main.cpp:18: error: expected primary-expression before "else"
main.cpp:18: error: expected `;' before "else"

Wiesz może o co chodzi? :) Jeżeli wiesz to je popraw :P I jak możesz daj testowany ^^

Kocham mpcforum.pl!!!

18706.png

Opublikowano

Witam

Jeśli chodzi o błędy w kodzie to już podaje wyjaśnienie:

main.cpp:8: error: `FindWindow' undeclared (first use this function)

Nie zadeklarowałeś w swoim "programie" wymaganej funkcji(to akurat nie wynika z błędu w kodzie, ale w nieprawidłowym umieszczeniu funkcji w programie).

 

main.cpp:8: error: expected `;' before ')' token

main.cpp:8: error: expected `;' before ')' token

 

 

Kompilator spodziewał się ";", a otrzymał ")".

Tutaj zwyczajnie zapomniałem o ";" na końcu linii za 0 (czyt. NULL'ami).

 

 

main.cpp:18: error: expected `;' before "else"
oraz
main.cpp:18: error: expected primary-expression before "else"

Opisują praktycznie to samo:

Znaleziono ";" przed else, przez co dalsze wykonanie instrukcji jest niemożliwe.

 

Odrobinę zmodyfikowałem i skróciłem kod,

dodatkowo możesz jeszcze dodać pragma'e dla lepszej optymalizacji kodu.

Jeśli nie jesteś osobą, która tylko udaje, że zajmuje się C++ WiAPI to nie będziesz miał z tym najmniejszego problemu.

 

#include <windows.h>
#include <stdio.h>
#include <iostream>

using namespace std;

int Pisz()
{
HWND jakiesokno, edit;
char bufor[MAX_PATH];

FindWindow("nazwa okna", 0);
FindWindowEx(jakiesokno, 0, "edit", NULL);
edit = FindWindowEx(jakiesokno, edit, "edit", NULL);

char *message = "jakaswiadomosc";
sprintf(bufor, "Wpisano: %s", message);
SendMessage(edit, WM_SETTEXT, 0, (LPARAM)bufor);
SendMessage(edit, WM_CHAR, 13, 0);
return 0;
}

int main(void)
{
Pisz();
system("PAUSE");
return 0;
}
//tested by IDE Code:Blocks witch gcc compilator

 

To by było na tyle, pozdrawiam.

Najsłabszym ogniwem w każdym zabezpieczeniu jest człowiek - socjotechnika.

Czasem najprostsze rozwiązania najtrudniej odnaleźć.

Nie zawsze inni są takimi, na jakich się kreują.

Ilu ludzi tyle opinii na temat otaczającego nas Świata.

Nie pomagam poza forum.

Opublikowano

niedlugo beda tu posty jak wlaczyc kompa -.-

 

@ CEHAUJOT

 

nie wiem co tworzysz ale czarno to widze, napisz po prostu co potrzebujesz i moze ktos ci pomoze

a powyzszy kod mozna znalezc bez problemu w guglach wraz z dokladnym opisem wiec nie rozumiem po co ktos ma sie fatygowac

Kocham mpcforum.pl!!!

18706.png

  • 2 tygodnie później...
Opublikowano

Masz kawałek kody z Delphi 7(przerobienie trwa 10 sec.):

var

I,s: Integer;

begin

for I := 1 to Length(s) do

SendMessage(HWND, WM_CHAR, Word(s), 0);

PostMessage(HWND, WM_KEYUP, VK_RETURN, 0);

end;

 

Pozdrawiam.

Metin2 Tools by Me:

  • Metin2 SpamBot by IgI v1.0
  • Metin2 Spambot by IgI v2.0
  • Metin2 Paste Tool by IgI
  • Metin2 Size Changer by IgI

Tibia Tools by Me:

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...