2012-07-09 03:28
⁄ 工业·编程
⁄ 共 6501字
在工业生产控制系统中,有许多需要定时完成的操作,如定时显示当前时间,定时刷新屏幕上的进度条,上位 机定时向下位机发送命令和传送数据等。特别是在对控制性能要求较高的实时控制系统和数据采集系统中,就更需要精确定时操作。
众所周知,Windows 是基于消息机制的系统,任何事件的执行都是通过发送和接收消息来完成的。 这样就带来了一些问题,如一旦计算机的CPU被某个进程占用,或...
VC阅读全文
2012-07-08 23:20
⁄ 工业·编程
⁄ 共 1927字
.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。 .BMP:位图资源文件。
.BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用source brower的话就必须有这个文件。可以在project options里去掉Generate Browse Info File,这样可以...
VC, 扩展名阅读全文
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...
VC阅读全文
2012-07-08 23:14
⁄ 工业·编程
⁄ 共 5589字
近来由于需要在自己写的程序中对注册表进行操作。总结些经验,并做个一个DEMO供日后使用,现在把它拿出来和大家分享…
为了使用方便,把一些操作写成了函数,以便方便调用,具体代码如下所示:
一、定义
HKEY hKey;
char content[256]; //所查询注册表键值的内容
DWORD dwType=REG_SZ; //定义读取数据类型
DWORD dwLength=256;
struct HKEY__*RootKey; //注册表主键名称
TCHAR *SubKey; //欲打开注册表...
VC阅读全文
2012-07-08 22:56
⁄ 工业·编程
⁄ 共 2184字
很多程序都可以缩小到电脑的右下角变成一个图标,这个就是在程序中添加托盘消息,添加的步骤如下:
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...
VC阅读全文
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...
VC阅读全文
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)...
VC阅读全文
2012-07-08 22:51
⁄ 工业·编程
⁄ 共 908字
在对文件操作的时候,我们很多时候需要知道文件的全路径,写了一个函数来获取当前路径:
////////////////////////////////////////////////////////////////////////////// ////////获得当前路径///////////////////////// ////////////////////////////////////////////////////////////////////////////// static CString GetAppPath(BOOL IsDLL , HINSTANCE instance , BOOL IsFullPathName ) { TCHAR sFile...
VC阅读全文
2012-07-08 22:44
⁄ 工业·编程
⁄ 共 1291字
一般自动安装就是指下载完成之后调用 WinExec("//XXX.exe",SW_SHOWNORMAL);来启动exe,会经常遇到的问题是很多软件都设置了只能开一个客户端的功能,因此在不关闭本身运行的程序之前不能完成自动安装的功能。
因此很多时候都会单独做一个自动更新的程序,在你点击启动主程序时,先启动updata程序,然后关闭主程序,当更新完成之后再调用主程序来达到自动安装的功能!
具体实现...
VC阅读全文
2012-07-08 22:42
⁄ 工业·编程
⁄ 共 1932字
首先添加进度条控件,添加其关联的变量m_progress,先将进度条条初始化m_progress.SetPos(0);然后调用下载函数InternetGetFile (CString szUrl,CString szFileName).前一个参数是远程文件的路径及名称,后一个是本地保存文件的路径很名称,在这里远程文件路径必须要带http://前缀。
int CLOGIN::InternetGetFile (CString szUrl,CString szFileName) { char filebuf[512]; CInte...
VC阅读全文