摘要:进程PK线程进程是程序,数据以及进程控制块(PCB)组成的,它是资源分配的最小单位。为什么要提出线程的概念呢?因为进程是资源的拥有者,所以进程使用起来代价太大了,得创建,撤销,切换,而且进程间数据的交换必须使用特定的机制。这导致一个系统中同时存在的进程不宜过多。由此,提出了一个比进程更小的概念——线程。线程是资源调度的最小单位,占有的资源少,而且可以共享进程资源。这意味着多个线程可以共享数据等资源,这就避免了复杂的通信机制。总而言之,线程的速度比进程的快。
阅读全文
摘要:扫雷程序都有什么:菜单,秒表,记雷数,复位,还有雷区等杂七杂八的东西。而整个程序的关键,就在于雷区。因为如果没有秒表,记雷数等功能,扫雷勉强还是可以玩的,但如果没了雷区,就玩不了了。那么雷区又是怎么一回事呢?肯定要有一个数据结构来记录地雷和周围的数,而程序跟你交互的主要部分,就是在雷区上点一下,然后显示一幅图片,还有双击雷区翻开周围一片的操作。说白了,就是在画图。所以整个扫雷程序,就从画图先开始吧。
阅读全文
摘要:消息:windows中定义的结构体typedef struct Msg{HWND hwnd; //窗口句柄UINT message; //消息常量标识符WPARAM wParam; //32位消息的特定附加信息LPARAM lParam; //32位消息的特定附加信息DWORD time; //消息创建时的时间TPoint pt; //消息创建时的鼠标位置} TMsg;消息分3种:1、标准Windows消息:这种消息以WM_打头。2、通知消息:通知消息是针对标准Windows控件的消息。这些控个包括:按钮(Button)、组合框(ComboBox)、编辑...
阅读全文
摘要:如何获取代码运行时间在调试中,经常需要计算某一段代码的执行时间,下面给出两种常用的方式:第一种:使用GetTickCount函数#include<iostream> include<windows.h> using namespace std;int main() { DWORD start_time=GetTickCount(); { //此处为被测试代码 } DWORD end_time=GetTickCount(); cout<<"The run time is:"<<(end_time-start_time)<&
阅读全文
摘要:OnCtlColor(CDC*pDC,CWnd*pWnd,UINTnCtlColor)MFC类库提供了CWnd::OnCtlColor函数,在工作框架的子窗口被重画时将调用该成员函数.因此可以重载WM_CTLCOLOR消息的响应函数.此函数的原型:afx_msg HBRUSH OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor);参数分析:pDC 包含了子窗口的显示设备环境的指针。可能是临时的。pWnd 包含了要求颜色的控件的指针。可能是临时的。nCtlColor 包含了下列值,指定了控件的类型:· CTLCOLOR_BTN ...
阅读全文
摘要:弹出下一个窗体一般在按键 事件处理函数的结尾处添加CMyDialog dlg;dlg.m_myname = m_myname; //可以添加上一个窗体控件参数传给下一个窗体中的变量dlg.DoModal(); //弹出窗体 有待改进
阅读全文
摘要:登录模块控件ID控件属性对应变量2个IDC_STATIC用户名,密码IDC_EDIT_nameVisibleCStringm_UNameIDC_EDIT_pwdPasswordCStringm_UPwdIDOK登录IDCANCEL退出 登录 处理函数OnOK();UpdateData();if (!m_UName.IsEmpty() && !m_UPwd.IsEmpty()||true) //判断用户名是否为空{ //在数据表中查询是否存在该用户名及密码(TODO) if ((m_UName != _T("admin"))...
阅读全文
摘要:注册模块控件ID控件属性对应变量3个IDC_STATIC用户名,密码,重复密码IDC_EDIT_nameVisibleCStringm_NameIDC_EDIT_pwdPasswordCStringm_PwdIDC_EDIT_pwd1PasswordCStringm_Pwd1IDC_BUTTON_OK提交IDC_BUTTON_reset重置提交 处理函数OnOK();UpdateData(); if (m_Name.IsEmpty()||m_Pwd.IsEmpty()||m_Pwd1.IsEmpty()) { AfxMessageBox(_T("用户名密码不能为空")...
阅读全文
摘要:程序到windows的启动项(C++实现)TCHAR exepath[MAX_PATH];GetModuleFileName(0, exepath, MAX_PATH); HKEY hKey; LONG lnRes = RegOpenKeyEx( HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0,KEY_WRITE, &hKey );if( ERROR_SUCCESS == lnRes ){ ...
阅读全文
摘要:常见热键:windows键 或CTRL+ESC 打开开始菜单Windows键+M 最小化所有被打开的窗口。Windows键+E 打开资源管理器Windows键+F 打开“查找:所有文件”对话框Windows键+R 打开“运行”对话框Windows键+ D 最小化或还原所有窗口 Windows键+CTRL+F 打开“查找:计算机”对话框Windows键+ F1 显示“帮助” ALT+F4 闭当前应用程序ALT+TAB 切换当前程序ALT+ESC 切换当前程序CTRL+ALT+DELETE 在win9x中打开关闭程序对话框ESC键 VK_ESCAPE (27)TA...
阅读全文