📜  用C C++进行鼠标编程的用例套装2(1)

📅  最后修改于: 2023-12-03 14:56:17.792000             🧑  作者: Mango

用C / C++ 进行鼠标编程的用例套装 2

简介

本套装提供了使用 C / C++ 进行鼠标编程的多个实用程序示例。这些示例程序可以帮助程序员更好地了解如何在 Windows 操作系统下使用鼠标来实现各种功能。

示例程序

以下是本套装中包含的示例程序:

1. 鼠标移动

这个示例程序演示了如何使用鼠标 API 在窗口中移动鼠标。代码如下:

#include <Windows.h>

int main()
{
    HWND hwnd = GetDesktopWindow();
    int width = GetSystemMetrics(SM_CXSCREEN);
    int height = GetSystemMetrics(SM_CYSCREEN);
    int x = rand() % width;
    int y = rand() % height;

    while (true)
    {
        SetCursorPos(x, y);
        x += rand() % 11 - 5;
        y += rand() % 11 - 5;

        if (x < 0 || x >= width) x = rand() % width;
        if (y < 0 || y >= height) y = rand() % height;

        Sleep(50);
    }
}
2. 鼠标点击

这个示例程序演示了如何使用鼠标 API 在窗口中进行鼠标点击。代码如下:

#include <Windows.h>

int main()
{
    HWND hwnd = GetDesktopWindow();
    int width = GetSystemMetrics(SM_CXSCREEN);
    int height = GetSystemMetrics(SM_CYSCREEN);
    int x = rand() % width;
    int y = rand() % height;

    while (true)
    {
        x += rand() % 11 - 5;
        y += rand() % 11 - 5;

        if (x < 0 || x >= width) x = rand() % width;
        if (y < 0 || y >= height) y = rand() % height;

        SetCursorPos(x, y);

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

        Sleep(500);
    }
}
3. 鼠标拖放

这个示例程序演示了如何使用鼠标 API 在窗口中进行鼠标拖放。代码如下:

#include <Windows.h>

int main()
{
    HWND hwnd = GetDesktopWindow();
    int width = GetSystemMetrics(SM_CXSCREEN);
    int height = GetSystemMetrics(SM_CYSCREEN);

    RECT rect;
    rect.left = rand() % (width / 2);
    rect.top = rand() % (height / 2);
    rect.right = rect.left + rand() % (width / 2 - rect.left);
    rect.bottom = rect.top + rand() % (height / 2 - rect.top);

    while (true)
    {
        POINT pt;
        pt.x = rand() % width;
        pt.y = rand() % height;

        if (PtInRect(&rect, pt))
        {
            SetCursorPos(pt.x, pt.y);
            mouse_event(MOUSEEVENTF_LEFTDOWN, pt.x, pt.y, 0, 0);

            pt.x += rand() % 11 - 5;
            pt.y += rand() % 11 - 5;

            if (!PtInRect(&rect, pt))
            {
                pt.x = rand() % (width / 2);
                pt.y = rand() % (height / 2);
            }

            SetCursorPos(pt.x, pt.y);
            mouse_event(MOUSEEVENTF_LEFTUP, pt.x, pt.y, 0, 0);
        }

        Sleep(500);
    }
}
结论

以上示例程序演示了如何使用 C / C++ 在 Windows 操作系统下进行鼠标编程。这些示例程序可以帮助程序员更好地了解如何使用鼠标 API 实现各种功能。希望这些示例程序对程序员有所启发,促进大家进一步了解鼠标编程的知识。