MFC
文章平均质量分 76
Tonny_007
这个作者很懒,什么都没留下…
展开
-
解决vs2008工程右击不能正常显示工程属性页
故障环境: Win7X64 + vs2008sp1故障现象: 在vs2008中打开一个已经存在的工程, 右击工程, 选择最下面的"属性", 弹出工程属性页时, 报错, "can't create dotnet property grid", 当时没发邮件自己, 只记得这么多~.解决措施: 在vs2008命令行运行 devenv /resetskippkgs故障解决的过程:转载 2014-02-21 14:12:44 · 3846 阅读 · 0 评论 -
MFC 常见小问题
在使用vs2005时,如果要用到SCardEstablishContext(),SCardListReaders()等系列函数需要在项目中添加库,具体步骤是:在项目-->项目属性-->链接器-->输入-->附加依赖项-->winscard.lib在使用VC++6.0时同样需要做相应的添加原创 2014-03-11 14:22:48 · 925 阅读 · 0 评论 -
如何获得线程的状态的方法
如何获得线程的状态的方法不管是Windows API还是MFC的CWinThread类都没有给出直接获得线程状态的接口或函数。线程的状态分为正在执行、挂起、已经结束三种。利用API函数GetExitCodeThread()时获得的返回码只能判定线程是活着的还是已经结束了,这里“活着的”指的是正在执行或挂起状态。那么如果一个线程还活着,怎样鉴别一个线程是正在执行还是正在挂起呢???令人遗憾的是,转载 2014-03-18 14:15:51 · 3315 阅读 · 0 评论 -
MFC如何获得线程的状态的方法
如何获得线程的状态的方法不管是Windows API还是MFC的CWinThread类都没有给出直接获得线程状态的接口或函数。线程的状态分为正在执行、挂起、已经结束三种。利用API函数GetExitCodeThread()时获得的返回码只能判定线程是活着的还是已经结束了,这里“活着的”指的是正在执行或挂起状态。那么如果一个线程还活着,怎样鉴别一个线程是正在执行还是正在挂起呢???令人遗憾的是,微软转载 2014-03-18 14:18:24 · 5258 阅读 · 0 评论 -
CreateFile函数解释
CreateFile函数解释 API函数CreateFile可打开和创建文件、管道、邮槽、通信服务、设备以及控制台,但是在此时只是介绍用这个函数怎么实现创建和打开一个文件。HANDLE CreateFile( LPCTSTR lpFileName, // 要打开的文件名 DWORD dwDesiredAccess, // 文件的操作属性 DWORD dwShareMode,转载 2014-03-21 15:37:27 · 775 阅读 · 0 评论 -
如何正确使用CreateProcess函数?
如何正确使用CreateProcess函数?(1) LPCTSTR lpApplicationName想运行的可执行文件的名字的字符串(应含扩展名)。如果找不到该文件,CreateProcess运行失败。应该设为NULL。(2) LPTSTR lpCommandLine传递给新进程的命令行字符串,应当为非常量字符串的地址。可以设定一个完整的命令行,如果第一个标记没有扩展名,Crea转载 2014-03-20 14:24:47 · 1687 阅读 · 0 评论 -
MFC 隐藏DOS窗口
#include #include #define COMMENDLINE "ping 127.0.0.1" //调用命令行命令而不显示命令行窗口 BOOL system_hide(char* CommandLine) { SECURITY_ATTRIBUTES sa; H转载 2014-03-20 15:00:06 · 929 阅读 · 0 评论 -
GetLaseError 错误统计
〖0〗-成功完成,没有错误。〖1〗-功能错误。〖2〗-系统找不到指定的文件。〖3〗-系统找不到指定的路径。〖4〗-系统无法打开文件。〖5〗-拒绝访问。〖6〗-句柄无效。〖7〗-存储控制块被损坏。〖8〗-存储空间不足,无法处理此命令。〖9〗-存储控制块地址无效。〖10〗-环境错误。〖11〗-试图加载格式错误的程序。〖12〗-访问码无效。〖13〗-数转载 2014-03-23 13:28:49 · 4266 阅读 · 0 评论 -
SetupDiGetDeviceInterfaceDetail
SetupDiGetDeviceInterfaceDetail该函数返回设备接口的详细信息。WINSETUPAPI BOOL WINAPISetupDiGetDeviceInterfaceDetail(IN HDEVINFO DeviceInfoSet,IN PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,OUT PS转载 2014-04-21 14:07:40 · 4558 阅读 · 0 评论 -
Windows操作HID设备的API
1、头文件包含,库文件链接 在VC中开发HID应用程序时,需要包含setupapi.h和hidsdi.h,包含方式必须为extern "C",如下所示:extern "C" {// Declare the C libraries used#include "setupapi.h" // Must link in setupapi.lib#include "hidsdi.h"转载 2014-04-21 13:57:15 · 1608 阅读 · 1 评论 -
vc++ 创建进程
这是进程的创建,不是多线程…… 1、创建新进程程序路径CString strFilePath1 = "D:\\11.EXE"; //新进程执行程序 2、新进程参数初始化PROCESS_INFORMATION pt; STARTUPINFO si; //PC版这个参数不加转载 2014-03-03 17:36:19 · 1403 阅读 · 0 评论 -
MFC进度条编程控制
. 进度条的主要功能进度条控制(Progress Control)主要用来进行数据读写、文件拷贝和磁盘格式等操作时的工作进度提示情况,如安装程序等,伴随工作进度的进展,进度条的矩形区域从左到右利用当前活动窗口标题条的颜色来不断填充。进度条控制在MFC类库中的封装类为CProgressCtrl,通常仅作为输出类控制,所以其操作主要是设置进度条的范围和当前位置,并不断地更新当前位置。进度条的范转载 2014-03-11 19:52:27 · 1020 阅读 · 0 评论 -
MFC 创建进程
CreateProcess FunctionCreates a new process and its primary thread. The new process runs in the security context of the calling process.If the calling process is impersonating another user, th原创 2014-03-03 16:11:07 · 1126 阅读 · 0 评论 -
MFC 在对话框显示图片的多种方法-动态载入图片
MFC 在对话框显示图片的多种方法-动态载入图片函数说明=================================================================函数说明void LoadImage(DWORD nID,LPCTSTR ImageURL)参数说明: nID 需要绘制图像的窗口 ImageURL 图象在硬盘上的地址(动转载 2014-02-21 16:05:58 · 2001 阅读 · 0 评论 -
MFC的CListCtrl的使用与技巧
列表控件可以看作是功能增强的ListBox,它提供了四种风格,而且可以同时显示一列的多中属性值。MFC中使用CListCtrl类来封装列表控件的各种操作。通过调用 BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些列表控件的专用风格:LVS_转载 2014-02-25 11:09:57 · 746 阅读 · 0 评论 -
改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景
用CListCtrl来显示数据比较方便,有时候我们需要标注某一列或某一个单元格的背景和字体颜色,或者需要改变一下行高和字体大小,CListCtrl要改变这些并不是很方便。本文将介绍如何派生一个类来改变CListCtrl及其表头的高度、字体大小、列背景颜色、单元格背景颜色、列字体颜色、单元格字体颜色。关键字: 自绘 子类化 颜色 CListCtrl CHeaderCtrl 一、 实现转载 2014-02-27 10:14:01 · 1318 阅读 · 0 评论 -
检测USB和SD卡存储设备的接入和移除
方法一:依赖窗口 方法二:从注册表入手 方法一: 由于USB存储设备和SD卡都是存储设备, 当设备接入的时候枚举注册表路径"HKEY_LOCAL_MACHINE//Drivers//Active"下的子键,根据 p->dbcp_name;查找自检中与此值匹配的项,查找该项的键项"Key"的值是否包含"Drivers//USB//ClientDrivers转载 2014-02-27 19:34:08 · 1283 阅读 · 0 评论 -
CRichEditCtrl
template class CRichEditCtrlT : public TBase{public:// Constructors CRichEditCtrlT(HWND hWnd = NULL) : TBase(hWnd) { } CRichEditCtrlT& operator =(HWND hWnd) { m_hWnd = hWnd; retu转载 2014-02-17 10:29:23 · 995 阅读 · 0 评论 -
MFC中PretranslateMessage的实现
在MFC里面,Pretranslatemessage是一个很重要的虚函数。这个函数的作用这里就不谈了,很多地方都有涉及,这里只谈一下其实现的机制。谈到PretranslateMessage的实现,便不得不谈到MFC消息循环的实现。MFC通过CWinApp类中的Pumpmessage函数实现消息循环,但是实际的消息循环代码位于CWinThread中,CWinApp只是从CWinThread继承过原创 2014-02-17 10:56:04 · 690 阅读 · 0 评论 -
CRichEditCtrl随父窗口改变大小
在头文件中添加afx_msg void OnSize(UINT nType, int cx, int cy);在cpp文件中添加 BEGIN_MESSAGE_MAP(CCommandView, CScrollView) //{{AFX_MSG_MAP(CCommandView) ON_WM_DESTROY() ON_WM_KEYDOWN() ON_WM_SIZE()原创 2014-02-17 14:27:30 · 882 阅读 · 0 评论 -
MFC的CEdit控件中实现复制、粘贴、剪切等操作的快捷键
今天在一个MFC的GUI程序中实现了一个自定义的列表控件类(CListCtrl),在这个类里嵌入了一个CEdit类以便于编辑列表项,为了实现在编辑每个列表项时能支持快捷键,在派生的CEdit类加入下面这个函数:[cpp] view plaincopyprint?BOOL CCustomizedListCtrl::CListEditor::PreTranslateMe转载 2014-02-17 14:07:47 · 5229 阅读 · 0 评论 -
CLIstCtrl更改行颜色!
void CListCtrlPro::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) { //得到dc LPDRAWITEMSTRUCT lpDIS = lpDrawItemStruct; CDC* pDC = CDC::FromHandle(lpDIS->hDC);转载 2014-02-17 15:42:42 · 850 阅读 · 0 评论 -
CRichEditCtrl使用大全
很不错的源代码http://www.pudn.com/search_db.asp?keyword=MyRichEdit&x=36&y=16richedit 常见使用问题一.常见问题a.可以编译,不能执行的在需要在相应的对话框中加上InitInstance(void)函数中添加AfxInitRichEdit();b.升级默认的Riched版本(默认的有一些bug),如转载 2014-02-18 14:04:58 · 1199 阅读 · 0 评论 -
CDHtmlDialog的基本使用
因为我的部门只有我一个人(无奈之极,只有我一个做C++的,其他的都在做C#),所以我去跟技术顾问讨论我们客户端到底该怎么呈现。他说按照以往(上一套系统)的经验,升级很频繁,建议还是使用内嵌 HTML的方式来显示界面,这样以后只要升级HTML就可以了。我听了之后,牙掉了一半,我拖了半个月的对话框就这么给否了,心里着实不是滋味。然后就开始寻找MFC显示HTML页面的方法,找了一些自定义的HTM转载 2015-04-22 15:00:36 · 662 阅读 · 1 评论