c++/VC
文章平均质量分 52
iteye_13378
这个作者很懒,什么都没留下…
展开
-
Sensor驱动:Location API 取不到GPS经纬度等数据或不识别传感器
---------------------------------------华丽的分割线----------------------------------------- sensor驱动: 客户端要使用location api取gps的经纬度值,但总取不到。在调试了几天后(--!)发现有个容易被忽略的常量:SENSOR_DATA_TYPE_ERROR_RADIUS...原创 2011-06-21 14:40:32 · 224 阅读 · 0 评论 -
VC中删除文件夹中内容
方法一:(MFC)BOOL DeleteDirectory(const CString& csDirPath){ BOOL bRes = FALSE; CString csAllFiles = csDirPath; csAllFiles.Trim(); if(csAllFiles.IsEmpty()) { re...原创 2010-12-12 20:37:14 · 131 阅读 · 0 评论 -
CFileFind类
一、注意: 1、CFileFind类的声明文件保存在afx.h头文件中。 2、CFileFind类实现的功能:执行本地文件的查找(查找某个具体的文件,查找某类文件x*.x*,查找所有文件*.*) 3、CFileFind类是CGopherFileFind和CFtpFileFind类的基类。 4、CFileFind类的构造函数::CFil...原创 2010-12-14 03:49:00 · 528 阅读 · 0 评论 -
Volatile
volatile[ˈvɔlətail]adj.易变的, 反复无常的, 易激动的 典型的例子 : for ( int i = 0; i < 100000; i++); 编译器肯定要把这个空循环语句优化掉,根本就不执行,结果是 i = 0;如果写成for ( volatile int i = 0; i < 100000; i++); ...原创 2010-12-15 11:25:05 · 73 阅读 · 0 评论 -
计算数组大小_countof
_countof 是 C++中计算一个固定大小数组长度的宏:#define _countof(array) (sizeof(array)/sizeof(array[0]))传入参数必须为固定数组,类型为_CountofType sizeof表示字节数,_countof 表示字符数避免了使用sizeof()因编码方式不同造成的获取到不正确的个数 因此,可以在需要的地方自己...原创 2010-12-19 18:54:15 · 271 阅读 · 0 评论 -
CDialog::Create时使窗体失去焦点
//在OnInitDialog()中:ModifyStyle(0, WS_EX_NOACTIVATE, SWP_NOACTIVATE);原创 2010-12-24 11:49:28 · 247 阅读 · 0 评论 -
ASC编码和Unicode编码之间转换
1. ASC编码转Unicode编码 void ConvertMultiToWide(LPCSTR lpstr, int size, CStringW& csWide){ //计算字符长度 int nCount = MultiByteToWideChar(CP_ACP, 0, lpstr, size, NULL, 0); //分配内存 wch...原创 2010-12-27 13:33:08 · 759 阅读 · 0 评论 -
offce自动化编程操作word、ppt、excel时,使用application的createdispatch等操作,产生错误...
offce自动化编程操作word、ppt、excel时,使用application的createdispatch等操作,产生错误。application对象为空,或其它对象为空。具体产生的地方一定位于一个独立的线程内。解决方法:在每个使用自动化的线程开始处,使用“Oleinitialize(NULL)”初始化。...原创 2011-09-16 14:18:15 · 723 阅读 · 0 评论 -
关于Mutex的使用问题
权限问题 互斥量对象会一直存活着直到使用它的最后一个程序关闭其句柄,因此它能在初始创建它的应用程序退出后保留相当长的时间。因为此对象被广泛地共享,所以它必须被赋予明确的许可以允许任何人使用它。事实上,“缺省”许可几乎从不适用。 对于 SYNCHRONIZE和MUTEX_ALL_ACCESS 权限,因为非管理员没有这些权限(仅有上列的少许)互斥量不能被打开或者获取,于是CreateMutex...原创 2011-01-04 18:44:08 · 552 阅读 · 0 评论 -
HTTPS 证书处理
---------------------------------------华丽的分割线----------------------------------------- HttpSendRequest 返回失败时//-------------------------HTTPS 证书处理-----------------------------------------...原创 2011-04-09 11:36:06 · 266 阅读 · 0 评论 -
ShellExecute : 同步启动一个进程,等待结束
---------------------------------------华丽的分割线----------------------------------------- SHELLEXECUTEINFO ShExecInfo = {0};ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);ShExecInfo.fMask = S...原创 2011-04-18 20:22:55 · 2829 阅读 · 0 评论 -
各种风格的目录/文件夹选择对话框(CFolderDialog)
1. 标准的文件夹选择对话框:可以使用在非MFC程序中,调用的标准API SHBrowserForFolder。源码:#include "shlobj.h"#include <STRING>// Function name : GetFolder// Description : Open and get Folder Dialog.//...原创 2011-11-11 10:48:16 · 852 阅读 · 0 评论 -
获取当前用户的SID
方法一:BOOL GetSID(CString& csSID){ BOOL bRes = FALSE; csSID.Empty(); char acUserName[UNLEN + 1]; ::SecureZeroMemory(acUserName, sizeof(acUserName)); DWORD dwLength = U...原创 2010-12-12 16:45:31 · 880 阅读 · 0 评论 -
ExpandEnvironmentStrings扩展系统变量
CString csFilePathName;::ExpandEnvironmentStrings(_T("%ProgramData%"), csFilePathName.GetBuffer(MAX_PATH), MAX_PATH);csFilePathName.ReleaseBuffer();csFilePathName += _T("Test.txt");if (PathFil...原创 2010-12-12 16:13:34 · 623 阅读 · 0 评论 -
WTSRegisterSessionNotification
cdialog中配置WTSRegisterSessionNotification(this->m_hWnd, NOTIFY_FOR_THIS_SESSION); 退出时WTSUnRegisterSessionNotification(this->m_hWnd); 要包含头文件及lib库: #include "wtsapi32.h" #pragma comment(l...原创 2010-12-12 16:06:53 · 279 阅读 · 0 评论 -
在COM中使用数组参数-SafeArray
1 使用SafeArraySafeArray是VB中的数组存储方式。通过SafeArray,可以在VC++和VB间相互调用。SafeArray也是Automation中的标准数组存储方式。1.1 SafeArray处理函数COM提供了一套API用于处理SafeArray。为了保证程序和SafeArray结构无关[1],程序中建立、读取、更改和释放SafeArray都应...原创 2010-11-26 09:43:16 · 97 阅读 · 0 评论 -
对SYSTEMTIME加减操作
#define _SECOND ((ULONGLONG) 10000000)#define _MINUTE (60 * _SECOND)#define _HOUR (60 * _MINUTE)#define _DAY (24 * _HOUR)void CTestClass::ChangeTime(SYSTEMTIME& sysTime){ Ge...2010-11-26 14:59:46 · 2786 阅读 · 0 评论 -
用SAFEARRAY封装POST数据
使用SAFEARRAY 封装数据进行POST. SAFEARRAY * psa; //定义safearray SAFEARRAYBOUND rgsabound[1]; //根据数组的维数来定义几个数组元素,本例是一个一维数组 rgsabound[0].cElements = postLen; //数组的元素个数 rgsabound[0].lLbound = 0; //数组起...原创 2010-11-26 16:29:48 · 116 阅读 · 0 评论 -
E_OK,S_FALSE,E_FAIL
S_OK 和 S_FALSE 都表示成功。S_FALSE:则可以不处理,程序也可以正常运行,说明调用的方法没有顺利执行完成而已,不影响后面的操作。E_FAIL:是必须处理的返回值,否则程序出错,表示调用的方法出现错误,你需要处理错误。...原创 2010-11-30 09:39:32 · 650 阅读 · 0 评论 -
“无法在设置线程模式后对其加以更改”
1.在dll中必须调用CoInitialize或者CoInitializeEx否则会报错“没有调用CoInitialize()”,但是这个函数不能在dll中调用否则会报错“无法在设置线程模式后对其加以更改”,所以只要在exe中先调用CoInitialize,然后调用dll。2.如果使用“CoInitializeEx(NULL, COINIT_MULTITHREADED); ”会出现此错误,可以...原创 2010-11-30 09:45:00 · 7999 阅读 · 1 评论 -
Windows 操作系统中的常见安全标识符
安全标识符 (SID) 是长度可变的唯一值,用来标识 Windows 操作系统中的安全主体或安全组。常见 SID 是标识一般用户或一般组的一组 SID。它们的值在所有操作系统中都相同。此信息可用于解决安全方面的问题,还可用于解决 ACL 编辑器中可能出现的潜在显示问题。在 ACL 编辑器中,可能显示 SID 而不是用户或组名。常见 SID: SID:S-1-0名称:Null Auth...原创 2010-11-30 21:20:02 · 1248 阅读 · 0 评论 -
[MFC] rand_s 的用法
大家都知道如何用 C++ <stdlib.h> 中的 rand 配合随机数种子来生成伪随机数。本文介绍另一种不需要每次通过系统时间来设置伪随机序列起始位置的方法(仅仅针对 Window XP 以及之后的操作系统),那就是使用同样在 <stdlib.h> 中的 rand_s 函数。 有的人说,一看这个函数的名字就知道了,不就是带 CRT 安全增强版的 rand 函数嘛!的确,...原创 2010-12-04 16:16:14 · 1136 阅读 · 0 评论 -
c++/vc产生随机数
int GenerateRandomNumber(int range_min, int range_max){ if (range_min > range_max) { int iTemp = range_max; range_max = range_min; range_min = iTemp; } ...原创 2010-12-04 16:18:04 · 93 阅读 · 0 评论 -
CStdioFile
CFile//创建/打开文件CFile file;file.Open(_T("test.txt"),CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite);文件打开模式可组合使用,用“|”隔开,常用的有以下几种:CFile::modeCreate:以新建方式打开,如果文件不存在,新建;如果文件已存在,把该文件长度置零,即清除文...原创 2010-12-09 14:20:07 · 229 阅读 · 0 评论 -
CWnd与HWND的区别与转换
一、区别HWND是句柄,CWnd是MFC窗体类,CWnd中包含HWND句柄成员对象是m_hWnd.HWND是Windows系统中对所有窗口的一种标识,即窗口句柄。这是一个SDK概念。 CWnd是MFC类库中所有窗口类的基类。微软在MFC中将所有窗口的通用操作都封装到了这个类中,如:ShowWindow等等,同时它也封装了窗口句柄即m_hWnd成员。二、如何得到窗口对象指针CWnd * pCWn...原创 2010-12-10 16:31:57 · 479 阅读 · 0 评论 -
利用高精度计时器计算程序运行时间
QueryPerformanceFrequency()类型:Win32API原型:BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency);作用:返回硬件支持的高精度计数器的频率。返回值:非零,硬件支持高精度计数器;零,硬件不支持,读取失败。 QueryPerformanceCounter原型:BOOL Que...原创 2010-12-12 12:57:34 · 183 阅读 · 0 评论 -
VC中处理命令行参数:GetCommandLine()与m_lpCmdLine
對於VC程序无论是SDI、MDI还是基于Dialog的程序,主类都是继承自CWinApp,在CWinApp中,有命令行参数的成员变量 - m_lpCmdLine m_lpCmdLine 是一个LPTSTR,也就是一个32位的字符串,也就是整个命令行参数(不带应用程序可执行文件的名字)。举例来说,如果应用程序是Hello.exe,那么运行用命令運行Hello world,此时的m_lpCmdLine...原创 2012-08-28 14:08:49 · 1970 阅读 · 0 评论