小玩意
序列号生成器
#include<bits/stdc++.h>
#include<windows.h>
#define k putchar('-')
using namespace std;
char get()
{
unsigned r = rand();
r ^= rand();
for(int i = 0; i < rand() % 5; i++) rand();
r &= rand();
r |= rand() & ~rand();
r = (0x4ac5fc2b ^ r) - rand() % 5;
r %= 16;
if(r < 10) return r + '0';
else return r - 10 + 'a';
}
void prt(int n)
{
int c = 0;
for(int i = 0; c < n; i++)
if(rand() % 2)
cout << get(), ++c;
else
get();
}
void print()
{
timeval tv;
mingw_gettimeofday(&tv, NULL);
srand(tv.tv_usec);
cout << "{";
prt(8);
k;
prt(4);
k;
prt(4);
k;
prt(4);
k;
prt(12);
cout << "}" << endl;
}
int main()
{
system("color 07");
cout << "Nope : ";
print();
while(rand() % 500 != 0)
{
cout << "Nope : ";
print();
}
cout << "Choose this :D --> ";
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x70);
print();
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x07);
cout << "Press [Enter] to exit...\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
getchar();
}
可视键盘
#include<iostream>
#include<bitset>
#include<windows.h>
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
using namespace std;
#define PERR(bSuccess, api){if(!(bSuccess)) printf("%s:Error %d from %s on line %d\n", __FILE__, GetLastError(), api, __LINE__);}
void MyCls (HANDLE) ;
inline void clrscr (void)
{
HANDLE hStdOut = GetStdHandle (STD_OUTPUT_HANDLE);
MyCls (hStdOut);
return;
}
void MyCls (HANDLE hConsole)
{
COORD coord = {0,0};
SetConsoleCursorPosition(hConsole, coord);
}
void color (int a)
{
SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), a);
}
void NoEdit()
{
HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
DWORD mode;
GetConsoleMode(hStdin, &mode);
mode &= ~ENABLE_QUICK_EDIT_MODE;
SetConsoleMode(hStdin, mode);
}
bitset<512>down;
bitset<512>pre;
void check (char c)
{
if (!KEY_DOWN (c)) { down[c] = 0; }
else { down[c] = 1; }
}
void checks (char c, int vk)
{
if (!KEY_DOWN (vk)) { down[c] = 0; }
else { down[c] = 1; }
}
void print_letter (char c)
{
if (!down[c]) { color (7); }
else { color (112); }
printf (" %c ", c);
color (7);
}
void print_spec (char c, const char *s, int sp = 2)
{
if (!down[c]) { color (7); }
else { color (112); }
for (int i = 0; i < sp; i++) { printf (" "); }
printf ("%s", s);
for (int i = 0; i < sp; i++) { printf (" "); }
color (7);
}
void sp (int n)
{
while (n--) { printf (" "); }
}
const char TAB = 0, CAPS = 1, ENTER = 2, LSHI = 3, RSHI = 4, LCL = 5, RCL = 6, WIN = 7, LAT = 8,
RAT = 9, INS = 10, HOM = 11, PGUP = 12, DEL = 13, END = 14, PGDN = 15, UP = 16, DN = 17, LT = 18,
RT = 19, BS = 20, ESC = 21, FPLUS = 21, SL = 34, PS = 35, PAU = 36, NL = 37, SPACE = 38;
void print()
{
clrscr();
if(!KEY_DOWN(VK_SHIFT))
{
printf ("Keyboard:\n");
print_spec (ESC, "ESC", 1);
sp (8);
print_spec (22, "F1", 1);
print_spec (23, "F2", 1);
print_spec (24, "F3", 1);
print_spec (25, "F4", 1);
sp (5);
print_spec (26, "F5", 1);
print_spec (27, "F6", 1);
print_spec (28, "F7", 1);
print_spec (29, "F8", 1);
sp (5);
print_spec (30, "F9", 1);
print_spec (31, "F10", 1);
print_spec (32, "F11", 1);
print_spec (33, "F12", 1);
sp (6);
print_spec (PS, "PrtSc", 1);
print_spec (SL, "ScrLk", 1);
print_spec (PAU, "Pause", 1);
printf ("\n\n\n");
print_letter ('`');
print_letter ('1');
print_letter ('2');
print_letter ('3');
print_letter ('4');
print_letter ('5');
print_letter ('6');
print_letter ('7');
print_letter ('8');
print_letter ('9');
print_letter ('0');
print_letter ('-');
print_letter ('=');
print_spec (BS, "Backspace", 0);
sp (6);
print_spec (INS, "INS", 2);
print_spec (HOM, "HOM", 2);
print_spec (PGUP, "Pg Up", 1);
sp (3);
print_spec (NL, "NumLk", 0);
print_spec (100, "/", 2);
print_spec (99, "*", 2);
print_spec (98, "-", 2);
printf ("\n\n");
print_spec (TAB, "Tab", 2);
print_letter ('Q');
print_letter ('W');
print_letter ('E');
print_letter ('R');
print_letter ('T');
print_letter ('Y');
print_letter ('U');
print_letter ('I');
print_letter ('O');
print_letter ('P');
print_letter ('[');
print_letter (']');
print_spec ('\\', "\\", 3);
sp (6);
print_spec (DEL, "DEL", 2);
print_spec (END, "END", 2);
print_spec (PGDN, "Pg Dn", 1);
sp (3);
print_spec (107, "7", 2);
print_spec (108, "8", 2);
print_spec (109, "9", 2);
print_spec (97, " ", 2);
printf ("\n");
sp(119);
print_spec (97, "+", 2);
printf ("\n");
print_spec (CAPS, "CapsLk", 1);
print_letter ('A');
print_letter ('S');
print_letter ('D');
print_letter ('F');
print_letter ('G');
print_letter ('H');
print_letter ('J');
print_letter ('K');
print_letter ('L');
print_letter (';');
print_letter ('\'');
print_spec (ENTER, "Enter", 3);
sp (30);
print_spec (104, "4", 2);
print_spec (105, "5", 2);
print_spec (106, "6", 2);
print_spec (97, " ", 2);
printf ("\n\n");
print_spec (LSHI, "Shift", 2);
print_letter ('Z');
print_letter ('X');
print_letter ('C');
print_letter ('V');
print_letter ('B');
print_letter ('N');
print_letter ('M');
print_letter (',');
print_letter ('.');
print_letter ('/');
print_spec (RSHI, "Shift", 5);
sp (13);
print_spec (UP, " ↑", 2);
sp (7);
sp (3);
print_spec (101, "1", 2);
print_spec (102, "2", 2);
print_spec (103, "3", 2);
print_spec (ENTER, " ", 2);
printf ("\n");
sp(119);
print_spec (ENTER, " ", 2);
printf ("\n");
print_spec (LCL, "Ctrl", 2);
print_spec (WIN, "Win", 2);
print_spec (LAT, "Alt", 2);
print_spec (SPACE, "SPACE", 17);
print_spec (RAT, "Alt", 1);
print_spec (RCL, "Ctrl", 2);
sp (6);
print_spec (LT, " ←", 2);
print_spec (DN, " ↓", 2);
print_spec (RT, " →", 2);
sp (3);
print_spec (110, "0", 4);
print_spec (111, ".", 2);
print_spec (ENTER, "NL", 2);
printf ("\n\n\n\nMouse:\n");
print_spec (112, "Left", 2);
print_spec (113, "Mid", 2);
print_spec (114, "Right", 2);
}else{
printf ("Keyboard:\n");
print_spec (ESC, "ESC", 1);
sp (8);
print_spec (22, "F1", 1);
print_spec (23, "F2", 1);
print_spec (24, "F3", 1);
print_spec (25, "F4", 1);
sp (5);
print_spec (26, "F5", 1);
print_spec (27, "F6", 1);
print_spec (28, "F7", 1);
print_spec (29, "F8", 1);
sp (5);
print_spec (30, "F9", 1);
print_spec (31, "F10", 1);
print_spec (32, "F11", 1);
print_spec (33, "F12", 1);
sp (6);
print_spec (PS, "PrtSc", 1);
print_spec (SL, "ScrLk", 1);
print_spec (PAU, "Pause", 1);
printf ("\n\n\n");
print_spec ('`', "~");
print_spec ('1', "!");
print_spec ('2', "@");
print_spec ('3', "#");
print_spec ('4', "$");
print_spec ('5', "%");
print_spec ('6', "^");
print_spec ('7', "&");
print_spec ('8', "*");
print_spec ('9', "(");
print_spec ('0', ")");
print_spec ('-', "_");
print_spec ('=', "+");
print_spec (BS, "Backspace", 0);
sp (6);
print_spec (INS, "INS", 2);
print_spec (HOM, "HOM", 2);
print_spec (PGUP, "Pg Up", 1);
sp (3);
print_spec (NL, "NumLk", 0);
print_spec (100, "/", 2);
print_spec (99, "*", 2);
print_spec (98, "-", 2);
printf ("\n\n");
print_spec (TAB, "Tab", 2);
print_letter ('Q');
print_letter ('W');
print_letter ('E');
print_letter ('R');
print_letter ('T');
print_letter ('Y');
print_letter ('U');
print_letter ('I');
print_letter ('O');
print_letter ('P');
print_spec ('[', "{");
print_spec (']', "}");
print_spec ('\\', "|", 3);
sp (6);
print_spec (DEL, "DEL", 2);
print_spec (END, "END", 2);
print_spec (PGDN, "Pg Dn", 1);
sp (3);
print_spec (107, "7", 2);
print_spec (108, "8", 2);
print_spec (109, "9", 2);
print_spec (97, " ", 2);
printf ("\n");
sp(119);
print_spec (97, "+", 2);
printf ("\n");
print_spec (CAPS, "CapsLk", 1);
print_letter ('A');
print_letter ('S');
print_letter ('D');
print_letter ('F');
print_letter ('G');
print_letter ('H');
print_letter ('J');
print_letter ('K');
print_letter ('L');
print_spec (';', ":");
print_spec ('\'', "\"");
print_spec (ENTER, "Enter", 3);
sp (30);
print_spec (104, "4", 2);
print_spec (105, "5", 2);
print_spec (106, "6", 2);
print_spec (97, " ", 2);
printf ("\n\n");
print_spec (LSHI, "Shift", 2);
print_letter ('Z');
print_letter ('X');
print_letter ('C');
print_letter ('V');
print_letter ('B');
print_letter ('N');
print_letter ('M');
print_spec (',', "<");
print_spec ('.', ">");
print_spec ('/', "?");
print_spec (RSHI, "Shift", 5);
sp (13);
print_spec (UP, " ↑", 2);
sp (7);
sp (3);
print_spec (101, "1", 2);
print_spec (102, "2", 2);
print_spec (103, "3", 2);
print_spec (ENTER, " ", 2);
printf ("\n");
sp(119);
print_spec (ENTER, " ", 2);
printf ("\n");
print_spec (LCL, "Ctrl", 2);
print_spec (WIN, "Win", 2);
print_spec (LAT, "Alt", 2);
print_spec (SPACE, "SPACE", 17);
print_spec (RAT, "Alt", 1);
print_spec (RCL, "Ctrl", 2);
sp (6);
print_spec (LT, " ←", 2);
print_spec (DN, " ↓", 2);
print_spec (RT, " →", 2);
sp (3);
print_spec (110, "0", 4);
print_spec (111, ".", 2);
print_spec (ENTER, "NL", 2);
printf ("\n\n\n\nMouse:\n");
print_spec (112, "Left", 2);
print_spec (113, "Mid", 2);
print_spec (114, "Right", 2);
}
printf("\n\n\n\nControl:\n");
print_spec (115, "Ctrl", 4);
sp(3);
print_spec (117, "Alt", 4);
sp(3);
print_spec (116, "Windows", 4);
sp(3);
print_spec (118, "Shift", 4);
}
int main()
{
system("mode con cols=124 lines=23");
NoEdit();
print();
while (1)
{
pre = down;
for (int i = 0; i < 26; i++)
{
check (char ('A' + i));
}
for (int i = 0; i < 10; i++)
{
check (char ('0' + i));
}
checks (22, VK_F1);
checks (23, VK_F2);
checks (24, VK_F3);
checks (25, VK_F4);
checks (26, VK_F5);
checks (27, VK_F6);
checks (28, VK_F7);
checks (29, VK_F8);
checks (30, VK_F9);
checks (31, VK_F10);
checks (32, VK_F11);
checks (33, VK_F12);
checks ('`', VK_OEM_3);
checks ('-', VK_OEM_MINUS);
checks ('=', VK_OEM_PLUS);
checks (BS, VK_BACK);
checks (TAB, VK_TAB);
checks ('[', VK_OEM_4);
checks (']', VK_OEM_6);
checks ('\\', VK_OEM_5);
checks (CAPS, VK_CAPITAL);
checks (';', VK_OEM_1);
checks ('\'', VK_OEM_7);
checks (',', VK_OEM_COMMA);
checks ('.', VK_OEM_PERIOD);
checks ('/', VK_OEM_2);
checks (ENTER, VK_RETURN);
checks (LSHI, VK_LSHIFT);
checks (RSHI, VK_RSHIFT);
checks (LCL, VK_LCONTROL);
checks (RCL, VK_RCONTROL);
checks (LAT, VK_LMENU);
checks (RAT, VK_RMENU);
checks (SPACE, VK_SPACE);
checks (WIN, VK_LWIN);
checks (INS, VK_INSERT);
checks (HOM, VK_HOME);
checks (PGUP, VK_PRIOR);
checks (PGDN, VK_NEXT);
checks (END, VK_END);
checks (DEL, VK_DELETE);
checks (UP, VK_UP);
checks (DN, VK_DOWN);
checks (LT, VK_LEFT);
checks (RT, VK_RIGHT);
checks (ESC, VK_ESCAPE);
checks (SL, VK_SCROLL);
checks (NL, VK_NUMLOCK);
checks (PS, VK_SNAPSHOT);
checks (PAU, VK_PAUSE);
checks (97, VK_ADD);
checks (98, VK_SUBTRACT);
checks (99, VK_MULTIPLY);
checks (100, VK_DIVIDE);
checks (101, VK_NUMPAD1);
checks (102, VK_NUMPAD2);
checks (103, VK_NUMPAD3);
checks (104, VK_NUMPAD4);
checks (105, VK_NUMPAD5);
checks (106, VK_NUMPAD6);
checks (107, VK_NUMPAD7);
checks (108, VK_NUMPAD8);
checks (109, VK_NUMPAD9);
checks (110, VK_NUMPAD0);
checks (111, VK_DECIMAL);
checks (112, VK_LBUTTON);
checks (113, VK_MBUTTON);
checks (114, VK_RBUTTON);
checks (115, VK_CONTROL);
checks (116, VK_LWIN);
checks (117, VK_MENU);
checks (118, VK_SHIFT);
if (down != pre) { print(); }
Sleep (20);
}
return 0;
}
感谢@JellyFish
自动打代码
#include<Windows.h>
#include<bits/stdc++.h>
using namespace std;
void p(int v)
{
keybd_event(v, 0, 0, 0);
keybd_event(v, 0, KEYEVENTF_KEYUP, 0);
}
void shp(int v)
{
keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(v, 0, 0, 0);
keybd_event(v, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
}
void cnp(int v)
{
keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event(v, 0, 0, 0);
keybd_event(v, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
}
void alp(int v)
{
keybd_event(VK_MENU, 0, 0, 0);
keybd_event(v, 0, 0, 0);
keybd_event(v, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0);
}
// HEX HIGH 00000000000000001111111111111111222222222222222233333333333333334444444444444444555555555555555566666666666666667777777777777777
// HEX LOW 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF
// ASCII -------ABTNVFR------------------ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~DEL
const string sh = "00000000000010000000000000000000011111101111000000000000001010111111111111111111111111111110001100000000000000000000000000011110";
const string vk = " \x08""\x09""\x0D"" \x0D"" 1\xde""3457\xde""908\xbb""\xbc""\xbd""\xbe""\xbf""0123456789\xba""\xba""\xbc""\xbb""\xbe""\xbf""2ABCDEFGHIJKLMNOPQRSTUVWXYZ\xdb""\xdc""\xdd""6\xbd""\xc0""ABCDEFGHIJKLMNOPQRSTUVWXYZ\xdb""\xdc""\xdd""\xc0""\x2e";
// ASCII -------AB~~~~~T~~~~~N~~~~~VFR~~~~~------------------ !"~~~~~#$%&'~~~~~()*+~~~~~,~~~~~-~~~~~.~~~~~/~~~~~0123456789:~~~~~;~~~~~<~~~~~=~~~~~>~~~~~?~~~~~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[~~~~~\~~~~~]~~~~~^_~~~~~`~~~~~abcdefghijklmnopqrstuvwxyz{~~~~~|~~~~~}~~~~~~~~~~~DEL~
// HEX LOW 012345678~~~~~9~~~~~A~~~~~BCD~~~~~EF0123456789ABCDEF012~~~~~34567~~~~~89AB~~~~~C~~~~~D~~~~~E~~~~~F~~~~~0123456789A~~~~~B~~~~~C~~~~~D~~~~~E~~~~~F~~~~~0123456789ABCDEF0123456789AB~~~~~C~~~~~D~~~~~EF~~~~~0~~~~~123456789ABCDEF0123456789AB~~~~~C~~~~~D~~~~~E~~~~~F~~~
// HEX HIGH 000000000000000000000000000000000000111111111111111122222222222222222222222222222222222222222222222222233333333333333333333333333333333333333333333334444444444444444555555555555555555555555555555555555666666666666666666666777777777777777777777777777777777777777
void strp(const string &s, string notice = "\f = press shift once, \n = return, \r = ctrl + return")
{
notice = "";
if(GetKeyState(VK_CAPITAL) & 0x01)
{
p(VK_CAPITAL);
}
for(int i = 0; i < s.length(); i++)
{
char u = s[i];
if(u == '\f')
{
p(VK_SHIFT);
}
else if(u == '\r')
{
cnp(VK_RETURN);
}
else if(sh[u] == '1')
{
shp(vk[u]);
}
else
{
p(vk[u]);
}
}
}
int main()
{
Sleep(2000);
fstream fin(__FILE__);
stringstream ss;
ss << fin.rdbuf();
strp(ss.str());
}
衍生产物
#ifndef _KEYBD_
#define _KEYBD_
#include<Windows.h>
class Keyboard
{
protected:
const char *PressShift = "00000000000010000000000000000000011111101111000000000000001010111111111111111111111111111110001100000000000000000000000000011110";
const char *VirtualKey = " \x08""\x09""\x0D"" \x0D"" 1\xde""3457\xde""908\xbb""\xbc""\xbd""\xbe""\xbf""0123456789\xba""\xba""\xbc""\xbb""\xbe""\xbf""2ABCDEFGHIJKLMNOPQRSTUVWXYZ\xdb""\xdc""\xdd""6\xbd""\xc0""ABCDEFGHIJKLMNOPQRSTUVWXYZ\xdb""\xdc""\xdd""\xc0""\x2e";
public:
const BYTE CTRL = 0x1, ALT = 0x2, SHIFT = 0x4, WIN = 0x8;
void PressKey(BYTE bVk, BYTE bFlags = 0)
{
if(bFlags & CTRL) keybd_event(VK_CONTROL, 0, 0, 0);
if(bFlags & ALT) keybd_event(VK_MENU, 0, 0, 0);
if(bFlags & SHIFT) keybd_event(VK_SHIFT, 0, 0, 0);
if(bFlags & WIN) keybd_event(VK_LWIN, 0, 0, 0);
keybd_event(bVk, 0, 0, 0);
keybd_event(bVk, 0, KEYEVENTF_KEYUP, 0);
if(bFlags & CTRL) keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
if(bFlags & ALT) keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0);
if(bFlags & SHIFT) keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
if(bFlags & WIN) keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0);
}
void PressStr(const char *s, const char *notice = "\f = press shift once, \n = return, \r = ctrl + return")
{
if(GetKeyState(VK_CAPITAL) & 0x01)
{
PressKey(VK_CAPITAL);
}
for(int i = 0; s[i] != '\0'; i++)
{
char u = s[i];
if(u == '\f')
{
PressKey(VK_SHIFT);
}
else if(u == '\r')
{
PressKey(VK_RETURN, CTRL);
}
else if(PressShift[u] == '1')
{
PressKey(VirtualKey[u], SHIFT);
}
else
{
PressKey(VirtualKey[u]);
}
}
}
BOOL KeyPressing(BYTE bVk)
{
return (GetAsyncKeyState(bVk) & 0x8000 ? 1 : 0);
}
BOOL KeyPressed(BYTE bVk)
{
return (GetAsyncKeyState(bVk) & 0x8001 ? 1 : 0);
}
BOOL KeyLocked(BYTE bVk)
{
return (GetKeyState(bVk) & 0x1 ? 1 : 0);
}
};
#endif
鼠标键
// linker +lib : -lgdi32
#include<Windows.h>
#include<stdio.h>
#define k(a) (GetAsyncKeyState(a) & 0x8000 ? 1 : 0)
#define l(a) (GetAsyncKeyState(a) == -32767)
#define xxxl(x) \
if(k(VK_NUMPAD##x)) \
{
#define xxxr(x) \
if(last == x) \
{ \
N[x] += M; \
} \
last = x; \
}
void xxx(int x)
{
keybd_event(x, 0, 0, 0);
Sleep(10);
keybd_event(x, 0, KEYEVENTF_KEYUP, 0);
}
bool test()
{
keybd_event(VK_SPACE, 0, 0, 0);
bool ret = GetAsyncKeyState(VK_SPACE) & 0x8000;
keybd_event(VK_SPACE, 0, KEYEVENTF_KEYUP, 0);
return ret;
}
int main()
{
if(!test()) throw;
int M = 1;
int last = 0;
int N[12] = {};
N[11] = N[1] = N[2] = N[3] = N[4] = N[5] = M;
N[6] = N[7] = N[8] = N[9] = N[10] = M;
bool lp = 0, mp = 0, rp = 0;
printf("Red: Off; Green: On; Blue & Yellow: Press\nstatus\tgks \tgaks \n\n");
int x = GetSystemMetrics(SM_CXSCREEN), y = GetSystemMetrics(SM_CYSCREEN);
while(1)
{
Sleep(1);
HDC hdc = GetDC(GetDesktopWindow());
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), {0, 2});
printf("%s\t%08X\t%08X\n", GetKeyState(VK_SCROLL) == 1 ? "On" : GetKeyState(VK_SCROLL) == 0 ? "Off" : "Press", GetKeyState(VK_SCROLL), GetAsyncKeyState(VK_SCROLL));
if((GetKeyState(VK_SCROLL) & 0x81) == 0x81)
{
HPEN hPen = (HPEN)CreatePen(PS_SOLID, 3, RGB(255, 255, 0));
HBRUSH hBrush = (HBRUSH)CreateSolidBrush(RGB(255, 255, 0));
SelectObject(hdc, hPen);
SelectObject(hdc, hBrush);
Ellipse(hdc, x - 20, y - 20, x - 5, y - 5);
}
else if((GetKeyState(VK_SCROLL) & 0x80) == 0x80)
{
HPEN hPen = (HPEN)CreatePen(PS_SOLID, 3, RGB(0, 0, 255));
HBRUSH hBrush = (HBRUSH)CreateSolidBrush(RGB(0, 0, 255));
SelectObject(hdc, hPen);
SelectObject(hdc, hBrush);
Ellipse(hdc, x - 20, y - 20, x - 5, y - 5);
}
else if(GetKeyState(VK_SCROLL) & 0x1)
{
HPEN hPen = (HPEN)CreatePen(PS_SOLID, 3, RGB(0, 255, 0));
HBRUSH hBrush = (HBRUSH)CreateSolidBrush(RGB(0, 255, 0));
SelectObject(hdc, hPen);
SelectObject(hdc, hBrush);
Ellipse(hdc, x - 20, y - 20, x - 5, y - 5);
{
POINT p = {0, 0}, q;
int scr = 0;
xxxl(8)
p.y -= N[8];
xxxr(8)
else xxxl(2)
p.y += N[2];
xxxr(2)
else xxxl(4)
p.x -= N[4];
xxxr(4)
else xxxl(6)
p.x += N[6];
xxxr(6)
else xxxl(7)
p.y -= N[7];
p.x -= N[7];
xxxr(7)
else xxxl(1)
p.y += N[1];
p.x -= N[1];
xxxr(1)
else xxxl(9)
p.y -= N[9];
p.x += N[9];
xxxr(9)
else xxxl(3)
p.x += N[3];
p.y += N[3];
xxxr(3)
else if(k(VK_NUMPAD0))
{
scr += N[11];
if(last == 11)
{
N[11] += M;
}
last = 11;
}
else if(k(VK_DECIMAL))
{
scr -= N[10];
if(last == 10)
{
N[10] += M;
}
last = 10;
}
else
{
last = 0;
N[11] = N[1] = N[2] = N[3] = N[4] = N[5] = M;
N[6] = N[7] = N[8] = N[9] = N[10] = M;
}
GetCursorPos(&q);
if(last < 10) SetCursorPos(q.x + p.x / 2, q.y + p.y / 2);
if(l(VK_DIVIDE))
{
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
lp = 1;
// Sleep(500);
}
else if(lp)
{
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
lp = 0;
}
if(l(VK_MULTIPLY))
{
mouse_event(MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0);
mp = 1;
// Sleep(500);
}
else if(mp)
{
mouse_event(MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0);
mp = 0;
}
if(l(VK_SUBTRACT))
{
mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0);
rp = 1;
// Sleep(500);
}
else if(rp)
{
mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
rp = 0;
}
if(last == 10 || last == 11)
{
mouse_event(MOUSEEVENTF_WHEEL, 0, 0, scr, 0);
}
}
}
else
{
HPEN hPen = (HPEN)CreatePen(PS_SOLID, 3, RGB(255, 0, 0));
HBRUSH hBrush = (HBRUSH)CreateSolidBrush(RGB(255, 0, 0));
SelectObject(hdc, hPen);
SelectObject(hdc, hBrush);
Ellipse(hdc, x - 20, y - 20, x - 5, y - 5);
}
ReleaseDC(GetDesktopWindow(), hdc);
}
}
弹窗恶搞
#include<stdlib.h>
#include<Windows.h>
#include<time.h>
#include<string>
#include<iostream>
using namespace std;
string fn = __FILE__, fff;
void s(const char *ds, int n = 250)
{
ShellExecuteA(NULL, "open", fn.data(), ds, NULL, SW_HIDE);
Sleep(n);
}
void st(const char *ds, int n = 200)
{
ShellExecuteA(NULL, "open", fn.data(), ds, NULL, SW_HIDE);
Sleep(n);
cout << ("taskkill /im " + fff).data() << endl;
system(("taskkill /im " + fff).data());
}
const char *ss[3] = {"e", "w", "i"};
int main(int argc, char **argv)
{
fn.pop_back();
fn.pop_back();
fn.pop_back();
fn += "exe";
fff = fn.substr(fn.find_last_of('/') == string :: npos ? (fn.find_last_of('\\') + 1) : (fn.find_last_of('/') + 1));
while(fff.find('"') != string::npos) fff.erase(fff.find('"'), 1);
fff = '"' + fff + '"';
srand(time(NULL));
if(argc == 2)
{
if(argv[1][0] == 'e')
{
const char *ss[2] = {"Windows was not installed correctly. Please reinstall Windows.\nError 4 (Windows error 096)", "The application was"};
MessageBox(NULL, ss[rand() % 2], "Microsoft Windows", MB_ICONHAND);
}
if(argv[1][0] == 'w')
{
const char *ss[2] = {"Are you sure you want to exist?\nAre you sure you want to exist?\nAre you sure you want to exist?", "Are you sure you want to exist?"};
MessageBox(NULL, ss[rand() % 2], "Microsoft Windows", MB_ICONWARNING);
}
if(argv[1][0] == 'i')
{
const char *ss[2] = {"Task failed successfully.", "Something happened."};
MessageBox(NULL, ss[rand() % 2], "Microsoft Windows", MB_ICONINFORMATION);
}
return 0;
}
while(!GetAsyncKeyState(VK_ESCAPE))
{
s(ss[rand() % 3]);
s(ss[rand() % 3]);
s(ss[rand() % 3]);
s(ss[rand() % 3]);
s(ss[rand() % 3]);
s(ss[rand() % 3]);
s(ss[rand() % 3]);
s(ss[rand() % 3]);
s(ss[rand() % 3]);
s(ss[rand() % 3]);
s(ss[rand() % 3]);
s(ss[rand() % 3]);
s(ss[rand() % 3]);
s(ss[rand() % 3]);
s(ss[rand() % 3]);
s(ss[rand() % 3]);
s(ss[rand() % 3]);
s(ss[rand() % 3]);
st(ss[rand() % 3]);
}
st(ss[rand() % 3]);
}
无聊屏幕校准小游戏
#include<bits/stdc++.h>
#include<Windows.h>
#define N 20
using namespace std;
int eps;
void ClearScreen(int x, int y)
{
RECT rt = {0, 0, x, y};
InvalidateRect(GetConsoleWindow(), &rt, true);
}
POINT press1(POINT tar)
{
HWND hWnd = GetDesktopWindow();
HDC hdc = GetDC(hWnd);
POINT old;
int x = GetSystemMetrics(SM_CXSCREEN), y = GetSystemMetrics(SM_CYSCREEN);
while(1)
{
HPEN hPen = (HPEN)CreatePen(PS_SOLID, 3, RGB(0, 255, 0));
HBRUSH hBrush = (HBRUSH)GetStockObject(NULL_BRUSH);
SelectObject(hdc, hPen);
SelectObject(hdc, hBrush);
POINT mouse;
GetCursorPos(&mouse);
// SetPixel(hdc, mouse.x, mouse.y, RGB(0, 255, 0));
MoveToEx(hdc, mouse.x - N - N / 2, mouse.y, NULL);
LineTo(hdc, mouse.x - N + N / 2, mouse.y);
MoveToEx(hdc, mouse.x + N - N / 2, mouse.y, NULL);
LineTo(hdc, mouse.x + N + N / 2, mouse.y);
MoveToEx(hdc, mouse.x, mouse.y - N - N / 2, NULL);
LineTo(hdc, mouse.x, mouse.y - N + N / 2);
MoveToEx(hdc, mouse.x, mouse.y + N - N / 2, NULL);
LineTo(hdc, mouse.x, mouse.y + N + N / 2);
Ellipse(hdc, mouse.x - N, mouse.y - N, mouse.x + N, mouse.y + N);
Ellipse(hdc, mouse.x - 1, mouse.y - 1, mouse.x + 1, mouse.y + 1);
HPEN hPen2 = (HPEN)CreatePen(PS_SOLID, 3, RGB(255, 0, 0));
HPEN hPenb = (HPEN)CreatePen(PS_SOLID, 3, RGB(0, 0, 255));
HBRUSH hBrush2 = (HBRUSH)GetStockObject(NULL_BRUSH);
SelectObject(hdc, hPen2);
SelectObject(hdc, hBrush2);
Ellipse(hdc, tar.x - N, tar.y - N, tar.x + N, tar.y + N);
Ellipse(hdc, tar.x - N / 2, tar.y - N / 2, tar.x + N / 2, tar.y + N / 2);
Ellipse(hdc, tar.x - 1, tar.y - 1, tar.x + 1, tar.y + 1);
SelectObject(hdc, hPenb);
Ellipse(hdc, tar.x - eps, tar.y - eps, tar.x + eps, tar.y + eps);
Sleep(100);
cout << '(' << mouse.x << ", " << mouse.y << ") \r";
// if(GetLastError() != 0) return GetLastError();
// if(GetAsyncKeyState(VK_SPACE) & 0x8000)
if(mouse.x != old.x || mouse.y != old.y)
{
ClearScreen(x, y);
Sleep(100);
}
swap(old, mouse);
if(GetAsyncKeyState(VK_LBUTTON) & 0x8000)
{
return mouse;
}
}
ReleaseDC(hWnd, hdc);
DeleteDC(hdc);
}
int main()
{
cin >> eps;
srand(time(NULL));
int x = GetSystemMetrics(SM_CXSCREEN), y = GetSystemMetrics(SM_CYSCREEN);
int cnt = 0;
while(1)
{
POINT tar = {rand() % x, rand() % y};
HWND hWnd = GetDesktopWindow();
HDC hdc = GetDC(hWnd);
HPEN hPenb = (HPEN)CreatePen(PS_SOLID, 3, RGB(255, 0, 0));
HPEN hPen = (HPEN)CreatePen(PS_SOLID, 3, RGB(0, 0, 255));
HBRUSH hBrush = (HBRUSH)GetStockObject(NULL_BRUSH);
SelectObject(hdc, hPen);
SelectObject(hdc, hBrush);
Ellipse(hdc, tar.x - N, tar.y - N, tar.x + N, tar.y + N);
Ellipse(hdc, tar.x - N / 2, tar.y - N / 2, tar.x + N / 2, tar.y + N / 2);
Ellipse(hdc, tar.x - 1, tar.y - 1, tar.x + 1, tar.y + 1);
SelectObject(hdc, hPenb);
Ellipse(hdc, tar.x - eps, tar.y - eps, tar.x + eps, tar.y + eps);
ReleaseDC(hWnd, hdc);
DeleteDC(hdc);
POINT get = press1(tar);
if(abs(get.x - tar.x) < eps && abs(get.y - tar.y) < eps)
{
cout << "\nOk." << endl;
Sleep(1000);
system("cls");
cnt++;
continue;
}
else
{
cout << "\nOops..." << endl;
cout << "Good shoots: " << cnt << endl;
Sleep(1000);
return 0;
}
}
}
Wang Jingtian's Adventure(未完成)
#include<string>
#include<stdio.h>
#include<stdarg.h>
#include<stdlib.h>
#include<Windows.h>
#define GiveBloodBottle -1
#define INF INT_MAX
//#define
#define EnemyFunc(n) ENEMYFUNRET Enemy##n (int x, int y, int CurrSleep, int PlayerX, int PlayerY)
#define BulletFunc(n) BULET Bullet##n (int x, int y, DIR dir, int speed, char bullet, int length)
using std::string;
void dprintf(int ms, const char * format, ...)
{
char *buf = new char[65536];
va_list arg;
va_start(arg, format);
vsprintf(buf, format, arg);
string s = buf;
delete []buf;
for(int i = 0; i < s.size(); i++)
{
putchar(s[i]);
Sleep(ms);
}
}
void load()
{
dprintf(50, "----- Wang Jingtian's Adventure -----\n");
dprintf(50, "--------- Loading Files ... ---------\n");
dprintf(50, " sto \r");
printf(" sto \r");
Sleep(100);
printf(" sto \r");
Sleep(100);
printf(" sto \r");
Sleep(100);
printf(" sto \r");
Sleep(100);
printf(" sto \r");
Sleep(100);
printf(" sto \r");
Sleep(100);
printf(" sto \r");
Sleep(100);
printf(" sto \r");
Sleep(100);
printf(" sto \r");
Sleep(100);
printf(" sto \r");
Sleep(100);
printf(" sto \r");
Sleep(100);
printf(" sto \r");
Sleep(100);
printf(" sto \r");
Sleep(100);
printf(" sto \n");
Sleep(1000);
dprintf(50, "Complete.\n");
system("cls");
}
struct HAND
{
string name;
int harm;
int crit;
int length;
int sleepms;
int blood;
int money;
};
HAND hand[] =
{
{"NULL", INF, 0, INF, 0, INF, 1000},
{"Cry", 3, INF, INF, 300, 50, 0},
{"Hand", 5, 5, 2, 100, 0, 0},
{"Book", 7, 3, 2, 200, 0, 10},
{"Shoes", 8, 3, 5, 200, 0, 25},
{"Basketball", 8, 5, 8, 500, 0, 50},
{"Shi Huo Coin", 8, 3, 9, 500, 10, 60},
{"Meal Card", 10, 1, 10, 600, 10, 100},
{"Touch Head", 15, INF, 2, 200, 0, 0},
{"Toy Sword", 20, 3, 3, 50, 0, 120},
{"Bomb", 30, INF, 10, 1000, 0, 200},
{"Mathematics", 50, INF, INF, 0, 0, 250}
};
struct SHIELD
{
string name;
int Def100;
int money;
};
SHIELD shield[] =
{
{"NULL", 100, 1000},
{"Wooden Shield", 10, 0},
{"Iron Shield", 30, 50},
{"Ice Wall", 50, 100},
{"Golden Shield", 65, 150},
{"Diamond Shield", 75, 200},
{"Ender Shield", 95, 200}
};
enum DIR
{
UP, DOWN, LEFT, RIGHT
};
struct BULET
{
int x;
int y;
DIR dir;
char bullet;
int go;
};
const BULET Terminate = {INF, INF, UP, 0, INF};
bool IsTerminate(BULET a)
{
return
a.x == Terminate.x
}
typedef BULET (*SHOOTFUNC)(int, int, DIR, int, char, int); // x, y, dir, speed, bullet, length
struct ENEMYFUNRET
{
bool bDied;
bool bShoot;
int nCurrSleep;
SHOOTFUNC bulletfn;
};
typedef ENEMYFUNRET (*ENEMYFUNC)(int, int, int, int, int); // x, y, Currsleep, PlayerX, PlayerY
struct ENEMY
{
string name;
string type;
int harm;
int length;
int sleepms;
int hp;
int money;
int n;
ENEMYFUNC func;
};
//////////////////////////////////////////////BulletFunction////////////////////////////////////////////////////////
// BULET Bullet##n (int x, int y, DIR dir, int speed, char bullet, int length)
//
BulletFunc(0)
{
return {0, 0};
}
BulletFunc(1)
{
}
//////////////////////////////////////////////EnemyFunction/////////////////////////////////////////////////////////
// ENEMYFUNRET Enemy##n (int x, int y, int CurrSleep, int PlayerX, int PlayerY)
EnemyFunc(0)
{
return {false, false, 0};
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ENEMY enemy[] =
{
{"NULL", "NULL", 0, 0, 0, 0, 0, 0},
{"Zhuge Zheng", "告状", 10, 2, 100, 100, 20, 1},
{"Chicken", "篮球", 25, 3, 1000, 150, 50, 1},
{"Dormitory Administrator", "砸电脑", 40, 2, 200, 200, 75, 1},
{"Teacher Liu", "撕小星星", 45, INF, 1000, 100, 90, 1},
{"Music Game", "崩溃!", 30, 2, 2000, 100, 50, 1},
{"Chen Ruixiang", "口水攻击", 40, 10, 5000, 100, 75, 1},
{"Mr. Fu", "破口大骂", 45, 10, 0, 200, 100, 1},
{"Treasuer Chest", "攻击以进入下一关", GiveBloodBottle, 0, INF, 1, 0, 1},
{"Mother", "拖鞋", 30, 2, 1000, 250, 0, 1},
{"Strongbox", "财宝!", 0, 0, 0, 10000, 300, 1},
{"Treasuer Chest", "攻击以进入下一关", GiveBloodBottle, 0, INF, 1, 0, 1},
{"Police", "警棍", 45, 2, 1000, 100, 10, 5},
{"Treasuer Chest", "攻击以进入下一关", GiveBloodBottle, 0, INF, 1, 0, 1},
{"Li Jing", "塔", 60, 10, 1500, 1000, 150, 1},
{"Brain Storm", "数学", 75, 10, 2000, 1250, 200, 1},
{"Treasuer Chest", "攻击以进入下一关", GiveBloodBottle, 0, INF, 1, 0, 1},
{"Galaxy Ender", "激光", 65, INF, 3000, 1500, 300, 1},
{"Treasuer Chest", "攻击以进入下一关", GiveBloodBottle, 0, INF, 1, 0, 1},
{"Cosmic Terminator", "自爆", 80, 5, 4000, 2000, 500, 1},
{"Treasuer Chest", "攻击以结束游戏", GiveBloodBottle, 0, INF, 1, 0, 1},
};
int main()
{
load();
}