Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Iae galera, fmz? 

Bom, meu nome é Gustavo, e eu sou um pouco novo aqui neste fórum.

Eu vi que esta faltando algumas coisas na area de c++, então vim trazer um programinha que eu fiz em c++ que coloca a hotkey em loop, é um pouco útil pra treinar ml, ou tacar runa no target e talz..

A função que eu uso é a SendMessage()  da API do Windows pra simular o teclado, e usei o CodeBlocks pra programar.

É um programa simples,pq eu também n sou fera em c++ então me perdoe se tiver alguns errinhos kkk..

 

Como o programa não lida com endereços de memória(até porque eu ainda não sei pegar esses endereços), creio que funciona em qualquer versão ou até em outros jogos. :) Eu testei em um server 10.41 que eu jogo as vezes com tibia comum, e com OTClient também.

 

Se alguém quiser dar uma opinião , dar umas dicas sobre o programa , poste aqui :)

 

Eu compartilhei esse conteúdo mais como uma forma de aprendizado para aqueles que querem aprender C++ :)

 

O código é este:

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

using namespace std;

int main()
{
   system("cls");
   HWND tibia; // nome da variavel que vai guardar a janela
   tibia = FindWindow("Tibiaclient", NULL); // guardando a janela na variavel Tibia
   system("color 0C"); // mudando a cor do prompt pra ficar mais bunito
   cout <<"Este programa foi criado para colocar uma hotkey em loop."<<endl;
   cout <<"Feito por Luiz Gustavo(GuguGpG) Forum: Tibia King."<<endl;;
   cout <<"Colocando uma hotkey em loop pode ser facil e util para \nTreinar ml ou fazer outras coisas."<<endl;
   cout <<"linguagem usada: C++.\nNao coloque letras, apenas numeros\n\n"<<endl;
   cout << "F1 = 1 | F2 = 2 | F3 = 3 | F4 = 4 | F5 = 5 | F6 = 6 | \nF7 = 7 | F8 = 8 | F9 = 9 | F10 = 10 | F11 = 11 | F12 = 12 "<<endl;
   cout << "\n\n\n";
   cout << "Digite o numero da Hotkey : ";
   int op;
   cin >> op;
   int delay;
   switch(op){
        case 1:
            cout << "Digite o Delay em segundos :";
            cin >> delay;
            if (!tibia){
                cout<<"Seu tibia esta fechado!"<<endl; // Se nao achar a janela do tibia o vai retornar pro começo
                Sleep(5000);
                return main();
            }
            else{
            do{
            cout <<"Tecla F1 em Loop\n";
            SendMessage(tibia,WM_KEYDOWN,VK_F1,1); /* Tibia = janela que vai ser aplicada , WM_KEYDOWN = Aperta a tecla, VK_F1 = tecla a ser aperta, 1 = ainda nao sei pra que server mas e melhor deixar ta funcionando assim*/
            SendMessage(tibia,WM_KEYUP,VK_F1,1);/*Mesma coisa que em cima, só que aqui a função WM_KEYUP é pra soltar a teclaa */
            Sleep(delay*1000);
            system("cls");
            }while(1==1);
            }
            break;
        case 2:
            cout << "Digite o Delay em segundos :";
            cin >> delay;
            if (!tibia){
                cout<<"Seu tibia esta fechado!"<<endl;
                Sleep(5000);
                return main();
            }
            else{
            do{
            cout <<"Tecla F2 em Loop\n";
            SendMessage(tibia,WM_KEYDOWN,VK_F2,1);
            SendMessage(tibia,WM_KEYUP,VK_F2,1);
            Sleep(delay*1000);
            system("cls");
            }while(1==1);
            }
            break;
        case 3:
            cout << "Digite o Delay em segundos :";
            cin >> delay;
            if (!tibia){
                cout<<"Seu tibia esta fechado!"<<endl;
                Sleep(5000);
                return main();
            }
            else{
            do{
            cout <<"Tecla F3 em Loop\n";
            SendMessage(tibia,WM_KEYDOWN,VK_F3,1);
            SendMessage(tibia,WM_KEYUP,VK_F3,1);
            Sleep(delay*1000);
            system("cls");
            }while(1==1);
            }
            break;
        case 4:
            cout << "Digite o Delay em segundos :";
            cin >> delay;
            if (!tibia){
                cout<<"Seu tibia esta fechado!"<<endl;
                Sleep(5000);
                return main();
            }
            else{
            do{
            cout <<"Tecla F4 em Loop\n";
            SendMessage(tibia,WM_KEYDOWN,VK_F4,1);
            SendMessage(tibia,WM_KEYUP,VK_F4,1);
            Sleep(delay*1000);
            system("cls");
            }while(1==1);
            }
            break;
        case 5:
            cout << "Digite o Delay em segundos :";
            cin >> delay;
            if (!tibia){
                cout<<"Seu tibia esta fechado!"<<endl;
                Sleep(5000);
                return main();
            }
            else{
            do{
            cout <<"Tecla F5 em Loop\n";
            SendMessage(tibia,WM_KEYDOWN,VK_F5,1);
            SendMessage(tibia,WM_KEYUP,VK_F5,1);
            Sleep(delay*1000);
            system("cls");
            }while(1==1);
            }
            break;
        case 6:
            cout << "Digite o Delay em segundos :";
            cin >> delay;
                if (!tibia){
                cout<<"Seu tibia esta fechado!"<<endl;
                Sleep(5000);
                return main();
            }
            else{
            do{
            cout <<"Tecla F6 em Loop\n";
            SendMessage(tibia,WM_KEYDOWN,VK_F6,1);
            SendMessage(tibia,WM_KEYUP,VK_F6,1);
            Sleep(delay*1000);
            system("cls");
            }while(1==1);
            }
            break;
        case 7:
            cout << "Digite o Delay em segundos :";
            cin >> delay;
            if (!tibia){
                cout<<"Seu tibia esta fechado!"<<endl;
                Sleep(5000);
                return main();
            }
            else{
            do{
            cout <<"Tecla F7 em Loop\n";
            SendMessage(tibia,WM_KEYDOWN,VK_F7,1);
            SendMessage(tibia,WM_KEYUP,VK_F7,1);
            Sleep(delay*1000);
            system("cls");
            }while(1==1);
            }
            break;
        case 8:
            cout << "Digite o Delay em segundos :";
            cin >> delay;
            if (!tibia){
                cout<<"Seu tibia esta fechado!"<<endl;
                Sleep(5000);
                return main();
            }
            else{
            do{
            cout <<"Tecla F8 em Loop\n";
            SendMessage(tibia,WM_KEYDOWN,VK_F8,1);
            SendMessage(tibia,WM_KEYUP,VK_F8,1);
            Sleep(delay*1000);
            system("cls");
            }while(1==1);
            }
            break;
        case 9:
            cout << "Digite o Delay em segundos :";
            cin >> delay;
            if (!tibia){
                cout<<"Seu tibia esta fechado!"<<endl;
                Sleep(5000);
                return main();
            }
            else{
            do{
            cout <<"Tecla F9 em Loop\n";
            SendMessage(tibia,WM_KEYDOWN,VK_F9,1);
            SendMessage(tibia,WM_KEYUP,VK_F9,1);
            Sleep(delay*1000);
            system("cls");
            }while(1==1);
            }
            break;
        case 10:
            cout << "Digite o Delay em segundos :";
            cin >> delay;
            if (!tibia){
                cout<<"Seu tibia esta fechado!"<<endl;
                Sleep(5000);
                return main();
            }
            else{
            do{
            cout <<"Tecla F10 em Loop\n";
            SendMessage(tibia,WM_KEYDOWN,VK_F10,1);
            SendMessage(tibia,WM_KEYUP,VK_F10,1);
            Sleep(delay*1000);
            system("cls");
            }while(1==1);
            }
            break;
        case 11:
            cout << "Digite o Delay em segundos :";
            cin >> delay;
            if (!tibia){
                cout<<"Seu tibia esta fechado!"<<endl;
                Sleep(5000);
                return main();
            }
            else{
            do{
            cout <<"Tecla F11 em Loop\n";
            SendMessage(tibia,WM_KEYDOWN,VK_F11,1);
            SendMessage(tibia,WM_KEYUP,VK_F11,1);
            Sleep(delay*1000);
            system("cls");
            }while(1==1);
            }
            break;
        case 12:
            cout << "Digite o Delay em segundos :";
            cin >> delay;
            if (!tibia){
                cout<<"Seu tibia esta fechado!"<<endl;
                Sleep(5000);
                return main();
            }
            else{
            do{
            cout <<"Tecla F12 em Loop\n";
            SendMessage(tibia,WM_KEYDOWN,VK_F12,1);
            SendMessage(tibia,WM_KEYUP,VK_F12,1);
            Sleep(delay*1000);
            system("cls");
            }while(1==1);
            }
            break;
        default:
            cout <<"Opcao Invalida!\n";
            system("pause");
            system("cls");
            return main();
            break;
   }
   return 0;
}
 

É um prazer compartilhar minhas source's com este Fórum!

Editado por gugugpg (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo