自动连点器
namespace gongjv {
inline void cd(int x) {
Sleep(x);
system("cls");
}
void ggb() {
HWND hwnd = GetConsoleWindow();
LONG style = GetWindowLong(hwnd, GWL_STYLE);
style &= ~(WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_THICKFRAME);
SetWindowLong(hwnd, GWL_STYLE, style);
SetWindowPos(hwnd, HWND_TOP, 0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED);
}
bool SetWindowTopMost(HWND hWnd, bool topmost, bool noActivate = true) {
if (!IsWindow(hWnd)) return false;
UINT flags = SWP_NOMOVE | SWP_NOSIZE;
if (noActivate) flags |= SWP_NOACTIVATE; // 关键:置顶但不抢焦点
return SetWindowPos(hWnd,
topmost ? HWND_TOPMOST : HWND_NOTOPMOST,
0, 0, 0, 0,
flags);
}
bool axj(long long key) {
return (GetKeyState(key) < 0) ? (true) : (false);
}
struct hl {
long long h,l;
};
inline void de(int x) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),x);
}
int djde1(int x) {
int y=0;
switch(x) {
case 1:
y=7;
break;
case 2:
y=15;
break;
case 3:
y=2;
break;
case 4:
y=10;
break;
case 5:
y=3;
break;
case 6:
y=11;
break;
case 7:
y=9;
break;
case 8:
y=14;
break;
case 9:
y=12;
break;
}
return y;
}
void pzde2(int x) {
int y=0;
switch(x) {
case 1:
y=15;
break;
case 2:
y=10;
break;
case 3:
y=11;
break;
case 4:
y=14;
break;
case 5:
y=4;
break;
}
de(y);
}
int pzde1(int x) {
int y=0;
switch(x) {
case 1:
y=15;
break;
case 2:
y=10;
break;
case 3:
y=11;
break;
case 4:
y=14;
break;
case 5:
y=4;
break;
}
return y;
}
void djde2(int x) {
int y=0;
switch(x) {
case 1:
y=7;
break;
case 2:
y=15;
break;
case 3:
y=2;
break;
case 4:
y=10;
break;
case 5:
y=3;
break;
case 6:
y=11;
break;
case 7:
y=9;
break;
case 8:
y=14;
break;
case 9:
y=12;
break;
}
de(y);
}
bool ax(long long key) {
return (GetKeyState(key) < 0) ? (true) : (false);
}
hl wz(bool x = 1, bool n = 1) {
HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
HWND h = GetForegroundWindow();
CONSOLE_FONT_INFO consoleCurrentFont;
hl hl;
POINT p;
if (x) {
GetCursorPos(&p);
ScreenToClient(h, &p);
} else {
GetCursorPos(&p);
}
if (n) {
GetCurrentConsoleFont(hOutput, FALSE, &consoleCurrentFont);
p.x /= consoleCurrentFont.dwFontSize.X;
p.y /= consoleCurrentFont.dwFontSize.Y;
}
hl.h = p.y + 1;
hl.l = p.x + 1;
return hl;
}
hl GetActiveWindowSize() {
HWND hwnd = GetForegroundWindow();
RECT rect;
if (GetClientRect(hwnd, &rect)) {
int clientWidth = rect.right - rect.left;
int clientHeight = rect.bottom - rect.top;
hl sas= {clientWidth /8,clientHeight /16};
return sas;
}
}
void ycbj() {
HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
DWORD mode;
GetConsoleMode(hStdin, &mode);
mode &= ~ENABLE_QUICK_EDIT_MODE;
SetConsoleMode(hStdin, mode);
return;
}
void ycgb() {
CONSOLE_CURSOR_INFO cursor;
cursor.bVisible = FALSE;
cursor.dwSize = sizeof(cursor);
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorInfo(handle, &cursor);
return;
}
inline void ydgb(long long h, long long l) {
h-=1;
l-=1;
COORD pos = { (short)l,(short)h };
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hOut, pos);
return;
}
inline void ydgb_zj_sc(int x,string zt) {
ll s1=GetActiveWindowSize().h/2;
ll s2=zt.size()/2;
ydgb(x,s1-s2);
cout<<zt;
}
inline void ydgb_zj(int x,string zt) {
ll s1=GetActiveWindowSize().h/2;
ll s2=zt.size()/2;
ydgb(x,s1-s2);
}
inline void ydgb_zj(int x,int zt) {
ll s1=GetActiveWindowSize().h/2;
ll s2=zt/2;
ydgb(x,s1-s2);
}
inline hl ydgb_zj_hl(string zt) {
ll s1=GetActiveWindowSize().h/2;
ll s2=zt.size()/2;
hl z= {s1-s2,s1+s2};
return z;
}
inline bool pdbj(int y,int x,int x1,int x2,int ys,string zt) {
ycgb();
ycbj();
hl z=wz(1,1);
bool a=0;
if(z.h==y&&z.l>=x1&&z.l<=x2) {
ydgb(y,x);
de(ys*16);
cout<<zt;
de(ys);
if(axj(VK_LBUTTON)) {
a=1;
}
} else {
ydgb(y,x);
de(ys);
cout<<zt;
}
de(15);
return a;
}
inline bool pddj_zj(int h,int ys,string zt) {
int s1=GetActiveWindowSize().h/2;
int s2=zt.size()/2;
if(pdbj(h,s1-s2,s1-s2,s2+s1,ys,zt)) {
return 1;
} else {
return 0;
}
}
inline bool pddj_zj_kh(int h,int ys,string zt,string z1="",string z2="") {
int s1=GetActiveWindowSize().h/2;
int s2=zt.size()/2;
ydgb(h,s1-s2-z1.size()-1);
cout<<z1<<"[";
ydgb(h,s1+s2);
cout<<"]"<<z2;
if(pdbj(h,s1-s2,s1-s2,s2+s1,ys,zt)) {
return 1;
} else {
return 0;
}
}
inline bool pddj_kh(int h,int x,int ys,string zt,string z1="",string z2="") {
int s2=zt.size();
ydgb(h,x);
cout<<z1<<"[";
ydgb(h,x+z1.size()+s2+1);
cout<<"]"<<z2;
if(pdbj(h,x+z1.size()+1,x+z1.size()+1,s2+x+z1.size(),ys,zt)) {
return 1;
} else {
return 0;
}
}
inline string wjcc(string x, string y) {
std::string full_path = x + "\\" + y;
// 只创建目录,不创建文件
std::string command = "if not exist " + x + " mkdir " + x;
int ret = system(command.c_str());
return full_path;
}
inline string in_str(ll x) {
string y="";
const string z[]= {"0","1","2","3","4","5","6","7","8","9"};
while(x) {
y+=z[x%10];
x/=10;
}
reverse(y.begin(),y.end());
return y;
}
};