MFC
somebot
这个作者很懒,什么都没留下…
展开
-
果园监控
注意Win7版本较于XP版本,界面稍微美观些!XP版本(兼容Win7_x86和Win7_x64):Win7版本(不兼容XP):原创 2015-06-14 19:48:58 · 1819 阅读 · 0 评论 -
PDU短信发送之一
AT指令收发短信主要有两种模式:Text模式和PDU(Protocol DataUnit,协议数据单元)模式。使用Text模式收发短信代码简单,很容易实现,最大缺点不支持中文短信。PDU模式不仅能发送中文短信,也能发送英文短信。PDU收发短信有三种编码可用:7-bit、8-bit和UCS2编码。7-bit编码用于发送普通的ASCII字符,即英文短信,最多可发送160字符。8- bit编码通转载 2015-07-25 11:21:30 · 6577 阅读 · 2 评论 -
PDU短信发送之二
GSM无线模块短消息PDU格式说明第一部分PDU格式0891683108200105F011000B813119169083F80000A806C9363C3CA603以上是一个SUBMIT-PDU发出例子分析内容如下089168 31 0820 01 05F011000B8转载 2015-07-25 11:22:11 · 2466 阅读 · 0 评论 -
PDU短信发送之三
SMS是由Esti 所制定的一个规范(GSM03.40 和 GSM 03.38)。有两种方式来发送和接收SMS消息:文本模式或者PDU(protocol description unit)模式。文本模式只能发送普通的ASCII字符,而要发送图片、铃声、其它编码的字符(如中文)就必须采用PDU模式。 PDU模式中,可以采用三种编码方式来编码要发送的内容,分别是 7-bit编码、8-bit转载 2015-07-25 11:27:02 · 1632 阅读 · 0 评论 -
PDU短信发送之四
最近在SMS的PDU方式发送短信,在网上找到了一篇比较好的文章,分享给大家。 目前,发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式。使用Text模式收发短信代码简单,实现起来十分容易,但最大的缺点是不能收发中文短信;而PDU模式不仅支持中文短信,也能发送英文短信。PDU模式收发短信可以使用3种编码:7-bit、8-bit和UCS2编码。7转载 2015-07-25 11:57:56 · 1574 阅读 · 0 评论 -
Visual Studio程序打包软件——InstallShield(4)
由于InstallShield Limited Edition for Visual Studio的教程、资料太少,所以我今天才决定写这个文章,专门针对C#项目打包,包括打包集成Microsoft .NET Framework等。大家从官方下载的最新版InstallShield Limited Edition for Visual Studio,是支持VS2010、VS2012、VS2013的(小转载 2015-05-24 16:53:30 · 4312 阅读 · 3 评论 -
Visual Studio程序打包软件——InstallShield(3)
安装包怎么做?首先需要明确安装是什么?记得从海洋女神的blog上看到这样的描述:"安装的本质,就是拷贝"。对的,安装就是复制,将你开发调试的环境和代码"复制"到目标机器上。当然这个复制不是简单的将IDE编译生成的代码组件简单的复制到目标机器上这么简单,但是大体上也是类似,这里的复制需要如下的内容:将生成的模块复制到目标机器上将引用到的模块复制到目标机器上,将相关的配置复制到目标机器转载 2015-05-24 15:19:06 · 1434 阅读 · 0 评论 -
Visual Studio程序打包软件——InstallShield(2)
初次使用InstallShield的笔记公司的产品需要打包发布,以前一直没打包,打包方法的学习交给了我下面的内容是我研究过后的,通过回忆写的笔记。由于不熟悉,可能会有错误或者是笨办法,希望高手指正,感激不尽。有些东西是什么,以及是什么意思我也不太清楚,反正我照这么做是满足了我的需求。需求如下项目包含主程序和数据库文件两个部分,可以选择这两个部分安装在不同的地方当文件转载 2015-05-24 15:18:31 · 1344 阅读 · 0 评论 -
Visual Studio程序打包软件——InstallShield(1)
在2013年6月4日,新版本InstallShield 2013正式发布,新增或重点改善功能如下:Build both physical installations and virtual application packages from the same build process and ensure compatibility with preferred enterprise a转载 2015-05-24 15:15:23 · 767 阅读 · 0 评论 -
ASP.NET完整打包卸载更新攻略(By Installshield 2010)
转自:http://www.cnblogs.com/magicchaiy/archive/2012/03/30/2424737.html前言前阵子做了一个有关Installshield的OA 打包安装程序,用的版本Installshield 2010-Premier,具体功能的内容如下:1、OA采用的是asp.net(C#)开发2、动态发布到IIS虚拟目录(采用自定义对话框转载 2015-06-07 11:34:59 · 1653 阅读 · 0 评论 -
让vs2008与vs2012同时打开同一个项目文件
在开发过程中,小组开发经常碰到很多人用的ide版本不同,而项目组成员为了参与多个项目,经常安装多个版本的ide本文主要讲解vs2008与vs2012之间如何在源码管理下同时打开一个项目文件进行开发本文以c#开发为例,其他语言一样1,关于解决方案不建议把解决方案绑定到源码中,每个成员自己维护自己的解决方案文件.如果一定需要把解决方案也绑转载 2015-06-07 12:38:56 · 2304 阅读 · 0 评论 -
用vs2008打开vs2012项目
1. 使用记事本打开*.sln解决方案文件,将Visual Studio 2012改为Visual Studio 2008;将版本号改为9.002. 打开扩展名为*.csproj的项目文件,修改为 ToolsVersion="3.5"3. 将 Import Project 处的“MSBuildBinPath”改为“MSBuildToolsPath”。==========转载 2015-06-07 12:36:04 · 4245 阅读 · 2 评论 -
彻底搞懂字符编码(unicode,mbcs,utf-8,utf-16,utf-32,big endian,little endian...)
转自:http://blog.csdn.net/softman11/article/details/6124345最近有一些朋友常问我一些乱码的问题,和他们交流过程中,发现这个编码的相关知识还真是杂乱不堪,不少人对一些知识理解似乎也有些偏差,网上百度,google的内容,也有不少以讹传讹,根本就是错误的(例如说 unicode编码是两个字节),各种软件让你选择编转载 2015-06-06 16:19:03 · 988 阅读 · 0 评论 -
PDU短信发送之五
转自:http://blog.csdn.net/hejianhua/article/details/6317393转载 2015-07-25 12:03:02 · 1366 阅读 · 0 评论 -
VS2008/VS2012/MFC/C++/ACCESS/Redistributable Package/installshield/打包/安装/部署
之所以要把标题写成这样,是为了这篇文章被检索的概率增加。方便碰到类似问题的网友,马上得到解决办法。问题:时间:2015年6月13日开发环境:Win7 + VS2012项目需求:基于ACCESS数据库的一个信息收集、存储和报警系统本项目从去年年底开始,客户要求发行版软件要能够兼容XP 和 Win7系统,当时我没有太在意,因为自己的电脑安装的是Win7,了解了下朋友原创 2015-06-13 16:36:47 · 3022 阅读 · 0 评论 -
MFC学习(22)MFC常用类:CFile文件操作类
CFile类概述 如果你学过C语言,应该知道文件操作使用的是文件指针,通过文件指针实现对它指向的文件的各种操作。这些文件操作函数中有的最终还是调用了操作系统的API函数或者处理过程与之类似,例如在Windows系统中,fread函数就调用了API函数ReadFile。 Windows系统的API函数除了ReadFile,还有CreateFile、WriteF转载 2016-01-13 10:23:23 · 1718 阅读 · 0 评论 -
MFC学习(23)MFC 文件操作详解
各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的。本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行详细的分析。 1.文件的查找 当对一个文件操作时,如果不知道该文件是否存在,就要首先进行查找。MFC中有一转载 2016-01-13 10:26:35 · 612 阅读 · 0 评论 -
PDU短信发送之六——个人项目实践
本人的一个项目中需要用到发送中文短信的功能,于是在前面几篇文章和代码的基础上,移植了我的代码。虽然代码中既有PDU编码和解码,但是我只用到了PDU编码,而没用PDU解码,对于文件中解码部分的代码没有验证。PDU编码的函数族,经本人实际验证,没有问题!GsmSendPDU.h#pragma once//短信存储结构体class PDU_Message{public:原创 2016-01-11 14:11:01 · 1822 阅读 · 0 评论 -
MFC中打开 对话框中格式过滤的格式
前两天一直没有搞好这个打开对话框的格式过滤的问题,因为我在VC++ 6.0中按孙鑫老师或者网上大部分的实例来做都没有成功。关于这个格式过滤的设定有两种常用的方法:第一种就是在创建打开对话框的时候就在创建函数的参数中设定要过滤的格式。而打开对话框的创建函数是:CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDef转载 2016-01-11 18:13:31 · 708 阅读 · 0 评论 -
MFC学习(21)MFC打开/保存文件对话框——CFileDialog之二
最近要做一个文件打开和保存的对话框,现将相关的代码记录如下,用以备忘!所用控件:2个静态标签(Static Text):用以显示功能标签;2个文本框(Edit):用以显示打开的文件路径全名要保存的文件路径全名,设置其Read Only属性为true将文本框设置为不可编辑;2个按钮(Button):用以浏览文件;打开文件对话框C原创 2016-01-11 16:10:25 · 2177 阅读 · 2 评论 -
MFC学习(20)MFC打开/保存文件对话框——CFileDialog之一
CFileDialog文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下: CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OV原创 2016-01-11 16:08:51 · 848 阅读 · 0 评论 -
MFC学习(27)CString内存泄漏的雷区——GetBuffer与ReleaseBuffer
GetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定,使得CString对象在以后的代码中继续可以实现长度自适应增长的功能。CString ::GetBuffer有两个重载版本:LPTSTR GetBuffer( );LPTSTR GetBuffer(int nMinBufferLength);在第二个版本中,当设定的长度小于原字符串长度原创 2016-01-22 09:18:04 · 7060 阅读 · 1 评论 -
MFC学习(26)简单内存泄漏检测方法 解决 Detected memory leaks! 问题
最近在一个项目中,程序退出后都出现内存泄漏:Detected memory leaks!Dumping objects ->{98500} normal block at 0x05785AD0, 152 bytes long. Data: 3C AC 4E 10 00 00 00 00 BC A4 4E 10 78 B6 37 00 Object dump complete.原创 2016-01-22 09:10:25 · 2414 阅读 · 0 评论 -
MFC学习(25)LPCTSTR和CString的关系
类型理解 LPCTSTR类型: L表示long指针 这是为了兼容Windows 3.1等16位操作系统遗留下来的,在win32中以及其他的32位操作系统中, long指针和near指针及far修饰符都是为了兼容的作用。没有实际意义。 P表示这是一个指针 C表示是一个常量 T表示在Win32环境中, 有一个_T宏 STR表示这个变量是一个字符串详细释义原创 2016-01-22 09:03:50 · 5374 阅读 · 0 评论 -
MFC学习(24)线程锁的概念函数EnterCriticalSection和LeaveCriticalSection的用法
线程锁的概念函数EnterCriticalSection和LeaveCriticalSection的用法注:使用结构CRITICAL_SECTION 需加入头文件#include “afxmt.h”定义一个全局的锁 CRITICAL_SECTION的实例和一个静态全局变量CRITICAL_SECTION cs;//可以理解为锁定一个资源static int n_原创 2016-01-20 15:30:49 · 5300 阅读 · 0 评论 -
如何使用VS 2013发布一个可以在Windows XP中独立运行的可执行文件
转自:http://www.zhihu.com/question/25415940现在,我们深入探讨一下:《如何使用VS 2013发布一个可以在Windows XP中独立运行的可执行文件》。这个问题是比较常见且容易造成初学者困惑的,作为曾经撞了无数次南墙的初级代码狗终于看到了自己能够回答的问题,那么就让我来简单阐述一下造成这个问题的简单原理极其简单解决方法,如有错误纰漏敬请转载 2015-05-30 17:39:47 · 8748 阅读 · 1 评论 -
VS2012编译出来的程序,在XP上运行,出现“.exe 不是有效的 win32 应用程序” “not a valid win32 application”
升级vs2010到vs2012,突然发现build出来的应用程序无法运行,提示“不是有效的 win32 应用程序” or “not a valid win32 application”。参考CSDN论坛中的方法,找到下面这篇文章:http://blogs.msdn.com/b/vsnetsetup/archive/2012/10/16/setup-exe-is-not-a-vali转载 2015-05-30 17:39:37 · 7761 阅读 · 0 评论 -
MFC中字符集(2)——Unicode 和多字节字符集 (MBCS) 支持
转自:https://msdn.microsoft.com/zh-cn/library/cc468203(v=vs.71).aspx#_core_mfc_support_for_mbcs_strings有些国际市场以大字符集来使用日文和中文等语言。为了支持这些市场的编程,Microsoft 基础类库 (MFC) 支持以两种方式处理大字符集:Unicode多字节字符集 (转载 2015-06-06 16:13:21 · 3584 阅读 · 0 评论 -
MFC中字符集(3)——Unicode字符串的MFC支持及其在Visual Studio中的设置
转自:http://blog.csdn.net/cyxcw1/article/details/178476351. 问题及分析最近在自己写的MFC程序时,编译总是碰到以下的类似的问题:error C2664: 'BOOL CDC::TextOutW(int,int,const CString &)' : cannot convert parameter 3转载 2015-06-06 16:14:25 · 4189 阅读 · 0 评论 -
MFC(10)解决回车键 ESC 默认关闭窗口的一般方法
在一般情况下编写的对话框程序,用户在运行的时候,如果不注意按下了ENTER或者ESC键,程序就会立刻退出,之所以会这样,是因为按下Enter键时,Windows就会自动去找输入焦点落在了哪一个按钮上,当获得焦点的按钮的四周将被点线矩形包围。如果所有按钮都没有获得输入焦点,Windows 就会自动去寻找程序或资源所指定的默认按钮(默认按钮边框较粗)。如果对话框没有默认按钮,那么即使对话框中没有OK按原创 2015-04-16 20:34:21 · 8561 阅读 · 0 评论 -
MFC(8) 如何在工作线程中创建窗口?
http://blog.csdn.net/optman/article/details/1021672在前面我们研究了使用AFX_MANAGE_STATE(AfxGetStaticModuleState())进行DLL间的资源切换,以及工作线程中创建Windows消息循环的原理,以为就可以搞定一切类似问题了…但是请看以下代码 DWORD CTestMFCDlg::Thr转载 2015-04-12 15:43:30 · 3774 阅读 · 4 评论 -
MFC(5) GetMessage和PeekMessage的区别
关注点:1.函数的处理和调用过程。2.消息的发送方式、途径及对象。PeekMessage与GetMessage的对比相同点: PeekMessage函数与GetMessage函数都用于查看应用程序消息队列,有消息时将队列中 的消息派发出去。不同点: 无论应用程序消息队列是否有消息,PeekMe转载 2015-04-12 11:03:39 · 1599 阅读 · 0 评论 -
MFC(7) 利用CWinThread实现跨线程父子MFC窗口
http://jetyi.blog.51cto.com/1460128/1074315/原则上,MFC对象只能由创建该对象的线程访问,而不能由其它线程访问.这是因为MFC窗口中有一个Windows handle maps, 这个maps同线程相关,也就是说该线程一定会访问该maps,而且该线程创建的MFC窗口对象一定会放到该maps中,如果没有就会报错.但是如果其它线程将一转载 2015-04-12 15:40:38 · 1730 阅读 · 3 评论 -
MFC(6) 深入GetMessage和PeekMessage
Bob Gunderson MSDN技术组 作于:1992年11月11日 Creamdog 译于:2002年3月13日 译者的话 该文重点讲述了Windows处理事件、消息的具体过程和步骤。尤其是在系系处理鼠标键盘事件的过程上做了详解。通过这篇文章,你将对Windows的消息处理机制有一个较全面的了解。概念 这篇文章解释了GetMessa转载 2015-04-12 11:05:18 · 1943 阅读 · 0 评论 -
MFC(9) GetMessage/PeekMessage/SendMessage/PostMessage 代码实践及总结
实践证明:1.主窗口创建的工作子线程发送(SendMessage and PostMessage)的消息可以被主窗口接收并处理。2.主窗口Button发送(SendMessage and PostMessage)的消息也可以被主窗口接收并处理。3.主窗口Button发送(SendMessage and PostMessage)的消息不能被工作线程接收,无法GetMessage。4.验证了GetMessage是阻塞的,PeekMessage是非阻塞。=========================原创 2015-04-12 11:10:48 · 1727 阅读 · 0 评论 -
MFC(0)关于MFC中的界面与业务逻辑的分离
转自:http://bbs.csdn.net/topics/260019609问题:如何将 界面层 与 复杂的业务逻辑层 分离开来呢?或者是 分离开到一个什么样的程度算是不耦合? 某神回答:谈一下我的观点:首先,对你的问题,我觉得是两个问题搅在一起了,还是分开来讲比较好。一个问题是软件分层和耦合的问题。另一个问题是如何转载 2015-03-22 16:06:04 · 3404 阅读 · 0 评论 -
MFC(4) MFC中使用事件(event)来线程同步
MFC中的Event以类比linux中的cond,条件变量——wait and signalOpenDevice.h#pragma onceclass OpenDevice{public: OpenDevice(void); ~OpenDevice(void);public: CWinThread *m_pThread; HANDLE m_hCom; HAN原创 2015-04-05 16:45:54 · 6291 阅读 · 0 评论 -
MFC(3) 继续有趣的实验——CWinThread类中的唤醒和休眠来操作子线程
OpenDevice.h#pragma onceclass OpenDevice{public: OpenDevice(void); ~OpenDevice(void);public: CWinThread *m_pThread; HANDLE m_hCom; HANDLE m_hSemaphore; BOOL SemIncrease(void); BOOL Ini原创 2015-04-05 15:37:21 · 1510 阅读 · 0 评论 -
MFC(2)MFC中使用信号量(semaphore)做线程同步——用户启动子线程打开串口
新建基于对话框的MFC工程,OpenDevice这个类由DLG类调用。OpenDevice.h#pragma onceclass OpenDevice{public: OpenDevice(void); ~OpenDevice(void);public: CWinThread *m_pThread; HANDLE m_hCom; HANDLE m_hSem原创 2015-04-05 15:17:40 · 2826 阅读 · 1 评论 -
MFC(1)什么时候该使用多线程
http://blog.csdn.net/xs813/article/details/6342910什么时候该使用多线程,以及更恰当的多线程编程方法之讨论大约在写了一年左右的应用程序以后开始发生了一些困惑,在我写的程序中很多使用了多线程,我们了解使用线程的必要性,但是什么时候使用,以及该如何更好使用和管理多线程方面,我觉得值得思考。先讨论一下CApp类的实质。App转载 2015-04-05 15:05:19 · 868 阅读 · 0 评论