发布时间:2019-08-26 14:02:01
我建了一个Form,还有主窗体,就是启动后第一个窗体为QQ登录界面,输入账号和密码后就可以登录到一个新的窗体嘛,我已经建好这两个了,而我也在控制台里建了一个哈希表,输入了十个键值,现在就是想在登录时只有输入哈希表里对应的键值才可以登录,除此之外均不能登录,那么我该如何在Windows窗体调用控制台的信息呢?我是初学者,大一,星期天晚要交作业咯,恳请大神的指导喔!!!
1.C++ 代码创建窗体,代码如下:#include <windows.h>HWND HMainwnd = NULL; //窗体句柄int run(); //消息循环函数bool InitWindowsApp(HINSTANCE instanceHandle, int show); //窗体初始化函数LRESULT CALLBACK WndProc(HWND wnd, UINT msg, WPARAM wp, LPARAM lp);//窗体处理回调函数//main函数int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ){ if(!InitWindowsApp(hInstance, nShowCmd))//判断窗体初始化是否成功 { return 0; } run(); //初始化成功后循环接收消息 return 0;}bool InitWindowsApp(HINSTANCE stanceHandle, int show){ WNDCLASS wc; //窗体类结构体 wc.style = CS_HREDRAW | CS_VREDRAW; //窗体风格 wc.lpfnWndProc = WndProc; //窗体处理函数 wc.cbClsExtra = 0; //窗体类是否由扩展 wc.cbWndExtra = 0; //窗体实例是否由扩展 wc.hInstance = stanceHandle; //窗体句柄 wc.hIcon = LoadIcon(0, IDI_APPLICATION); //窗体图标 wc.hCursor = LoadCursor(NULL, IDC_ARROW); //窗体鼠标样式 wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); //窗体背景颜色 wc.lpszMenuName = NULL; //窗体菜单 wc.lpszClassName = "BaseWndClass"; //窗体类名 if(!RegisterClass(&wc)) //判断窗体是否注册成功 { MessageBox(0, "注册失败", 0, 0); return false; } //创建窗体 HMainwnd = CreateWindow("BaseWndClass", //窗体类名 "MyFrom", //窗体标题名 WS_OVERLAPPEDWINDOW, //窗体风格 CW_USEDEFAULT, CW_USEDEFAULT, //窗体坐标 CW_USEDEFAULT, CW_USEDEFAULT, //窗体坐标 NULL, //窗体的父窗体 NULL, //窗体的子菜单 stanceHandle, //窗体句柄 NULL); // 如果函数成功,返回值为新窗口的句柄:如果函数失败,返回值为NULL if(HMainwnd == 0)//判断创建窗体是否成功 { MessageBox(0, "创建窗体失败", 0, 0); return false; } ShowWindow(HMainwnd, SW_SHOW); //显示窗体 UpdateWindow(HMainwnd); //绘制窗体; return true;}LRESULT CALLBACK WndProc(HWND wnd, UINT msg, WPARAM wp, LPARAM lp){ switch(msg)//判断消息的种类 { case WM_LBUTTONDOWN: //左键单击 MessageBox(0, "Hello World", "myMbox", MB_OK); return 0; case WM_KEYDOWN: //键盘消息 if(wp == VK_ESCAPE) //ESC键 DestroyWindow(HMainwnd); //销毁窗体 return 0; case WM_DESTROY: PostQuitMessage(0); //终止消息 return 0; } return DefWindowProc(wnd, msg, wp, lp); //返回缺省消息函数}int run(){ MSG msg = {0}; //消息结构 BOOL bRet = 1; //获取消息 while( (bRet = GetMessage(&msg, 0, 0, 0)) != 0)//消息循环 { if(bRet == -1)//判断消息是否接收失败 { MessageBox(0, "接受消息失败", 0, 0); break; } else { TranslateMessage(&msg); //转换消息为字符消息 DispatchMessage(&msg); //发送消息给窗口 } } return (int)msg.wParam;}