自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 学习笔记 -- Win32多线程程序设计(三) 同步机制 Critical section and Mutex

类似SendMessage() 为同步,PostMessage()为异步线程中同步机制 --> Critical sectionCritical section 是一块线程共享资源,使用下面这些API, 来保证同一时间只有一个线程可以操作该critical section。(即给资源加锁)void WINAPI InitializeCriticalSection(

2017-08-14 16:07:37 348

原创 学习笔记 -- Win32多线程程序设计(二) WaitForSingleObject and WaitForMultipleObjects

通过前一篇文章,我们已经知道可以通过GetExitCodeThread 来不断获取线程状态确定线程是否已经结束。这种方法叫做busy loop或者busy wait。但是这种方法并不好,因为它会浪费CPU 可用时间。只有一两个线程这样去等待还可以,但是如果有成千上百个线程这样去等待的话,CPU的资源将被等待占用,而实际工作的CPU资源将所剩无几。所以我们需要另外一种等待方式

2017-08-14 13:10:11 387

原创 学习笔记 -- Win32 多线程程序设计

创建一个线程使用如下APIHANDLE WINAPI CreateThread(  _In_opt_  LPSECURITY_ATTRIBUTES  lpThreadAttributes,  _In_      SIZE_T                 dwStackSize,  _In_      LPTHREAD_START_ROUTINE lpStartAddress,

2017-08-12 11:42:54 407

原创 学习笔记 STL Map

Map 的数据结构其实是一种平衡二叉树 (红黑树)。因此其内部并不是一块内存,而是不同的节点。所以当我们做插入,删除时,只是改变节点。因此速度会很快。注意在一个迭代中,不能直接删除map#include "stdafx.h"#include #include #include using namespace std;int _tmain(int argc, _TC

2017-08-11 11:31:47 217

原创 如何创建一个Service

这边文章简单的向大家介绍一下如何用Alt 创建一个S

2014-07-14 18:42:39 1787

原创 如何创建一个GUID

无意中发现Visual Studio 2010 有create GUID的功能。真是太好用了。Tools -》

2014-07-14 14:49:44 797

原创 error LNK2001: unresolved external symbol GUID_SELF_DEFINE

今天在调用自定义的GUID时,编译出错了。说未定义该GUID。error LNK2001: unresolved external symbol GUID_SELF_DEFINE

2014-07-11 13:37:36 773 2

原创 VS2005 Build/Rebuild,显示Skipped Build/Rebuild All: Project:xxx

如果碰到在VS2005Build/Rebuild,显示Skipped Build/Rebuild All: Project:xxx的

2014-05-22 17:14:04 3208 1

原创 如何获取磁盘剩余空间(包括光驱中的光盘)

在网上找一个API,可以获取指定磁盘剩余空间,包括光驱中的光盘。但是如果光驱中是空白光盘的话,将无法读取。因为空白光盘未格式化过,因此显示格式为RAW,所以无法读取。至于如何读取空白光盘容量,我将在下一篇文章中描述。获取磁盘剩余空间API:BOOL WINAPI GetDiskFreeSpaceEx( _In_opt_ LPCTSTR lpDirectoryName

2013-12-03 17:11:43 2791

原创 解决error LNK2019: unresolved external symbol __imp_SHCreateStreamOnFileW referenced in function wmain

最近在coding中,用到了SHCreateStreamOnFile() 这个API,因此include了这个API的头文件#include ,但是报了以下错误:error LNK2019: unresolved external symbol __imp_SHCreateStreamOnFileW referenced in function wmain这是因为没有link这个头

2013-12-03 14:44:56 5194

原创 使用IMAPI V2 制作Boot image(启动盘)

好久没有更新了,最近在研究用IMAPI 来刻录启动光盘。MSDN的例子都是VB script的例子,以下是我简单写的C++例子。 附上MSDN 对于IMAPI的链接:http://msdn.microsoft.com/en-us/library/windows/desktop/aa366450(v=vs.85).aspx// BurnTest.cpp : Defines the e

2013-12-03 14:37:41 3008 3

原创 Visual Studio 2010 error C2065: '_In_opt_z_' : undeclared identifier 编译错误

当用Visual Studio 2010 编译时 发生如下编译错误:2>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h(550): error C2065: '_In_opt_z_' : undeclared identifier2>C:\Program Files (x86)\Microso

2012-11-08 10:38:09 8106

原创 installshield 2010 中SUPPORTDIR的取法

今天在做安装时,需要调用supportdir中的文件。一开始直接使用了SUPPORTDIR。但是发现取不到support file。调试之后,发现Basic MSI Project 会在“%temp%”目录下生成三个临时文件夹,但是SUPPORTDIR指向的路径不是真正包含support file的文件夹。调查之后,应该使用MsiGetProperty()方法来获取SUPPOR

2012-05-28 19:21:46 3262

原创 在installshield中如何创建service and 启动 停止 service

今天要在安装包中安装一个service and 启动 ,卸载时要停止 and uninstall。查了以前公司的代码,发现可以这样做。安装service:if(LaunchAppAndWait( 【service 路径+name】,"/Service", LAAW_OPTION_WAIT ) MessageBox("Create service fail",INFORMAT

2012-05-28 19:15:07 2624

原创 error LNK2019: unresolved external symbol __imp_SetupDiDestroyDeviceInfoList 错误解决

今天把以前代码中取电池信息的类,加入到com工程中。结果报了Link错误。错误如下:error LNK2019: unresolved external symbol __imp_SetupDiDestroyDeviceInfoList referenced in function "private: int __cdecl CNewPwrInfo::_EnumBatteryDeviceP

2012-05-24 10:03:11 8039

原创 WPF中更改Image控件的source

以下是C#中的写法。            BitmapImage imagetemp = new BitmapImage(new Uri("E:\\Work\\Demo2.bmp", UriKind.Absolute));image1.Source = imagetemp;

2012-05-07 19:05:04 2537 1

原创 在installshield 脚本中添加log的方法

今天为了解一个安装时的bug,需要在安装过程的脚本中加入log,写到文件中,于是在网上找了一个方法。现在跟大家分享。function   WriteFileLog(LogString)         STRING   LogFileName,svResult,svResult2,CKSresult;           NUMBER   nvResult,CKNresult;

2012-05-07 19:02:46 1609

原创 添加电源icon的右键菜单选项

在windows中,系统为我们准备了6个电源icon的右键菜单。具体实现可以进行在注册表中添加值实现。具体位置如下:HKEY_LOCAL_MACHINE\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Applets\\SysTray\\BattMeter\\ContextMenu\\%d附上C#例子using Micro

2012-05-02 16:34:50 814

原创 如何用c++或者C#打开特殊的系统窗口,如power options

这几天在做新项目,新项目中,有一个需求,需要点击一个按钮,打开power options。经过查找分别得到C++和C#下的两个api可以调用一些特殊命令来实现。方法如下:打开power options.C++:WinExec("rundll32.exe shell32.dll,Control_RunDLLpowercfg.cpl",SW_SHOWNORMAL);C#: using

2012-05-02 13:54:38 1017

原创 请选择【Use MFC in a Static Library】创建工程

这几天要release一个版本,结果发现release出来的东西,在没有装编译环境的电脑上就杯具了。在没有安装编译环境的电脑上根本打不开软件。双击就说软件构成不正确什么的。后来,发现是工程使用了【Use MFC in a Shared DLL】所以才会这样。于是简单的选择了【

2011-08-30 10:35:25 2396

原创 Warning 1 Command line warning D9035 : option 'Wp64' has been deprecated and will be removed in a fu

开始用visual studio.NET 2008,但将vs2005的程序转到2008上,出现了如下warning: Warning 1 Command line warning D9035 : option 'Wp64' has been deprecated and wi

2011-08-26 13:37:14 2018

原创 MS Visual Studio 2008 编译错误 microsoft visual studio 9.0\vc\include\new.h(60) : error C2065: '_In_opt_

这几天为了使用一个带有256*256 PNG格式的icon图标,必须在visual studio 2008上编译。因此,在一台xp机器上装了2008,之前这台电脑还安装了sdk,WDK和vs2005.结果一编译就出错了。以为是xp系统问题,于是又拿了台win7的电脑试了一下,

2011-08-12 15:47:56 5648

原创 tlb文件的使用方法

今天做一个项目,需要用到tlb文件。本人之前没有接触过任何关于com组件的东西。因此很迷茫。经过很长时间的学习,纠结。终于领悟了个大概。下面我把这两天的成果,与大家分享一下。首先,准备两个tlb文件,一个是32位的,一个是64位的。这个很重要。我一开始碰到的错误就是由于版本不

2011-08-08 16:34:48 11972

原创 如何判断radio button是否被选中

判断用:(CButton*)GetDlgItem(IDC_RADIO1)->GetCheck()设置用:(CButton*)GetDlgItem(IDC_RADIO1)->SetCheck(TRUE)

2011-08-02 15:33:22 6992

原创 窗口居中显示

在窗口初始化的时候,执行这组代码 //****居中显示 RECT   rcDlg; int   cxDlg,cyDlg; ::GetWindowRect(hWnd,&rcDlg); cxDlg=rcDlg.right-rcDlg.left; ::cyDlg

2011-08-02 15:32:11 502

原创 string table中应用转义字符进行换行

今天在做一个小工具时,需要把stringtable中的string放入到editbox中,其中是几段文字,所以需要换行。具体操作如下:1.把edit box的Multiline属性和want return属性设置为true。2.把Auto HScroll属性设置为fa

2011-08-02 15:31:28 1786

原创 “The application has failed to start because its side-by-side configuration is incorrect...”问题

今天拿32bit程序去win7 x64 下跑,结果打开弹出以下错误后来查明后得知原因。32bit到win7x64下跑,有可能会产生此类错误。可以编译一个64bit的程序再去跑就没问题了。或者在win7 x64 系统下安装vs2005.

2011-07-27 13:02:28 3637

原创 vs2005 利用string table 制作多语言

今天要在keyboard backlight软件上添加多语言,但是该软件运行在xp环境下,MUI无法应用,因此选择了string table来完成多语言的支持。具体操作如下:1.打开工程rc视图,选中String table中的唯一一张表String table,点击右键选择In

2011-07-25 15:40:42 3078 2

原创 GDI泄露心得

  最近,刚刚开始做C++。我主要负责页面上的东西。做完后发现GDI泄露很严重。经过总结,主要是以下几点地方要注意。1.getdc()出来的DC,一定要用ReleaseDC()处理。2.HBITMAP要用DeleteObject()处理。目前还剩下一个问题。我程序中用了ctreectrl,然后要设置成启动时默认有几个选项被打上勾,这样就要用到ModifyStyl(TVS_CHECKBOXES,0);ModifyStyle(0,TVS_CHECKBOXES);这两句。前面那句是去掉TVS_CHECKBOXES

2010-09-17 16:06:00 1703

用ATL创建一个空的Service

这是一个利用Alt创建的一个空的Service。可以下载下来,作为如何创建Service的参考。具体如何创建,请看我的博客 http://blog.csdn.net/duoluoxia/article/details/37766793

2014-07-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除