Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2013, 03:06   #1
Praud
Форумчанин
 
Аватар для Praud
 
Регистрация: 11.10.2012
Сообщений: 409
По умолчанию C++ курсор

Решил попробовать подвигать курсор мыши для дальнейшего написания автокликера

Код:
#include "stdafx.h"
#include <windows.h> 
#include "conio.h"
#include "stdio.h"
#include "iostream"
using namespace std;

int main() 
{
	int x,y,x2,y2,x3,y3;
	char ch;
POINT cur_pos;
ch=_getch();
if(ch=='c')
{
	GetCursorPos(&cur_pos);
	x=cur_pos.x;
	y=cur_pos.y;
	cout<<x<<" "<<y<<" "<<"First Dot\n";
}
ch=_getch();
if(ch=='v')
{
	GetCursorPos(&cur_pos);
	x2=cur_pos.x;
	y2=cur_pos.y;
	cout<<x2<<" "<<y2<<" "<<"Second Dot\n";
}
ch=_getch();
if(ch=='b')
{
	GetCursorPos(&cur_pos);
	x3=cur_pos.x;
	y3=cur_pos.y;
	cout<<x3<<" "<<y3<<" "<<"Third Dot\n";
}
ch=_getch();
if(ch=='n')
{
	SetCursorPos(x,y);
	SetCursorPos(x2,y2);
	SetCursorPos(x3,y3);
}


_getch();
return 0; 
}
При нажатии n ничего не происходит. Будто он не запоминает координаты в переменные. В чем моя ошибка?
Praud вне форума Ответить с цитированием
Старый 06.02.2013, 03:16   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

switch проходили?(или if else)

а то у вас надо сначала нажать(или вместо нее нажать иную кнопку)
c(или любую иную), v(аналогично), b, и только затем n.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.02.2013, 03:40   #3
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

Praud, Посмотрите на какой раскладке на кнопки нажимаете Наверное на русской. (не наверное а точно )
Писать три вызова SetCursorPos подряд не очень информативно - т.к они выполнятся очень быстро и фактически вы увидите только SetCursorPos(x3, y3). Разделите их _getch чтоль)
Вот слегка упрощённый вариант.
Код:
#include <windows.h> 
#include "conio.h"
#include "stdio.h"
#include "iostream"
using namespace std;

int main() 
{
	int x,y;
	char ch;
	POINT cur_pos;
	while (true)
	{
		ch=_getch();
		switch (ch)
		{
		case 'r':
			{
				GetCursorPos(&cur_pos);
				x = cur_pos.x;
				y = cur_pos.y;
	
			}
			break;
		case 's':
			{
				SetCursorPos(x, y);
			}
			break;
		case 'b':
			{
				return 0;
			}
		}
	}
}
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com

Последний раз редактировалось kventin_zhuk; 06.02.2013 в 03:47.
kventin_zhuk вне форума Ответить с цитированием
Старый 06.02.2013, 04:36   #4
Praud
Форумчанин
 
Аватар для Praud
 
Регистрация: 11.10.2012
Сообщений: 409
По умолчанию

Цитата:
Сообщение от kventin_zhuk Посмотреть сообщение
Praud, Посмотрите на какой раскладке на кнопки нажимаете Наверное на русской. (не наверное а точно )
Писать три вызова SetCursorPos подряд не очень информативно - т.к они выполнятся очень быстро и фактически вы увидите только SetCursorPos(x3, y3). Разделите их _getch чтоль)
Вот слегка упрощённый вариант.
Код:
#include <windows.h> 
#include "conio.h"
#include "stdio.h"
#include "iostream"
using namespace std;

int main() 
{
	int x,y;
	char ch;
	POINT cur_pos;
	while (true)
	{
		ch=_getch();
		switch (ch)
		{
		case 'r':
			{
				GetCursorPos(&cur_pos);
				x = cur_pos.x;
				y = cur_pos.y;
	
			}
			break;
		case 's':
			{
				SetCursorPos(x, y);
			}
			break;
		case 'b':
			{
				return 0;
			}
		}
	}
}
Вы как обычно сквозь воду смотрите =)
Еще такой вопрос. Если я хочу чтобы действие выполнялось не при нажатии 1 кнопки, а при нажатии 2 кнопок одновременно Ctrl+V и т.д
Как это реализовать?
Praud вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
уберите курсор (в конце программы верните курсор), HECTOR.A. Паскаль, Turbo Pascal, PascalABC.NET 2 05.06.2009 20:10
Курсор АлёнаP Microsoft Office Word 5 15.05.2009 17:12
Курсор soonner Общие вопросы Delphi 3 11.05.2009 19:46
Курсор wolf950 Помощь студентам 3 13.11.2008 22:24
Курсор RealSHELS Общие вопросы Delphi 2 12.05.2008 12:51