MFC电脑地震

来源:互联网 发布:http post接收json数据 编辑:程序博客网 时间:2024/05/19 06:50

MFC电脑地震设计报告

目录

第一章  项目描述 2

1.1功能描述 2

1.2所需技术 2

第二章  总体设计 2

2.1程序运行流程图 2

第三章  详细设计 2

3.1使当前前台窗口震动 2

3.2屏蔽任务管理器 3

3.3屏蔽ESC 3

第四章 运行结果 3

第一章  项目描述

1.1功能描述

实现鼠标点击的任意一个前台窗口,并且使它震动起来,实现电脑地震的效果。并且屏蔽掉任务管理器,和关闭按钮,通过输入密码123来关闭此程序。

1.2所需技术

获取当前窗口句柄,屏蔽能使程序关闭的消息

第二章  总体设计

2.1程序运行流程图



3.1使当前前台窗口震动

以下是获取前台窗口的句柄和大小的程序清单。

m_hWnd = ::GetForegroundWindow();//获得当前前台窗口的句柄::GetWindowRect(m_hWnd,&m_Rect); //获得前台窗口的大小  

得到窗口句柄后使用::SetWindowPos函数使窗口改变位置,这里值得注意的是要加::为全局作用域符,使得MFC能够使用API函数,而不是本类中的成员函数。

3.2屏蔽任务管理器 

以下是当出现对应标题的对话框时,发送关闭的消息。主要是屏蔽任务管理器等对话框。

m_hWndClosed=FindWindowEx(NULL,NULL,NULL,"任务管理器");     //屏蔽任务管理器 注销 关闭Windows if (m_hWndClosed!=NULL){::SendMessage(m_hWndClosed, WM_CLOSE, 0, 0);}

3.3屏蔽ESC

使用重写虚函数PreTranslateMessage实现屏蔽ESC键盘消息的过滤,防止按下ESC对话框关闭。如下程序清单所示。

BOOL CEarthQuakeDlg::PreTranslateMessage(MSG* pMsg) {// TODO: Add your specialized code here and/or call the base classif(WM_KEYFIRST <= pMsg->message && pMsg->message <= WM_KEYLAST)//这里是用来过滤键盘消息的,键盘消息就之间的八种{//当时按键消息if( pMsg->wParam ==  VK_ESCAPE){return TRUE;}}return CDialog::PreTranslateMessage(pMsg);}

第四章  运行结果



运行结果下载
http://download.csdn.net/detail/luoyikun/8193743
设计报告下载
http://download.csdn.net/detail/luoyikun/8193815
源程序下载
http://download.csdn.net/detail/luoyikun/8222877


0 0
原创粉丝点击