现在位置: 首页 > 自动控制 > 工业·编程 > 文章
    在工业生产控制系统中,有许多需要定时完成的操作,如定时显示当前时间,定时刷新屏幕上的进度条,上位 机定时向下位机发送命令和传送数据等。特别是在对控制性能要求较高的实时控制系统和数据采集系统中,就更需要精确定时操作。     众所周知,Windows 是基于消息机制的系统,任何事件的执行都是通过发送和接收消息来完成的。 这样就带来了一些问题,如一旦计算机的CPU被某个进程占用,或...
阅读全文
2012-07-09 03:26 工业·编程 ⁄ 共 2697字 暂无评论
一、 堆与栈有什么区别? 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一...
阅读全文
2012-07-09 03:22 工业·编程 ⁄ 共 4515字 暂无评论
    下面的这些要点是对所有的C++程序员都适用的。我之所以说它们是最重要的,是因为这些要点中提到的是你通常在C++书中或网站上无法找到的。如:指向成员的指针,这是许多资料中都不愿提到的地方,也是经常出错的地方,甚至是对一些高级的C++程序员也是如此。     这里的要点不仅仅是解释怎样写出更好的代码,更多的是展现出语言规则里面的东西。很显然,它们对C++程序员来说是永久的好资料。...
阅读全文
2012-07-08 23:20 工业·编程 ⁄ 共 1927字 暂无评论
.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。 .BMP:位图资源文件。 .BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用source brower的话就必须有这个文件。可以在project options里去掉Generate Browse Info File,这样可以...
阅读全文
2012-07-08 23:17 工业·编程 ⁄ 共 1225字 暂无评论
1、OnOK()或OnCancel()//只对窗口程序有用 2、PostQuitMessage(0);//最常用 3、ExitProcess(0); 4、 void CMainFrame::OnClose() { // TODO: Add your message handler code here and/or call default if (MessageBox("确定要退出吗?","提示",MB_YESNO|MB_DEFBUTTON2)==IDYES) { CFrameWnd::OnClose(); } } 如: void CCsView::OnShutdown() //自定义 { // TODO: Add your c...
阅读全文
2012-07-08 23:16 工业·编程 ⁄ 共 1454字 暂无评论
一、 位域的概念 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二...
阅读全文
2012-07-08 23:14 工业·编程 ⁄ 共 5589字 暂无评论
    近来由于需要在自己写的程序中对注册表进行操作。总结些经验,并做个一个DEMO供日后使用,现在把它拿出来和大家分享… 为了使用方便,把一些操作写成了函数,以便方便调用,具体代码如下所示: 一、定义 HKEY hKey; char content[256]; //所查询注册表键值的内容 DWORD dwType=REG_SZ; //定义读取数据类型 DWORD dwLength=256; struct HKEY__*RootKey; //注册表主键名称 TCHAR *SubKey; //欲打开注册表...
阅读全文
2012-07-08 22:56 工业·编程 ⁄ 共 2184字 评论 1 条
    很多程序都可以缩小到电脑的右下角变成一个图标,这个就是在程序中添加托盘消息,添加的步骤如下: 1.在XXXdlg.h中添加托盘函数的void toTray(); 2.在XXXdlg.cpp中写函数定义: void CXXXDlg::toTray() { NOTIFYICONDATA nid; nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA); nid.hWnd=this->m_hWnd;     nid.uID=IDR_MAINFRAME; nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_T...
阅读全文
2012-07-08 22:54 工业·编程 ⁄ 共 2080字 暂无评论
    网络编程中经常需要获得类似于路由信息,ip信息之类的东西。下面的这个函数可以实现读取网卡信息: void MASKinfo() { PIP_ADAPTER_INFO pAdapterInfo;     PIP_ADAPTER_INFO pAdapter = NULL;     DWORD dwRetVal = 0; DWORD index=0; CString str;     pAdapterInfo = (IP_ADAPTER_INFO*)malloc(sizeof(IP_ADAPTER_IN...
阅读全文
2012-07-08 22:53 工业·编程 ⁄ 共 467字 暂无评论
  有时候我们需要添加自己的消息函数来完成特定的功能,添加消息函数有3个步骤: 1.在stdafx.h中,添加消息函数的宏定义 #define WM_MY_MESSAGE  WM_USER + 102 其中WM_USER是VC提供给我们定义自己的消息函数的。 2.在要使用的类的.h文件里面添加函数声明: LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam); 3.在.cpp文件的BEGIN_MESSAGE_MAP(CGFGAME, CDialog)中间添加: ON_MESSAGE(WM_MY_MESSAGE,OnMyMessage)...
阅读全文