Форум программистов, компьютерный форум CyberForum.ru

Нелогичная работа mouse_event MOUSEEVENTF_MOVE - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как изменить имя контакта при посылке смс через usb-модем? http://www.cyberforum.ru/cpp/thread1363510.html
Доброе утро! Не знаю, верно ли выбрал раздел, но т.к. писать буду на C++, решил сюда. Есть задача: организовать рассылку смс. Никогда ранее таким не занимался. Первое что пришло в голову - купить usb модем и с помощью AT-команд делать все необходимое. Однако заказчик кроме всего прочего пожелал, чтобы смс приходили не с конкретного номера телефона, а например вместо номера было бы "MAGAZIN...
C++ Boost + Cmake + Clion Помогите мне подключить Boost к Clion на Windows. Перепробовал уже кучу вариантов - ничего не выходит, заголовки только инклудятся, а библиотеки походу не подключаются. Вот мой пример CMakeLists.txtcmake_minimum_required(VERSION 2.8.4) project(Cyberforum) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") #set(CMAKE_EXE_LINKER_FLAGS -static) set(SOURCE_FILES main.cpp)... http://www.cyberforum.ru/cpp/thread1362663.html
C++ Коды, приводящие к неожиданным результатам
Код помещения кортежа в стрим. Компилируется. По счастливому случаю обнаружил автоматическую ошибку до тестирования. Кто скажет, почему следующий блок работал бы не так как ожидалось? for(uint8_t idx = 0; idx < inputDataSet->Fields->Count; idx++) switch (inputDataSet->Fields->Fields->DataType){ case ftBoolean: { writer->WriteBoolean(inputDataSet->Fields->Fields->AsBoolean); break; }...
Куда двигаться в с++ или становление программистом C++
Всем привет. Немного о себе: закончил колледж, учусь дальше в универе на программиста специальность ПОИТ. Вообщем вопрос у меня такой, очень хочу развиваться дальше в сторону с++, после всего изученного в коллеже и универе, имеются много теоретических знаний и практических немного, но такое чувство что я ничего не знаю :) Я знанию синтаксис так сказать, и учебную программу, тоесть я могу:...
C++ Создание 2d движка http://www.cyberforum.ru/cpp/thread1356009.html
Здравствуйте, я начинающий программист c++, но знаю другие языки да и c++ уже не плохо. В общем загорелся идеей создать простейший 2d движок. Без звука, простейший,чтобы создавалось окно, загружалась картинка(спрайт) и двигалась по кнопкам. Помогите, подкиньте ссылок, литературы. Движок c++, Directx, 2d.
C++ Формальная постановка для игры крестики и нолики Доброго времени суток. Написал игру крестики и нолики размерностью 4х4. Нужно написать к этой игре формалку, а я понятия даже не имею о том как ее написать. Буду рад если поможете) подробнее

Показать сообщение отдельно
DarkPower
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 80
29.01.2015, 23:39  [ТС]     Нелогичная работа mouse_event MOUSEEVENTF_MOVE
Нашол решение данной проблемы.
Кому надо:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void Draw()
{
        HDC hdc = GetDC(HWND_DESKTOP);
        int cx = GetSystemMetrics(SM_CXSCREEN);
        int cy = GetSystemMetrics(SM_CYSCREEN);
        int x = RandomMinMax(1,cx);
        int y = RandomMinMax(1,cy);
        int size = 5;
        POINT p;
        GetCursorPos(&p);
        int screenW=GetSystemMetrics(SM_CXSCREEN);
        int  screenH=GetSystemMetrics(SM_CYSCREEN);
        int kx = 65535 / screenW;
        int ky = 65535 / screenH;
        mouse_event(MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE, x*kx, y*ky, 0, 0);
        for(int i = 0-size; i<size; i++)
        {
            for(int j=0-size; j<size;j++)
            {
                SetPixel(hdc,x-i,y-j,RGB(RandomMinMax(180,255),0,0));
            }
        }
}
Добавлено через 2 минуты
"Как реализовать?
Запустите ваш же код, заменив в нем двадцать четвертую строку, которую я привел выше."
Это не правильно.

C++
1
2
3
4
5
mouse_event(MOUSEEVENTF_MOVE, fx,fy, 0, 0);
GetCursorPos(&p);
...
 SetPixel(hdc,x-i,y-j,RGB(RandomMinMax(180,255),0,0)); (если бы я написал как вы говорите, то оно бы рисовало по координатам мышки после mouse_event, а не по рандомным числам X и Y)
...
Добавлено через 6 минут
Вы предлагаете нарисовать квадрат уже после mouse_event, а мне надо нарисовать квадрат по рандомным X и Y, и потом же методом MOUSE_MOVE переместить мышку на квадрат

Добавлено через 10 часов 39 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Высчитал функцию X координаты (думаю многим поможет)
void DarkPower()
{
        HDC hdc = GetDC(HWND_DESKTOP);
        int cx = GetSystemMetrics(SM_CXSCREEN);
        int cy = GetSystemMetrics(SM_CYSCREEN);
        int x = RandomMinMax(1,cx);
        int y = RandomMinMax(1,cy);
        int size = 5;
        POINT p;
        GetCursorPos(&p);
        std::cout << "\nX1 = " << p.x;
        int fx = x-p.x;
        std::cout << "\nfx = " << fx;
        int fa = fx / 3;
        int fb = fx %3;
        if (fa >= 0) for (int i = 0; i<=fa+(fx*0.1267);i++) mouse_event(MOUSEEVENTF_MOVE, 3, 0, 0, 0);
        else for (int i = 0; i<=abs(fa)+(abs(fx)*0.1267);i++) mouse_event(MOUSEEVENTF_MOVE, -3, 0, 0, 0);
        mouse_event(MOUSEEVENTF_MOVE, fb, 0, 0, 0);
        GetCursorPos(&p);
        std::cout << "\nX2 = " << p.x;
        for(int i = 0-size; i<size; i++)
        {
            for(int j=0-size; j<size;j++)
            {
                SetPixel(hdc,x-i,y-j,RGB(RandomMinMax(180,255),0,0));
            }
        }
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru