![]() |
#2
rain97972020-11-10 15:46
|

MYSQL mysql;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, LPSTR lpszCmdLine, int nCmdShow)
{
//mysql部分
if (NULL == mysql_init(&mysql)) //分配和初始化MYSQL对象
{
printf("mysql_init(): %s\n", mysql_error(&mysql));
}
if (NULL == mysql_real_connect(&mysql,//尝试与运行在主机上的MySQL数据库引擎建立连接
"localhost",
"root",
"123321qwertasd.",
"c_design", 0, NULL, 0)){
printf("mysql_real_connect(): %s\n", mysql_error(&mysql));
}
//printf("Connected MySQL successful! \n");
if (mysql_query(&mysql, CREATE_DATABASE) == 0) //创建数据库
{
printf("create database successful!\n");
}
if (mysql_query(&mysql, CREAT_TABLE) == 0) //创建表
{
printf("create table successful!\n");
}
if (mysql_query(&mysql, LOAD_SORCE) == 0) //加载文本文件
{
printf("load successful!\n");
}
else{
printf("load failed!\n");
}
if (mysql_query(&mysql, CREATE_DATABASE) == 0) {
printf("create database successful!\n");
}
else {
printf("database has exited!\n");
}
mysql_close(&mysql);
//图形用户界面部分
WNDCLASSEX wc; //窗口类
HWND hwnd; //窗口句柄
MSG Msg; //消息
//设置顶级窗口基本属性
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = 0;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(hInstance, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = CreateSolidBrush(RGB(255,255,255));
wc.lpszMenuName = NULL;
wc.lpszClassName = "window_class";
//注册主窗口类
if (!RegisterClassEx(&wc))
{
MessageBox(NULL, "Window Registration Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK);
return 0;
}
hwnd = CreateWindow("window_class", "登录", WS_OVERLAPPED | WS_CAPTION | WS_EX_LAYERED, 500, 200, 360, 390, NULL, NULL, NULL, NULL);
if (hwnd == NULL)
{
MessageBox(NULL, "Window Creation Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK);
return 0;
}
ShowWindow(hwnd, 1);
UpdateWindow(hwnd);
//设置login窗口基本属性
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = 0;
wc.lpfnWndProc = LoginWndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(hInstance, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = CreateSolidBrush(RGB(255, 255, 255));
wc.lpszMenuName = NULL;
wc.lpszClassName = "login";
//注册login窗口类
if (!RegisterClassEx(&wc))
{
MessageBox(NULL, "Window Registration Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK);
return 0;
}
//设置register窗口基本属性
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = 0;
wc.lpfnWndProc = RegisterWndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(hInstance, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = CreateSolidBrush(RGB(255, 255, 255));
wc.lpszMenuName = NULL;
wc.lpszClassName = "register";
//注册register窗口类基本属性
if (!RegisterClassEx(&wc))
{
MessageBox(NULL, "Window Registration Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK);
return 0;
}
//设置improve窗口类基本属性
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = 0;
wc.lpfnWndProc = ImproveWndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(hInstance, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = CreateSolidBrush(RGB(255, 255, 255));
wc.lpszMenuName = NULL;
wc.lpszClassName = "improve";
//注册improve窗口类
if (!RegisterClassEx(&wc))
{
MessageBox(NULL, "Window Registration Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK);
return 0;
}
//消息队列
while (GetMessage(&Msg, NULL, 0, 0) > 0)
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)//窗口过程处理函数
{
HINSTANCE hInstance = GetModuleHandle(NULL); //获取一个模块句柄
HWND llogin ; //窗口句柄
HWND rregister;
switch (msg)
{
//在父窗口中定义多个子控件
case WM_CREATE:
{
CreateWindow("Button", "登录", WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
90, 80, 200, 40, hwnd, (HMENU)IDB_LOGIN, hInstance, NULL);
CreateWindow("Button", "注册", WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
90, 150, 190, 40, hwnd, (HMENU)IDB_REGISTER, hInstance, NULL);
CreateWindow("Button", "游客登录", WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
90, 200, 190, 20, hwnd, (HMENU)IDB_VISILAND, hInstance, NULL);
CreateWindow("Button", "同意", WS_VISIBLE | WS_CHILD | BS_AUTOCHECKBOX,
50, 320, 100, 20, hwnd, (HMENU)IDB_FOUR, hInstance, NULL);
return 0;
}
//点击子控件后的操作
case WM_COMMAND:
{
switch LOWORD(wParam)
{
case IDB_LOGIN: //进入账号登录的窗口
{
llogin = CreateWindow("login", "账号登录", WS_EX_LAYERED | WS_OVERLAPPED | WS_CAPTION,
550, 200, 350, 360, NULL, NULL, hInstance, NULL);
ShowWindow(llogin, 1);
UpdateWindow(llogin);
return 0;
}
case IDB_REGISTER: //进入账号注册的窗口
{
rregister = CreateWindow("register", "账号注册", WS_EX_LAYERED | WS_OVERLAPPED | WS_CAPTION,
520, 200, 350, 360, hwnd, NULL, hInstance, NULL);
ShowWindow(rregister, 1);
UpdateWindow(rregister);
return 0;
}
case IDB_VISILAND: //进入游客登陆的窗口,当选择游客登陆返回提示信息并退出
{
MessageBox(hwnd, "退出。", "提示", MB_OK | MB_ICONINFORMATION);
PostQuitMessage(0);
return 0;
}
case IDB_FOUR:
{
SendMessage((HWND)lParam, WM_SETTEXT, (WPARAM)NULL, (LPARAM)"同意");
return 0;
}
}
return 0;
}
case WM_CLOSE:
{
DestroyWindow(hwnd);
return 0;
}
case WM_DESTROY:
{
PostQuitMessage(0);
return 0;
}
default:
{
return DefWindowProc(hwnd, msg, wParam, lParam); //把不关心的进程丢给Windows处理
}
}
return 0;
}
LRESULT CALLBACK LoginWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) {
HINSTANCE hInstance = GetModuleHandle(NULL); //获取一个模块句柄
HWND edits[2] = {0}; //编辑框句柄
switch (msg)
{
case WM_PAINT:
{
return 0;
}
case WM_CREATE:
{
CreateWindow("static", "账号:", WS_VISIBLE | WS_CHILD | SS_CENTERIMAGE/*水平居中*/,
50, 80, 40, 40, hwnd, (HMENU)IDE_LOGIN1, hInstance, NULL);
CreateWindow("static", "密码:", WS_VISIBLE | WS_CHILD | SS_CENTERIMAGE/*水平居中*/,
50, 150, 40, 40, hwnd, (HMENU)IDE_LOGIN2, hInstance, NULL);
edits[0] = CreateWindow("edit", "", WS_VISIBLE | WS_CHILD | ES_LEFT/*左对齐*/
| ES_AUTOHSCROLL/*水平自滚*/ | ES_NOHIDESEL/*重新聚焦反色选中*/ | WS_BORDER/*边框*/,
90, 80, 200, 40, hwnd, (HMENU)IDE_LOGIN3, hInstance, NULL);
Edit_LimitText(edits[0], 14);
//GetWindowText(edits[0], get_account, 14);
edits[1] = CreateWindowEx( NULL,"edit","", WS_CHILD|WS_VISIBLE|WS_BORDER|ES_PASSWORD,
90, 150, 190, 40, hwnd, NULL, hInstance, NULL );
Edit_LimitText(edits[1], 16);
//GetWindowText(edits[1], get_password, 16);
CreateWindow("Button", "登录", WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
90, 250, 190, 40, hwnd, (HMENU)IDB_LOGIN5, hInstance, NULL);
return 0;
}
case WM_COMMAND:
{
switch LOWORD(wParam)
{
case IDE_REGISTER1:
{
return 0;
}
case IDE_LOGIN2:
{
return 0;
}
case IDE_LOGIN3:
{
return 0;
}
case IDE_LOGIN4:
{
return 0;
}
case IDB_LOGIN5:
{
if (mysql_query(&mysql, QUERY(get_account, get_password)) != 0)
{
}
MessageBox(hwnd, "登录成功", "提示", MB_OK | MB_ICONINFORMATION);
return 0;
}
return 0;
}
return 0;
}
case WM_CLOSE:
{
DestroyWindow(hwnd); //摧毁当前窗口,而不是摧毁所有窗口
return 0;
}
default:
{
return DefWindowProc(hwnd, msg, wParam, lParam); //把不关心的进程丢给Windows处理
}
}
return 0;
}
LRESULT CALLBACK RegisterWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
HINSTANCE hInstance = GetModuleHandle(NULL); //获取一个模块句柄
HWND iimprove;
HWND edits[2]; //编辑框句柄
switch (msg)
{
case WM_CREATE:
{
CreateWindow("static", "账号:", WS_VISIBLE | WS_CHILD | SS_CENTERIMAGE/*水平居中*/,
50, 80, 40, 40, hwnd, (HMENU)IDE_REGISTER1, hInstance, NULL);
CreateWindow("static", "密码:", WS_VISIBLE | WS_CHILD | SS_CENTERIMAGE/*水平居中*/,
50, 150, 40, 40, hwnd, (HMENU)IDE_REGISTER2, hInstance, NULL);
edits[0] = CreateWindow("edit", "", WS_VISIBLE | WS_CHILD | ES_LEFT/*左对齐*/
| ES_AUTOHSCROLL/*水平自滚*/ | ES_NOHIDESEL/*重新聚焦反色选中*/ | WS_BORDER/*边框*/,
90, 80, 200, 40, hwnd, (HMENU)IDE_REGISTER3, hInstance, NULL);
Edit_LimitText(edits[0], 14);
edits[1] = CreateWindowEx(NULL, "edit", "", WS_CHILD | WS_VISIBLE | WS_BORDER | ES_PASSWORD,
90, 150, 190, 40, hwnd, NULL, hInstance, NULL);
Edit_LimitText(edits[1], 16);
CreateWindow("Button", "下一步", WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
90, 250, 190, 40, hwnd, (HMENU)IDB_REGISTER5, hInstance, NULL);
return 0;
}
case WM_COMMAND:
{
switch LOWORD(wParam)
{
case IDE_REGISTER1:
{
return 0;
}
case IDE_REGISTER2:
{
return 0;
}
case IDE_REGISTER3:
{
GetWindowText(edits[0], get_account, 14);
return 0;
}
case IDE_REGISTER4:
{
GetWindowText(edits[1], get_password, 16);
return 0;
}
case IDB_REGISTER5:
{
iimprove = CreateWindow("improve", "信息完善", WS_EX_LAYERED | WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX,
300, 100, 700, 600, hwnd, NULL, hInstance, NULL);
ShowWindow(iimprove, 1);
UpdateWindow(iimprove);
return 0;
}
return 0;
}
return 0;
}
case WM_CLOSE:
{
DestroyWindow(hwnd); //摧毁当前窗口,而不是摧毁所有窗口
return 0;
}
default:
{
return DefWindowProc(hwnd, msg, wParam, lParam); //把不关心的进程丢给Windows处理
}
return 0;
}
}
LRESULT CALLBACK ImproveWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
HINSTANCE hInstance = GetModuleHandle(NULL); //获取一个模块句柄
HWND edits[5]; //编辑框句柄
switch (msg)
{
case WM_CREATE:
{
CreateWindow("static", "真实姓名:", WS_VISIBLE | WS_CHILD | SS_CENTERIMAGE/*水平居中*/,
25, 80, 65, 40, hwnd, (HMENU)IDE_IMPROVE1, hInstance, NULL);
CreateWindow("static", "所在单位:", WS_VISIBLE | WS_CHILD | SS_CENTERIMAGE/*水平居中*/,
25, 140, 65, 40, hwnd, (HMENU)IDE_IMPROVE2, hInstance, NULL);
CreateWindow("static", "性别:", WS_VISIBLE | WS_CHILD | SS_CENTERIMAGE/*水平居中*/,
50, 200, 40, 40, hwnd, (HMENU)IDE_IMPROVE3, hInstance, NULL);
CreateWindow("static", "年龄:", WS_VISIBLE | WS_CHILD | SS_CENTERIMAGE/*水平居中*/,
50, 260, 40, 40, hwnd, (HMENU)IDE_IMPROVE4, hInstance, NULL);
CreateWindow("static", "个性签名:", WS_VISIBLE | WS_CHILD | SS_CENTERIMAGE/*水平居中*/,
25, 320, 60, 40, hwnd, (HMENU)IDE_IMPROVE5, hInstance, NULL);
edits[0] = CreateWindow("edit", "", WS_VISIBLE | WS_CHILD | ES_LEFT/*左对齐*/
| ES_AUTOHSCROLL/*水平自滚*/ | ES_NOHIDESEL/*重新聚焦反色选中*/ | WS_BORDER/*边框*/,
90, 80, 250, 40, hwnd, (HMENU)IDE_IMPROVE6, hInstance, NULL);
Edit_LimitText(edits[0], 10);
edits[1] = CreateWindow("edit", "", WS_VISIBLE | WS_CHILD | WS_BORDER,
90, 140, 250, 40, hwnd, (HMENU)IDE_IMPROVE7, hInstance, NULL);
Edit_LimitText(edits[1], 30);
edits[2] = CreateWindow("edit", "", WS_VISIBLE | WS_CHILD | ES_LEFT/*左对齐*/
| ES_AUTOHSCROLL/*水平自滚*/ | ES_NOHIDESEL/*重新聚焦反色选中*/ | WS_BORDER/*边框*/,
90, 200, 250, 40, hwnd, (HMENU)IDE_IMPROVE8, hInstance, NULL);
Edit_LimitText(edits[2], 4);
edits[3] = CreateWindow("edit", "", WS_VISIBLE | WS_CHILD | WS_BORDER,
90, 260, 250, 40, hwnd, (HMENU)IDE_IMPROVE9, hInstance, NULL);
Edit_LimitText(edits[3], 2);
edits[4] = CreateWindow("edit", "", WS_VISIBLE | WS_CHILD | ES_LEFT/*左对齐*/
| ES_AUTOHSCROLL/*水平自滚*/ | ES_NOHIDESEL/*重新聚焦反色选中*/ | WS_BORDER/*边框*/,
90, 320, 300, 40, hwnd, (HMENU)IDE_IMPROVE10, hInstance, NULL);
Edit_LimitText(edits[4], 2);
CreateWindow("Button", "注册完成", WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
90, 400, 200, 40, hwnd, (HMENU)IDB_IMPROVE11, hInstance, NULL);
return 0;
}
case WM_COMMAND:
{
switch LOWORD(wParam)
{
case IDE_IMPROVE6:
{
GetWindowText(edits[0], get_name, 10);
return 0;
}
case IDE_IMPROVE7:
{
GetWindowText(edits[1], get_unit, 10);
return 0;
}
case IDE_IMPROVE8:
{
GetWindowText(edits[2], get_unit, 10);
return 0;
}
case IDE_IMPROVE9:
{
GetWindowText(edits[3], get_unit, 10);
return 0;
}
case IDE_IMPROVE10:
{
GetWindowText(edits[4], get_unit, 10);
return 0;
}
case IDB_IMPROVE11:
{
return 0;
}
return 0;
}
return 0;
}
case WM_CLOSE:
{
DestroyWindow(hwnd); //摧毁当前窗口,而不是摧毁所有窗口
return 0;
}
default:
{
return DefWindowProc(hwnd, msg, wParam, lParam); //把不关心的进程丢给Windows处理
}
}
return 0;
}