首页 > 解决方案 > C++ 中函数 GetCursorPos() 和 SetCursorPos() 的一些问题

问题描述

我是 C++ 的新用户,对变量类型一无所知。

我有这个代码,但它不能正常工作。对于正常情况,我的意思是 - 启动光标后,必须随机移动 -25 到 25 像素的屏幕。

抱歉,如果我提供的信息很少。问我我可以发送你想要的。对不起我的英语不好。

#include <iostream>
#include "MyForm1.h"
#include <windows.h>
#include <cstdlib>
#include <winuser.h>
#include <playsoundapi.h>
using namespace System;
using namespace System::Windows::Forms;
using namespace std;




// Cursor random moving here :3

int shakecursor() {
    POINT p;

    int __cdecl GetCursorPos(int &p);
    cout <<  p.x << p.y << endl;

    int x_p1;
    int y_p1;

    x_p1 = rand() % 0 -25;
    y_p1 = rand() % 0 -25;

    int x_p = p.x + x_p1;
    int y_p = p.y + y_p1;

    int __cdecl SetCursorPos(int x_p1, int y_p1);


    Sleep(10);
    return 0;
}

[STAThreadAttribute]
int main(cli::array<System::String ^> ^args) {





    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);
    My3yPaB::MyForm mainForm;
    Application::Run(%mainForm);

    bool shaking = true;

    while (shaking = true) {
        shakecursor();

    }

}```

标签: c++functionvariablestypes

解决方案


这些

int __cdecl GetCursorPos(int &p);
int __cdecl SetCursorPos(int x_p1, int y_p1);

不是函数调用。它们是函数声明。

相反,您的意思似乎是

GetCursorPos( p );

SetCursorPos( x_p, y_p );

推荐阅读