现在位置: 首页 > 自动控制 > 文章
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)...
阅读全文
2012-07-08 22:51 工业·编程 ⁄ 共 908字 暂无评论
在对文件操作的时候,我们很多时候需要知道文件的全路径,写了一个函数来获取当前路径: ////////////////////////////////////////////////////////////////////////////// ////////获得当前路径///////////////////////// ////////////////////////////////////////////////////////////////////////////// static CString GetAppPath(BOOL IsDLL , HINSTANCE instance , BOOL IsFullPathName ) { TCHAR sFile...
阅读全文
2012-07-08 22:44 工业·编程 ⁄ 共 1291字 暂无评论
    一般自动安装就是指下载完成之后调用 WinExec("//XXX.exe",SW_SHOWNORMAL);来启动exe,会经常遇到的问题是很多软件都设置了只能开一个客户端的功能,因此在不关闭本身运行的程序之前不能完成自动安装的功能。     因此很多时候都会单独做一个自动更新的程序,在你点击启动主程序时,先启动updata程序,然后关闭主程序,当更新完成之后再调用主程序来达到自动安装的功能! 具体实现...
阅读全文
    首先添加进度条控件,添加其关联的变量m_progress,先将进度条条初始化m_progress.SetPos(0);然后调用下载函数InternetGetFile (CString szUrl,CString szFileName).前一个参数是远程文件的路径及名称,后一个是本地保存文件的路径很名称,在这里远程文件路径必须要带http://前缀。 int CLOGIN::InternetGetFile (CString szUrl,CString szFileName) { char    filebuf[512]; CInte...
阅读全文
2012-07-08 22:40 工业·编程 ⁄ 共 903字 暂无评论
    做产品软件,我们经常遇到的是软件更新问题,更新问题涉及到的内容还比较多。 1.是打开软件要自动检测,这样就需要一个多线程来实现。 2.要在网上下载最新版本的版本号,与本地文件比较,有更新就需要从指定站点下载最新的软件包。 3.下载过程中需要显示下载的进度,需要使用进度条软件。 4.下载完成后的安装包我们需要自动安装。 在这里我们先来讲一下多线程自动检测。 首先定义一个线程函数: UINT update...
阅读全文
2012-07-08 22:38 工业·编程 ⁄ 共 924字 暂无评论
    我们在做客户端软件的时候,经常会遇到要使用密码保存的功能,其实密码保存功能的原理很简单:当我们在点击保存密码的按钮时,我们将读取用户名和密码框里面的字符串,存储在某个指定的文件里面,然后在初始化函数里面,读取这个文件的内容,显示在用户名和密码框中,即可!      具体代码实现     双击保存用户名的复选框,添加响应函数      void...
阅读全文