有了这两个代码,再加上刚刚的matlab截图功能,基本上可以实现一些简单的功能了。
这两个代码可以直接在matlab里面编译。
mousemove.cpp:
#include<windows.h>
#include "mex.h"
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
if (nrhs != 2)
mexErrMsgTxt("需要两个参数!\m");
if (nlhs > 1)
mexErrMsgTxt("返回值太多!\m");
if (!mxIsDouble(prhs[0]) || !mxIsDouble(prhs[1]))
mexErrMsgTxt("输入参数必须为数字!\m");
bool flag;
int X, Y;
X = int(*(double*)(mxGetData(prhs[0])));
Y = int(*(double*)(mxGetData(prhs[1])));
flag = SetCursorPos(X, Y);
double *r;
plhs[0] = mxCreateDoubleMatrix(1, 1, mxREAL);
r = mxGetPr(plhs[0]);
if (flag)
*r = 1;
else
*r = 0;
}
mouseclick.cpp:
#include<windows.h>
#include "mex.h"
#define CLICK 1
#define DOWN 2
#define