• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak to zrobić c++?

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
160 wizyt
pytanie zadane 19 marca 2020 w C i C++ przez fff Gaduła (3,950 p.)

Mianowicie chciałbym aby w tym programie dało się dodawać akcje typu

keybd_event('A', 0, 0, 0);
		keybd_event('A', 0, KEYEVENTF_KEYUP, 0);

Wiem ze potrzebna jest tablica, ale nie mam pomysłu jak to zrobić tutaj mam obecny kod

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <vector>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "CSPIN"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
}
//---------------------------------------------------------------------------


POINT cur;
std::vector<POINT> t_cur;
String poslist;
int p;
int powtorzenia=10-1;

void add_pose()
{
     t_cur.push_back(cur);
	poslist = " X: " +IntToStr(cur.x) + "       Y: " +  IntToStr(cur.y);
	Form1->ListBox1->Items->Add(poslist);
}

void __fastcall TForm1::HotKey(TMessage &Msg)
{
    if (Msg.WParam == 1){
	 Timer1->Enabled=false;
    }
    if (Msg.WParam == 2) {
	add_pose();
    }

     if (Msg.WParam == 3) {

    }
}


int obecne = 0;
void __fastcall TForm1::Button1Click(TObject *Sender)
{
	Timer1->Enabled = true;
	Timer2->Enabled = true;
	obecne = 0;
	
}
//---------------------------------------------------------------------------

void wykonaj()
{



//keybd_event('Z', 0, 0, 0);
//keybd_event('Z', 0, KEYEVENTF_KEYUP, 0);

if (p < t_cur.size())

	{
		 if( Form1->ProgressBar1->Position < 100)
	{

	Form1->ProgressBar1->Position+=10;
	}
	else
	{
       Form1->	ProgressBar1->Position=0;
	}


		t_cur[p].x;
		SetCursorPos(t_cur[p].x, t_cur[p].y);

		mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
		mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);

		p++;

		//keybd_event('Z', 0, 0, 0);
		//keybd_event('Z', 0, KEYEVENTF_KEYUP, 0);
	}
	else
	{
	     p = 0;

	}


}


void __fastcall TForm1::Timer1Timer(TObject *Sender)
{

Form1->Panel1->Color = RGB(rand()%250, rand()%250, rand()%250 );



if (obecne <= powtorzenia)
{

	Form1->Label2->Caption=obecne+1;

		if( Form1->ProgressBar1->Position < 100)
	{

	Form1->ProgressBar1->Position+=10;
	}
	else
	{
       Form1->	ProgressBar1->Position=0;
	}

		keybd_event('A', 0, 0, 0);
		keybd_event('A', 0, KEYEVENTF_KEYUP, 0);

	if (p < t_cur.size())

	{


		t_cur[p].x;
		SetCursorPos(t_cur[p].x, t_cur[p].y);

		mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
		mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);

		p++;

		//keybd_event('Z', 0, 0, 0);
		//keybd_event('Z', 0, KEYEVENTF_KEYUP, 0);
		}
		else
		{
		 p = 0;
		 obecne++;

		}

}
else
{
	Timer1->Enabled=false;
}
       //	Form1->Timer1->Enabled=false;










}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
      Timer1->Enabled = false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
		cur.x = Mouse->CursorPos.x;
		cur.y = Mouse->CursorPos.y;
	     // Mouse->CursorPos.x;
	       //	Mouse->CursorPos.y;
		Label1->Caption = "X: " + IntToStr(cur.x) + "   Y: " + IntToStr(cur.y);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
	 add_pose();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
       ListBox1->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
	for (int i = 0; i < t_cur.size(); i++)
	{
		poslist = " X: " +IntToStr(t_cur[i].x) + "       Y: " +  IntToStr(t_cur[i].y);
		Form1->ListBox1->Items->Add(poslist);
	}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
	RegisterHotKey(Form1->Handle, 1, 0, VK_SPACE);
	RegisterHotKey(Form1->Handle, 2, 0, VK_TAB);
	p=0;
}
//---------------------------------------------------------------------------

void change_time(int ms)
{
   Form1->Timer2->Interval=ms;
   Form1->Timer1->Interval=ms;
}

//----------------------------------------------
void __fastcall TForm1::Button6Click(TObject *Sender)
{
	int msValue;
	msValue = Form1->msl->Value;
	change_time(msValue);
	//Timer2->Interval=ms;
	//Timer1->Interval=ms;
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button10Click(TObject *Sender)
{
    change_time(1);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button7Click(TObject *Sender)
{
	change_time(10);	
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button8Click(TObject *Sender)
{
	change_time(100);	
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button9Click(TObject *Sender)
{
	change_time(1000);	
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button11Click(TObject *Sender)
{
	change_time(10000);
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button12Click(TObject *Sender)
{
	powtorzenia=pole1->Value-1;
}
//---------------------------------------------------------------------------

unit1.h

//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <Buttons.hpp>
#include "CSPIN.h"
#include <ComCtrls.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:	// IDE-managed Components
	TButton *Button1;
	TButton *Button2;
	TTimer *Timer1;
	TPanel *Panel1;
	TStaticText *StaticText1;
	TLabel *Label1;
	TTimer *Timer2;
	TListBox *ListBox1;
	TButton *Button3;
	TButton *Button4;
	TButton *Button5;
	TButton *Button6;
	TCSpinEdit *msl;
	TStaticText *StaticText2;
	TButton *Button7;
	TButton *Button8;
	TButton *Button9;
	TButton *Button10;
	TButton *Button11;
	TProgressBar *ProgressBar1;
	TCSpinEdit *pole1;
	TStaticText *StaticText3;
	TButton *Button12;
	TLabel *Label2;
	TButton *Button13;
	TButton *Button14;
	TButton *Button15;
	TButton *Button16;
	TButton *Button17;
	TButton *Button18;
	void __fastcall Button1Click(TObject *Sender);
	void __fastcall Timer1Timer(TObject *Sender);
	void __fastcall Button2Click(TObject *Sender);
	void __fastcall Timer2Timer(TObject *Sender);
	void __fastcall Button3Click(TObject *Sender);
	void __fastcall Button4Click(TObject *Sender);
	void __fastcall Button5Click(TObject *Sender);
	void __fastcall FormCreate(TObject *Sender);
	void __fastcall Button6Click(TObject *Sender);
	void __fastcall Button10Click(TObject *Sender);
	void __fastcall Button7Click(TObject *Sender);
	void __fastcall Button8Click(TObject *Sender);
	void __fastcall Button9Click(TObject *Sender);
	void __fastcall Button11Click(TObject *Sender);
	void __fastcall Button12Click(TObject *Sender);
private:
        void __fastcall HotKey(TMessage &Msg);
public:
        __fastcall TForm1(TComponent* Owner);
        BEGIN_MESSAGE_MAP
        MESSAGE_HANDLER(WM_HOTKEY,TMessage,HotKey)
        END_MESSAGE_MAP(TForm) 
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

komentarz 19 marca 2020 przez DragonCoder Nałogowiec (36,500 p.)
shortcut keys

To chyba haslo przewodnie Twojego problemu
komentarz 19 marca 2020 przez Patrycjerz Mędrzec (192,320 p.)
Obecny tytuł posta niczego nie mówi o problemie. Popraw go i dbaj o ten aspekt w przyszłości.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+2 głosów
1 odpowiedź 529 wizyt
0 głosów
1 odpowiedź 414 wizyt
0 głosów
2 odpowiedzi 1,882 wizyt

93,187 zapytań

142,203 odpowiedzi

322,017 komentarzy

62,513 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2365p. - dia-Chann
  2. 2326p. - Łukasz Piwowar
  3. 2315p. - Łukasz Eckert
  4. 2301p. - CC PL
  5. 2269p. - Tomasz Bielak
  6. 2235p. - Łukasz Siedlecki
  7. 2232p. - rucin93
  8. 2169p. - Marcin Putra
  9. 2164p. - Adrian Wieprzkowicz
  10. 2006p. - Michal Drewniak
  11. 1901p. - Mikbac
  12. 1806p. - Dawid128
  13. 1744p. - rafalszastok
  14. 1734p. - Anonim 3619784
  15. 1487p. - Michał Telesz
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...