
VC
文章平均质量分 61
零点零一
Make it right before you make it faster. Keep it right when you make it faster. Make it clear before you make it faster. Do not sacrifice clarity for small gains in efficiency. -- Brian Kernighan
展开
-
定制 visual studio 的 wizard
在使用visual studio时,如果我们使用了第三方库,比如opencv、cuda等,总要设置工程,添加用的lib文件和它们所在文件夹,添加头文件目录,不免让人生厌,如果能像win console application、win32 application、mfc、mfc dll等项目一样出现在工程向导中,那该多好,使用向导,相关的设置就自动完成了。那么能实现这种功能吗?当然可以! 前些日子在做cuda并行编程,在cuda forum找到了这样的一个工具,小程序安装以后,就可以在wizar...转载 2021-09-15 14:11:32 · 357 阅读 · 0 评论 -
VC++下使用ADO操作数据库_ConnectionPtr、_RecordsetPtr和_CommandPtr
VC++下使用ADO操作数据库_ConnectionPtr、_RecordsetPtr和_CommandPtr(转)(1)、引入ADO类#import "c:\program files\common files\system\ado\msado15.dll" \no_namespace \rename ("EOF", "adoEOF") (2)、初始化COM在MFC中可以用AfxOleInit();非MFC环境中用:CoInitialize(NULL);CoUn..转载 2021-09-07 15:53:11 · 1004 阅读 · 0 评论 -
MFC之CAsyncSocket详解
MFC之CAsyncSocket详解https://blog.youkuaiyun.com/u012372584/article/details/76146844CAsyncSocket类是从Object类派生而来。CAsyncSocket对象称为异步套接字对象。使用CAsyncSocket进行网络编程,可以充分利用Windows操作系统提供的消息驱动机制,通过应用程序框架来传递消息,方便地处理各种网络事件。另一方面,作为MFC微软基础类库中的一员,CAsyncSocket可以和MFC的其他类融为一体,大大转载 2021-09-07 15:51:17 · 1565 阅读 · 0 评论 -
INI配置文件格式的说明
INI配置文件的格式为什么要用INI文件?如果我们程序没有任何配置文件时,这样的程序对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,这样很不好,所以要用配置文件,让程序出厂后还能根据需要进行必要的配置;配置文件有很多如INI配置文件,XML配置文件,还有就是可以使用系统注册表等。 本文主要是为读者在实现读写INI配置文件模块之前,提供有关INI文件的格式信息。在早期的windows桌面系统中主要是用INI文件作为系统的配置文件,从win95以后开始转向使用注册表...原创 2021-09-07 15:49:33 · 2349 阅读 · 0 评论 -
GetOverlappedResult的说明
WINBASEAPIBOOLWINAPIGetOverlappedResult( _In_ HANDLE hFile, _In_ LPOVERLAPPED lpOverlapped, _Out_ LPDWORD lpNumberOfBytesTransferred, _In_ BOOL bWait);外文名GetOverlappedResult说明判断一个重叠操作当前的状态Long非零表示成功,零表示失败设置...原创 2021-09-07 15:48:24 · 636 阅读 · 0 评论 -
VC++中利用MSXML解析XML、使用DOM写XML文档
CoInitialize(NULL); // 初始化COM。 CComPtr<IXMLDOMDocument> spXMLDOM; // 创建解析器实例。 HRESULT hr = spXMLDOM.CoCreateInstance (__uuidof(DOMDocument)); VARIANT_BOOL bSuccess = false; // 装载XML文档。 hr = spXMLDOM->load(CComVariant(L"xmlfile.xml"), &..转载 2021-08-16 10:03:34 · 1553 阅读 · 0 评论 -
VC获取文件的创建时间,访问时间,写入时间
#include<Windows.h>#include<iostream>#include<string>#include <fstream>#include <io.h>using namespace std;BOOL GetFileTime(HANDLE hFile, LPSTR lpszCreationTime){ FILETIME ftCreate, ftAccess, ftWrite; SYSTEMTIME...原创 2021-08-07 09:36:46 · 832 阅读 · 0 评论 -
VC 建立excel表格编程
打开一个excel文件void COfficeTestDlg::OnBnClickedBtnOpen(){ CFileDialog file(TRUE, NULL, NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, _T("EXCEL文件t(*.xls;*.xlsx)|*.xls;*.xlsx||"),AfxGetMainWnd()); if(file.DoModal() == IDOK) { CString strPath = file.GetPa原创 2021-08-04 14:34:01 · 764 阅读 · 0 评论 -
记录一份VC建立excel表格并进行编辑操作
这是一份早先的测试代码,回顾的时候保留一下建立VC项目后,还需要添加一些引用和设置。需要的同学请搜索其他博文 //新建一个Excel表格,并对其进行编辑,声明使用的各变量 CApplication _app;//指向的是EXCEL程序 CWorkbooks workbooks;//所有workbook的集合,或者指的是所有excel文件的集合? CWorkbook workbook;//指的是某一个excel文件,或者说该文件中所有worksheet的集合 CWorksheets wo.原创 2021-08-04 14:25:50 · 452 阅读 · 0 评论 -
popen函数启动另外一个进程去执行一个shell命令行
#include <stdio.h>#include <stdlib.h>#include <cstring>using namespace std;void executeCMD(const char *cmd, char *result){ char buf_ps[1024]; char ps[1024] = { 0 }; FILE *ptr; strcpy(ps, cmd); if ((ptr = _popen(ps, "r")) !=...原创 2021-08-03 14:04:25 · 471 阅读 · 0 评论 -
C++ 预编译头文件
C++ 预编译头文件1、解决什么问题? C++ 编译器是单独,分别编译的,每个cpp文件,进行预编译(也就是对#include,define 等进行文本替换),生成编译单元。编译单元是一个自包含文件,C++编译器对编译单元进行编译。考虑,头文件A.h被多个cpp文件(比如A1.cpp,A2.cpp)包含,每个cpp文件都要进行单独编译,其中的A.h部分就会被多次重复第编译,影响效率。2、怎么解决? 把A.h以及类似A.h这样的头文件,包含到stdafx.h中(当然也可以是其他文件),在s转载 2021-06-24 14:42:56 · 1449 阅读 · 0 评论 -
fatal error C1083:Cannot open source file 解决方法也许是路径太长了
编译的工程中,总是出现如下的报错fatal error C1083:Cannot open source file: ……No such file or directoryError error C1083: Cannot open source file: '..\..\..\..\..\***\***.cpp': No such file or directory 打开文件目录知道文件存在,并且查看内容都没有问题,但是编译的时候总是报错。原来是文件名太长导致的,我把目...原创 2021-03-25 14:30:29 · 2341 阅读 · 0 评论 -
WlanGetAvailableNetworkList windows获取可用wifi和强度的API使用例子
#ifndef UNICODE#define UNICODE#endif#include <windows.h>#include <wlanapi.h>#include <objbase.h>#include <wtypes.h>#include <stdio.h>#include <stdlib.h>// Need to link with Wlanapi.lib and Ole32.lib#pragma .转载 2021-03-09 15:37:32 · 916 阅读 · 0 评论 -
什么是vs 程序的manifest文件
什么是vs 程序的manifest文件manifest 是VS程序用来标明所依赖的side-by-side组建,如ATL, CRT等的清单。为什么要有manifest文件一台pc上,用一组建往往会有不止一个版本(c:/windows/winsxs或系统目录下),程序在加载的时候,不知加载哪个,于是manifest文件来指明。manifest在哪儿,如何创建。如果用VS开发,可以Set通过porperty->configuration properties->linker-&g转载 2020-10-16 10:49:05 · 1745 阅读 · 0 评论 -
GetVersion和GetVersionEx的介绍
概述:DWORD WINAPI GetVersion(void);返回当前操作系统的版本,如果调用成功,返回值的低位字中包含操作系统的主版本与次版本,高位字节包含有操作系统build号。对于所有平台,低位字包含操作系统的版本号, 低位字的低字节是系统的主版本号,用十六进制表示;低位字的高字节表示系统的次版本号,用十六进制表示,高位字表示系统的bulid号。示例:#include <Windows.h>#include <stdio.h> int main(){ .转载 2020-10-10 15:09:09 · 1108 阅读 · 0 评论 -
VC++鼠标、键盘的模拟操作
一、鼠标事件模拟使用的函数是mouse_event()函数,对于鼠标事件我们应该确定两个问题:1.鼠标点击了哪个键:左键、中键、右键? 2.鼠标点击的位置。mouse_event()函数常常配合SetCursorPos();函数来使用。mouse_event(): 1 2 3 4 5 6 7 VOIDmouse_event( DWORDdwFlags,//motionandclickopti...转载 2020-09-10 17:52:28 · 1308 阅读 · 0 评论 -
VC 模拟键盘输入
VC 模拟键盘输入转载请注明来源:https://www.cnblogs.com/hookjc/vc模拟键盘输入keybd_event(VK_LWIN, 0, 0 ,0);keybd_event('M', 0, 0 ,0);keybd_event('M', 0, KEYEVENTF_KEYUP ,0);keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP,0); 发送控件消息SendMessage(WM_COMMAND, IDOK, 0);...转载 2020-09-10 17:50:27 · 951 阅读 · 0 评论 -
//{{AFX_MSG、//{{AFX_VIRTUAL、//{{AFX_MSG_MAP、//{{AFX_DATA_INIT用途
说明:这篇日志我不知道怎么命名好,虽然内容很少,但是讲的关键字很多,如果你有幸打开这篇日志,不妨往下看看背景:我们使用 VC++6.0 开发MFC应用程序,初学者一定会为那么多行的注释代码感到头痛,下面就说说这些有益无意义的注释//{{AFX_MSG、//{{AFX_VIRTUAL、//{{AFX_MSG_MAP、//{{AFX_DATA_INIT 我们看到很多这样打头的代码,其中典型的一个,在你应用程序的 CApp 头文件中// Implementation//{{AFX_MSG..转载 2020-09-10 13:57:47 · 678 阅读 · 0 评论 -
excel设置行高
//设置行高void XlsSetRowHeight(int Row, double height){ if (!xlsAppIsInit()) { return; } CRange range; LPDISPATCH lpDisp = NULL; /*得到工作簿中的Sheet的容器*/ lpDisp = m_xlsAppLication.get_ActiveSheet(); CWorksheet xlsSheet; ASSERT(lpDisp); xlsShee.转载 2020-07-20 17:01:20 · 556 阅读 · 0 评论 -
VC 操作Excel sheet页眉操作
CApplication ExcelApp; CWorkbooks books; CWorkbook book; CWorksheets sheets; CWorksheet sheet; CRange range; CPageSetup pageup; LPDISPATCH lpDisp = NULL; LPDISPATCH lpDisp1 = NULL; //创建Excel 服务器(启动Excel) if(!ExcelApp.CreateDispatch(_T("Excel.Ap..转载 2020-07-20 16:59:52 · 372 阅读 · 0 评论 -
VC控制EXCEL的基本操作之设置篇
设置篇1 设置单元格的值1)选中指定单元格,使用SetValue设置值CellName.Format(_T("A%d"),i);//单元格的名称range.AttachDispatch(sheet.GetRange(COleVariant(CellName),COleVariant(CellName)));//加载单元格range.SetValue(COleVariant(subFileName));CellName.Format(_T("C%d"),i);//单元...转载 2020-07-20 16:50:53 · 1073 阅读 · 0 评论 -
VC6简单的运用EXCEL隐藏打印和打印预览
在开发软件时,经常要将数据输出到Excel2000中,在Excel2000中对该数据进行进一步地格式化处理或进行计算处理。在VisualBasic中处理起来较简单,Excel2000的VB编程帮助中有较为详细的介绍。在VisualC++中如何进行处理了?利用Excel2000的ActiveXAutomate功能,处理起来同VB中类似。但要注意以下几点:对于对象的属性值的读取或赋值,需要用GetProperty()或SetProperty(NewValue)函数,不能象VB中直接通过属性名称...转载 2020-07-16 13:39:58 · 403 阅读 · 0 评论 -
问题:VC输出excel数据,设置打印的页脚页码
这次要解决VC输出excel并打印的页面设置页码的问题。经过搜索发现可以参考的页面C#的代码:https://blog.youkuaiyun.com/weixin_33895516/article/details/90094350?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-9摘抄参考代码://页面设置exce.ActiveWindow.DisplayGridlines=false;//不显示网格线sheets.Displa原创 2020-07-15 15:10:23 · 399 阅读 · 1 评论 -
VC excel打印设置 页边距
要解决VC环境下编码控制设置打印页面的页边距。搜找资料大多是VBA或者C#的内容:在上一个问题里面,我在VC下大致找到了 PageSetup page = sheet.GetPageSetup(); //设置打印页面方向 0 默认 1 纵向 2 横向 page.SetOrientation(2);来设置打印的方向为横向:现在遇到要解决的问题点是设置也页边距参照如下网上搜到的资料ExlApp.DisplayAlerts = false; ..原创 2020-07-15 14:42:28 · 657 阅读 · 0 评论 -
VC excel打印设置页面横向 代码可以实现设定为横向的
工作中遇到出货清单的打印,切实的问题是如何设置excel的方向,最终确认为excelworksheet1.PageSetup.Orientation的设置?经过实践发现VC如下的代码可以实现设定为横向的 PageSetup page = sheet.GetPageSetup(); //设置打印页面方向 0 默认 1 纵向 2 横向 page.SetOrientation(2);...原创 2020-07-15 14:18:28 · 638 阅读 · 0 评论 -
C++关于调用系统默认打印机打印各种格式的文档
int nLen_FilePath = 0; BOOL bResult = FALSE; HRESULT hRet = S_OK; int nRet = 0; CLSID clsid; memset(&clsid, 0x00, sizeof(CLSID)); IUnknown *pUnknown = NULL; IWebBrowser2 *pWebBrowser2 = NULL; IOleCommandTarget* pCommandTarget = NULL; IDi..转载 2020-07-15 10:45:44 · 1577 阅读 · 0 评论 -
EXCEL里如何知道某种颜色的ColorIndex的值
EXCEL里如何知道某种颜色的ColorIndex的值===fag::=============================================================Excel库的插入在我们MFC的工程中,按Ctrl+W打开MFC类向导对话框,点击“Add Class…”->“From a type Library…”,找到你所使用的excel类型库,我使用的在目录C:/Program Files/Microsoft Office/OFFICE11(fag::有时时转载 2020-07-10 14:15:02 · 1542 阅读 · 0 评论 -
ActiveX和OLE有什么区别?
熟悉面向对象编程和网络编程的人一定对ActiveX、OLE和COM/DCOM这些概念不会陌生,但是它们之间究竟是什么样的关系,对许多们还是比较模糊的。在具体介绍它们的关系之间,我们还是先明确组件(Component)和对象(Object)之间的区别。组件是一个可重用的模块,它是由一组处理过程、数据封装和用户接口组成的业务对象(Rules Object)。组件看起来像对象,但不符合对象的学术定义。它转载 2010-02-22 09:45:00 · 1329 阅读 · 0 评论 -
VC把网络共享目录映射为本地驱动器
VC把网络共享目录映射为本地驱动器要映射一个网络目录为本地驱动器,需要调用系统mpr.dll 的WNetAddConnection2函数来进行添加。#include <Winnetwk.h>#pragma comment(lib, "mpr.lib")首先,系统函数的申明如下:DWORD WNetAddConnection2A( LPNETRESO...原创 2020-04-22 10:54:22 · 871 阅读 · 0 评论 -
Vc++ excel编程的两种方法的区别和对应方法
在工作中的项目代码,我前后共用了两种方法在两种不同的代码项目中:当遇到其中一个需要实现设置单元文本格式的时候,我找不到在其中一个项目源码已经实现的,但在另一个项目代码还没有实现的,但是当我找相对应的方法时候除了一点问题方法一, 使用类引用头的方法.CApplication第一步:首先得到这几个文件CApplication.hCWorkbook.hCWorkbooks.h...原创 2020-04-15 10:51:13 · 531 阅读 · 0 评论 -
windows终止处理程序( __try __finally) 简单解析
通过使用终止处理程序可以防止过早的执行return语句。当return语句试图退出try块的时候,编译器会让finally代码在它。即编译器保证finally代码块在出try块的时候return之前执行。者可以想知道,编译器是如何保证此功能的呢?原来当编译器检查程序代码时,会发现try代码里有一个return语句。于是,编译器就会生成一些代码先将返回值(例子中的 3)保存在一个由它创建的一个临...转载 2020-03-31 10:11:56 · 427 阅读 · 0 评论 -
VC 对话框中控件设置默认焦点 快捷键
VC对话框界面中的多个控件,设置默认焦点的方法,搜帖总结如下:第一种:资源编辑器中编辑对话框模板,按下Ctrl+D,然后用鼠标按你想要的顺序点控件,编号为1的就是默认的第二种:OnInitialDialog中写GetDlgItem(IDCANCEL)->SetFocus();并且要returnFALSE;控件属性中的default button是设...转载 2020-03-26 15:56:10 · 842 阅读 · 0 评论 -
VC++下使用ADO操作数据库的智能指针_ConnectionPtr、_RecordsetPtr、_CommandPtr的方法
VC++下使用ADO操作数据库的智能指针_ConnectionPtr、_RecordsetPtr、_CommandPtr的方法(1)、引入ADO类#import "c:\program files\common files\system\ado\msado15.dll" \ no_namespace \rename ("EOF", "adoEOF")(2)、初始化COM...转载 2019-12-16 14:40:27 · 363 阅读 · 0 评论 -
VC++中通过ADO中的_RecordsetPtr操作数据库:增删改查
VC++中通过ADO中的_RecordsetPtr操作数据库:增删改查https://blog.youkuaiyun.com/zhangyulin54321/article/details/8056580_RecordsetPtr智能指针,它是专门为通过记录集操作数据库而设立的指针,通过该接口可以对数据库的表内的记录、字段等进行各种操作。要搞清楚:数据库和ADO的记录集是两个不同的概念,是存在于不...转载 2019-12-16 14:15:57 · 694 阅读 · 0 评论 -
GdiplusStartupInput 结构
GdiplusStartupInput 结构<br />该结构持有GdiplusStartup函数所需要使用的一组参数.<br />Syntaxstruct GdiplusStartupInput<br />{<br /> UINT32 GdiplusVersion; <br /> DebugEventProc DebugEventCallback;<br /> BOOL SuppressBackgroundThread;<br /> BOOL Suppres原创 2010-06-30 10:44:00 · 4084 阅读 · 0 评论 -
在vs2008 vc++ 中添加mfc中消息处理函数
在vs2008 vc++ 中添加mfc中消息处理函数2009-07-24 14:58初学vc++,想在vs2008 c++中添加一个按钮需要添加消息处理函数,可是不像6.0,右键添加的选项里只有变量和函数,没有消息处理函数,找了一圈还是在msdn里,具体步骤如下:1.在类视图中,右键需要添加处理函数的类,选择属性。 2.在”属性“窗口中,单击“消息”按钮。 3.在消息列表框中,选择需要添加的消原创 2010-05-21 13:21:00 · 7993 阅读 · 1 评论 -
CppUnit编译in vs2008
不知道为什么chinaunix的博客又不能进去了,只好再记录在这里。csdn不好的地方就是不能上附件。而chinaunix的可以。CppUnit编译in vs2008CppUnit在vs2008里是可以完全编译的了,不过我也是试了几次才行的。先下个最新版cppunit-1.12.1.tar.gz 解压缩,进入cppunit-1.12.1/src目录,就是源代码所在,打开CppUnitLibraries.dsw工程,是用vc6.0写的,转换到CppUnitLibraries.sln ok,接着只需要修改一点点原创 2010-09-01 14:57:00 · 2743 阅读 · 2 评论 -
木木的常用软件点评(2)------VC程序员常用工具篇
http://blog.youkuaiyun.com/liquanhai/article/details/7215045木木的常用软件点评(2)------VC程序员常用工具篇觉得不错。收藏以后研究一下。这位博主的文章也可以多看看。转载 2012-03-09 09:36:37 · 868 阅读 · 0 评论 -
Visual C++ 5.0中的多线程编程技术
Visual C++ 5.0中的多线程编程技术 潘爱民 一、引言 Windows系统平台经历了从16位到32位的转变后,系统运行方式和 任务管理方式有了很大的变化,在Windows 95和Windows NT中,每 个Win32程序在独立的进程空间上运行,32位地址空间使我们从16 位段式结构的64K段限制中摆脱出来,逻辑上达到了4G的线性地址转载 2012-03-13 16:12:56 · 1048 阅读 · 0 评论 -
什么是pdb,idb文件,.clw文件、.ncb文件和.aps文件
什么是pdb,idb文件,.clw文件、.ncb文件和.aps文件LINK uses a PDB to hold debugging information for the .EXE file or .DLL file. The program原创 2012-03-15 22:01:10 · 8036 阅读 · 0 评论