2024年4月29日发(作者:)
#include
#include
#include
#include
#include
#include
CONSOLE_SCREEN_BUFFER_INFO csbiInfo;
extern WINBASEAPI HWND WINAPI GetConsoleWindow();
#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))
#define G(x, y, z) (((x) & (z)) | ((y) & (~z)))
#define H(x, y, z) ((x) ^ (y) ^ (z))
#define I(x, y, z) ((y) ^ ((x) | (~z)))
#define RL(x, y) (((x) << (y)) | ((x) >> (32 - (y)))) //x向左循环移y位
#define PP(x) (x<<24)|((x<<8)&0xff0000)|((x>>8)&0xff00)|(x>>24) //将x高低位互换,例如
PP(aabbccdd)=ddccbbaa
#define FF(a, b, c, d, x, s, ac) a = b + (RL((a + F(b,c,d) + x + ac),s))
#define GG(a, b, c, d, x, s, ac) a = b + (RL((a + G(b,c,d) + x + ac),s))
#define HH(a, b, c, d, x, s, ac) a = b + (RL((a + H(b,c,d) + x + ac),s))
#define II(a, b, c, d, x, s, ac) a = b + (RL((a + I(b,c,d) + x + ac),s))
unsigned A,B,C,D,a,b,c,d,i,len,flen[2],x[16]; //i临时变量,len文件长,flen[2]为位二进制表示
的文件初始长度//x[16]
int file_choose=0;//文件导入初始状态 //全局变量
char filename2[30]="MD5_";//默认文件位置
void menu();
void clear();
void js();
void md5();
void save();
char filename[100]; //文件名
FILE *fp;
int main(int argc, char* argv[])
{
int d1,d2,d,x, xy=0,i, k=0, s[100],ch,dir=40;
struct re
{
int top;
int left;
int right;
int bottom;
}rt[7];
RECT rect;
HWND hwnd;//窗口句柄
HDC hdc,dc;//画图设备
HBRUSH hbr,hbr2;
COORD pos3_1 = {1, 4},pos2_1 = {1, 4},pos2_2 = {1, 5},pos2_3 = {1, 6},pos2_4 = {1, 7};
INPUT_RECORD mouseRec;
DWORD state = 0, res=0;
POINT pt;
HPEN pn;
HANDLE hOut, hIn;
COLORREF yellow,red;
yellow= RGB(0,0,255);
red= RGB(0,255,0);
hwnd=GetConsoleWindow();
hdc = GetDC(hwnd);
hbr= CreateSolidBrush(red);
dc = GetDC(hwnd);
SelectObject(dc,hbr);
for(rt[1].left=150,i=2;i<=3;i++) rt[i].left=rt[i-1].left+110;
for(rt[1].right=210,i=2;i<=3;i++) rt[i].right=rt[i-1].right+110;
for(i=0;i<=3;i++) rt[i].top=40;
for(i=0;i<=3;i++) rt[i].bottom=60;
hOut = GetStdHandle(STD_OUTPUT_HANDLE);
hIn=GetStdHandle(STD_INPUT_HANDLE);
pn=CreatePen(PS_SOLID,1,RGB(0,255,0));
GetClientRect(hwnd, &rt);
SelectObject(hdc, pn);
SetTextColor(hdc,RGB(255,255,0));
SetBkMode(hdc,TRANSPARENT);
MoveToEx(hdc,40,35,NULL);
LineTo(hdc,540,35);
hbr= CreateSolidBrush(yellow);
SelectObject(dc,hbr);
for(i=1;i<=6;i++)
Rectangle(dc,rt[i].left,rt[i].top,rt[i].right,rt[i].bottom);
SetTextColor(hdc,RGB(255,0,0));
TextOut(hdc,250,10,TEXT("文件完整校验"),12);//输出文本
GetClientRect(hwnd, &rt);
SelectObject(hdc, pn);//选画笔
SetTextColor(hdc,RGB(0,255,255));////设颜色
TextOut(hdc,150,40,TEXT("导入文件"),8);//输出文本
TextOut(hdc,260,40,TEXT("存储MD5 "),8);//输出文本
TextOut(hdc,370,40,TEXT(" 退出"),8);//输出文本
GetClientRect(hwnd, &rt);//得到控制台客户区的大小
SelectObject(hdc, pn);//选画笔
SetTextColor(hdc,RGB(0,255,0));////设颜色
TextOut(hdc,460,370,TEXT("Copy Right:小帅哥"),17);//输出文本
ShowWindow(hwnd,SW_SHOW);
for(;;) // 循环
{//读取输入的信息
ReadConsoleInput(hIn, &mouseRec, 1, &res);
Sleep(100);
if (ype == MOUSE_EVENT)
{
if (onState ==
FROM_LEFT_1ST_BUTTON_PRESSED)
{
GetCursorPos(&pt);
ScreenToClient(hwnd,&pt);
if(pt.x>rt[1].left && pt.x
发布评论