
VC
文章平均质量分 61
byxdaz
十年以上C/VC++开发经验。熟悉网络编程、数据库编程、数字图像处理与识别,熟悉软件工程和项目管理,熟悉linux C/C++开发。
展开
-
ShellExecuteEx使用方法与常用实例
一、ShellExecuteEx使用 ShellExecuteEx 打开文件或执行程序可以使用 ShellExecuteEx 打开文件或执行程序,与 ShellExecute 比较,ShellExecuteEx 提供了更多的控制。fMask 用于指定结构成员的内容和有效性,可为下列值的组合:SEE_MASK_DEFAULT (0)默认SEE_MASK_CLASSNAME 使用 lpClass 参数,如果 SEE_MASK_CLASSKEY 也有效,则用后者。原创 2023-04-22 00:25:33 · 3651 阅读 · 0 评论 -
DebugView工具使用方法
DebugView是一个系统调试信息输出的捕获工具。在程序中使用如下函数: 1> OutputDebugString 或者在MFC中使用TRACE 2> 内核模式中使用Out_Debug_String,DbgPrint ,_Debug_Printf_Service编译程序为DEBUG版本,然后运行程序(不是在vs 中运行,是单独运行),打开debugview 就可以在其中看到输出的调试信息。一、本地调试使用DebugView时候可以选择捕获程序调试信息为用户程序或者内核程序。..原创 2021-02-21 11:00:03 · 4758 阅读 · 0 评论 -
好多编程文章
中文http://www.vccode.com http://www.vckbase.com http://soft.yesky.com/SoftChannel/72342371928375296/index.shtml http://www.youkuaiyun.com/develop/ http://www.comprg.com.cn/titl_jpwz1.htm http://www.pconline.原创 2005-10-12 10:25:00 · 7420 阅读 · 6 评论 -
在一个程序中打开另一个应用程序
如何在一个程序中打开另一个应用程序 document.title="如何在一个程序中打开另一个应用程序 - "+document.title常用以下这几个函数:spawnl()system()exec()shellexecute()示例: spawnl(P_OVERLAY,"c://command.com","command.com","/calc.exe",NULL); s原创 2006-02-07 10:28:00 · 4988 阅读 · 1 评论 -
VC中利用多线程技术实现线程之间的通信
当前流行的Windows操作系统能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程,线程提供了多任务处理的能力。用进程和线程的观点来研究软件是当今普遍采用的方法,进程和线程的概念的出现,对提高软件的并行性有着重要的意义。现在的大型应用软件无一不是多线程多任务处理,单线程的软件是不可想象的。因此掌握多线程多任务设计方法对每个程序员都是必需转载 2006-03-16 13:44:00 · 2490 阅读 · 0 评论 -
用Visual C++实现文件间批量转换的功能
用Visual C++实现文件间批量转换的功能一、前言 本人在开发惠普色谱工作站增强软件的过程中,实现了把指定目录下的色谱数据文件全部转换成纯文本文件的功能。下面,通过用一个具体的例子来说明此功能的实现方法。 全部代码用Visual C++6.0在Windows95/98/2000下编译通过。 二、实例 首先用MFC AppWizard生成一个SDI风格的应用程序test,生成过程中全转载 2006-03-29 16:01:00 · 2029 阅读 · 0 评论 -
windows系统错误代码大全
windows系统错误代码大全0000 操作已成功完成。0001 错误的函数。0002 系统找不到指定的文件。0003 系统找不到指定的路径。0004 系统无法打开文件。0005 拒绝访问。0006 句柄无效。0007 存储区控制块已损坏。0008 可用的存储区不足,无法执行该命令。0009 存储区控制块地址无效。0010 环境错误。0011 试图使用不正确的格式加载程序。00原创 2008-12-18 15:56:00 · 3461 阅读 · 0 评论 -
获取光标位置方法研究
获取光标位置方法研究 johnchen 获取光标位置可以使用GetCaretPos函数获取位置,也可以通过GetGUIThreadInfo函数获取位置。1、GetCaretPos函数获取光标位置,实现代码: CPoint point; CRect rect; GetWindowRect原创 2009-02-20 10:36:00 · 11462 阅读 · 3 评论 -
递归创建目录、删除目录
递归创建目录、删除目录windows api中没有提供现成的多层创建目录、删除目录。这里修改了部分代码实现递归创建目录、删除目录。 //删除目录BOOL DeleteDirectory(char* sDirName) { CFileFind tempFind; char sTempFileFind[200] ; sprintf(sTempFil原创 2009-04-13 11:11:00 · 3286 阅读 · 0 评论 -
vc6里调用WebService
vc6里调用WebService 1、 安装soapsdk3.0开发包 (http://download.microsoft.com/download/2/e/0/2e068a11-9ef7-45f5-820f-89573d7c4939/soapsdk.exe)2、 写代码// WSWrapper.h: interface for the WSWrapper clas原创 2009-05-26 15:31:00 · 4787 阅读 · 1 评论 -
进程间通讯实现方法
进程间通讯实现方法 进程通常被定义为一个正在运行的程序的实例,它由两个部分组成: 一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方 另一个是地址空间,它包含所有的可执行模块或DLL模块的代码和数据。它还包含动态分配的空间。如线程堆栈和堆分配空间。每个进程被赋予它自己的虚拟地址空间,当进程中的一个线程正在运行时,该线程可以访问原创 2009-07-19 12:25:00 · 4075 阅读 · 2 评论 -
DLL导出函数和类
DLL导出数据 函数 类原创 2010-06-10 15:25:00 · 13809 阅读 · 1 评论 -
在VC中使用MATLAB C/C++函数库
$$$$$$$$$$$$在VC中使用MATLAB C/C++函数库$$$$$$$$$$$$$$MATLAB广泛应用于线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等领域。因此如果在VC中对MATLAB进行调用将大大减少编程的工作量、保证程序的准确性,并且继承了VC++强大的功能,提高开发效率,本文将介绍了在VC中使用MATLAB函数库的具体步骤:在VC中建立一个项目原创 2005-09-01 15:27:00 · 2618 阅读 · 0 评论 -
WaitForMultipleObject与MsgWaitForMultipleObjects用法
WaitForSingleObject、WaitForMultipleObject、MsgWaitForMultipleObjects、MsgWaitForMultipleObjectsEx使用方法原创 2010-06-01 10:24:00 · 9285 阅读 · 0 评论 -
共享内存实现进程间通讯
进程通常被定义为一个正在运行的程序的实例,它由两个部分组成:一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方。另一个是地址空间,它包含所有的可执行模块或DLL模块的代码和数据。它还包含动态分配的空间。如线程堆栈和堆分配空间。每个进程被赋予它自己的虚拟地址空间,当进程中的一个线程正在运行时,该线程可以访问只属于它的进程的内存。属于其它进程的内存则是隐藏的,并不能原创 2010-03-24 15:56:00 · 3144 阅读 · 0 评论 -
Windows监控文件夹中文件变化
一、Windows提供了几种方式对文件和目录进行监控,包括:FindFirstChangeNotification、ReadDirectoryChangesW、变更日志(Change Journal)等。(1)FindFirstChangeNotification函数,可以监控到目标目录及其子目录中所有文件的变化,但不能监控到具体是哪一个文件发生改变。(2)ReadDirectoryChang...原创 2019-06-01 01:17:15 · 17474 阅读 · 2 评论 -
服务启动一个进程
#include <TLHELP32.H>#include <psapi.h>#include <WtsApi32.h>#include <UserEnv.h>#include <tchar.h>#pragma comment(lib,"psapi.lib")#pragma comment(lib,"WtsApi32.lib...原创 2019-04-10 22:47:11 · 918 阅读 · 0 评论 -
VC对话框child、popup模式之间切换
在WM_CREATE消息事件OnCreate(LPCREATESTRUCT lpCreateStruct)函数中判断窗口模式,进行切换窗口模式。窗口对话框模式,先设置窗口资源属性,style设置成child、border设置成none。窗口child模式,先设置窗口资源属性,style设置成popup、border设置成对话框外框。 1、该类头文件中增加以下属性和方法b...原创 2018-11-12 14:47:21 · 1770 阅读 · 0 评论 -
vc 获取服务列表、开始服务、停止服务
//ServiceInfoCollect.h#pragma once#include <list>//服务状态信息typedef struct tagServiceInfo{ char szDisplayName[MAX_PATH]; //显示名称 char szServiceName[MAX_PATH]; //服务名 char szLoginUser[MA...原创 2018-09-07 12:04:22 · 1397 阅读 · 0 评论 -
VC获取进程的cpu使用率、内存、线程数、句柄数等信息
//ProcessInfoCollect.h//进程信息采集#pragma once//枚举进程typedef BOOL(_stdcall *ENUMPROCESS)( DWORD *pProcessIds, //指向进程ID数组链 DWORD cb, //ID数组的大小,用字节计数 DWORD *pBytesReturned //返回的字...原创 2018-09-07 11:50:43 · 6825 阅读 · 5 评论 -
lib库或dll中使用stl做为接口在模块间传入数据,变量定义重复问题。
1、error LNK2005: "public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> > xxx.obj 中定义出现上面情况,说明多个库中导出了stl的string,导致重复定义。解决方法:第一种:在dll或静态库种不要使用stl中变量作为接口。第二种:在li...原创 2018-09-05 18:06:36 · 1154 阅读 · 0 评论 -
为无LIB的DLL制作LIB函数符号输入库
本文介绍了在VC中针对无LIB时的DLL隐式链接,制作可供VC++使用的LIB函数符号输入库。具体步骤如下: 一、使用VC++的工具DUMPBIN将DLL中的导出函数表导出到一定义(.DEF)文件EXAMPLE: DUMPBIN VideoDeCoder.dll /EXPROTS /OUT:VideoDeCoder.def 二、将导出的.DEF文件整理为一符合.DEF个数的函数导出文件EXAMPL原创 2005-12-20 13:51:00 · 1922 阅读 · 0 评论 -
串口编程
串口编程的方式有两种:一种MSCOMM控件;二种CSerialPort v1.21类. 1、MSCOMM控件实例 参考:http://dev.yesky.com/231/2309731_1.shtml 2、 CSerialPort v1.21类 参考:http://www.naughter.com/serialpo原创 2006-12-15 20:19:00 · 3403 阅读 · 1 评论 -
RS-232-C端口实时监控软件的设计实现
RS-232-C端口实时监控软件的设计实现摘要: 本文介绍了在Microsoft Visual C++ 6.0环境下对RS-232-C串行端口进行编程,以及对后台监控程序所普遍涉及到的无阻塞后台运行、数据的实时接收和处理等问题的解决方法。 一、 引言 在实验室和工业应用中,受信道成本限制,串口常常作为计算机与外部串行设备之间的首选数据传输通道,而且由于串行通信方便易行,许多设备和计算机都可以转载 2006-03-29 15:12:00 · 2728 阅读 · 0 评论 -
VC代码添加防火墙规则
一、VC代码添加防火墙规则(调用netsh命令)BOOL DealExecCmd(CString strCommandLine) { USES_CONVERSION; STARTUPINFO StartInfo; memset(&StartInfo, '\0', sizeof(StartInfo)); StartInfo.cb = sizeof(StartInfo); ...原创 2018-05-20 15:12:06 · 2685 阅读 · 0 评论 -
应用程序无法正常启动0xc000007b解决方法
0xc000007b——应用程序无法正常启动原因如下:1、操作系统system32或SysWOW64中与vc相关dll与vs开发工具中的dll文件不一致。2、缺乏dll。使用depends工具查看程序依赖那些dll。用depends工具查询缺少哪些dll或dll文件冲突。红色:有两种含义。一个是没有找到这个文件,下面会有这个提示Could not find the section that own...原创 2018-05-21 15:47:38 · 49324 阅读 · 2 评论 -
关于一个进程结束另外一个带有NotifyIcon托盘的进程残留图标问题解决方法
进程A用Process 启动进程B,这是B在右下角有托盘图标,然后用Process关闭进程B,但是右下角的图标还在,只有鼠标放上去后才消失。 网上大部分介绍的方法时通过刷新任务栏托盘区,清除异常关闭进程的残留图标。该方法在win10系统上起作用。 现在网上找到另外一种方法:如果进程带有界面,就通过发送WM_CLOSE关闭进程;如果进程不带界面,调用TerminateP...原创 2018-06-15 16:57:01 · 8333 阅读 · 0 评论 -
纯资源动态连接库显示图像
纯资源 DLL 是仅包含资源(如图标、位图、字符串和对话框)的 DLL。使用纯资源 DLL 是在多个程序之间共享同一组资源的好方法。提供其资源被针对多种语言进行本地化的应用程序也是一种好方法若要创建纯资源 DLL,请创建一个新的 Win32 DLL(非 MFC)项目,并将资源添加到此项目。 在“新建项目”对话框中选择“Win32 项目”,并在“Win32 项目向导”中指定 D原创 2007-11-05 12:14:00 · 1742 阅读 · 0 评论 -
VC常用代码集
写日志函数原创 2008-06-19 15:36:00 · 7006 阅读 · 3 评论 -
vc 中配置gtk
在VC++6.0,VC++7.0,VC++8.0下同步配置gtk开发环境,现将配置步骤罗列如下: 1.设置系统变量home,任意目录(注:仅为建议)仅为建议) 2.下载所需环境: http://www.pcpm.ucl.ac.be/~gustin/win32_ports/ 下哪个几个,以什么为准呢?我是全部下载的 有点笨 确实没有办法,不过有几个包必须要下:gettext,glib,pkgco原创 2008-05-05 22:33:00 · 2322 阅读 · 0 评论 -
在项目中显示版本号
#include // winver.lib为对应的库文件,m_sTitle为theApp的一个变量,char m_sTitle[MAX_PATH]; DWORD dwSize,dwHandle; BYTE *byData, *lpFileDes,*lpVers; char sAppName[MAX_PATH];//,sTitle[256]; CString原创 2008-06-27 19:16:00 · 1897 阅读 · 0 评论 -
VC的剪贴板操作
VC的剪贴板操作 1、文本内容的操作2、WMF数据的操作3、位图的操作4、设置使用自定义格式5、感知剪贴板内容的改变6、自动将数据粘贴到另一应用程序窗口一、文本内容的操作下面的代码示范了如何将文本内容复制到剪贴板(Unicode编码的先转化为ASCII):CString source;//文本内容保存在source变量中if( OpenClipboard() ){HGLOBAL clip转载 2009-02-18 17:47:00 · 14588 阅读 · 0 评论 -
VS2008非托管c++访问webservice服务
Visual Studio 2008以及以后版本中,微软停止了非托管C++的直接WebService引用。不过ATL Server代码已经托管到开源网站上,我们可以找到ATL Server的源代码,编译出Sproxy.exe,这个工具可以根据wsdl文件来生成非托管的代理类。这个代理类还需要配合一些头文件才能一起使用,这个相关的头文件都包含在ATL Server 的源代码内。1. 第一步需要使用s转载 2011-11-19 11:26:16 · 7361 阅读 · 2 评论 -
C++、C#写的WebService相互调用
首先感谢永和兄提供C++的WebService服务器端及客户端,并且陪我一起熬夜;然后是火石和我做接口的兄弟,虽然都不知道你叫什么,如果没有你的合作,东西也没那么快完成。一、由于公司运营火石的《西游Q记》,火石采用的是C++作为开发语言,Unix平台,而我们一直使用Windows操作平台,.NET快速开发。我们之间需要数据的通讯,所以需要利用WebService实现跨平台的数据通讯。尽管WebSe转载 2012-01-05 09:51:41 · 3327 阅读 · 0 评论 -
VC服务编程
一、服务编写原理1.1什么是windows的服务程序?可以使用下面的几种方法看到它。打开控制面板,然后是管理工具,里面有一个“服务”,双击后打开;或者是通过输入命令的方式,打开开始菜单,点击运行,输入mmc services.msc(mmc可省略),也可打开。我们会在打开的页面中看到一个大的列表,标题栏上包含有名称、描述、状态、启动类型、登录身份等项。其中在状态一栏中显示为“已启动”的是系原创 2013-02-02 16:51:47 · 13040 阅读 · 4 评论 -
给ActiveX签名
给AcitveX签名有很多种方式,现介绍我所了解的几种: 以下用到的工具请在http://ftp.intron.ac/pub/security/下载authenticode.zip文件 一,使用微软的工具不采用私钥文件 1.制作根证书 makecert -sk "myPK" -ss mySSName -n "CN=公司名称" -r myroot.cer sk-表示主题的密钥容器转载 2013-02-22 16:20:48 · 2409 阅读 · 0 评论 -
VS2008调试Release程序--Dump文件方式
在Windows平台下用C++开发应用程序,最不想见到的情况恐怕就是程序崩溃,而要想解决引起问题的bug,最困难的应该就是调试release版本了。因为release版本来就少了很多调试信息,更何况一般都是发布出去由用户使用,crash的现场很难保留和重现。目前有一些方法可以解决:崩溃地址 + MAP文件;MAP文件;SetUnhandledExceptionFilter + Minidump原创 2014-05-15 10:19:31 · 14849 阅读 · 5 评论 -
VC静态库开发与使用
VC 静态库 对话框资源原创 2016-09-02 15:58:19 · 1811 阅读 · 0 评论 -
Visual C++常用数据类型转换详解
Visual C++常用数据类型转换详解来源: 天极网我们先定义一些常见类型变量借以说明:int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="女侠程佩君";char temp[200];char *buf;CString str;_variant_t v1;_bstr_t v2; 一、其它转载 2006-03-24 13:25:00 · 2084 阅读 · 0 评论 -
VC编写COM连接点事件
VC编写COM连接点事件 COM 中的典型方案是让客户端对象实例化服务器对象,然后调用这些对象。然而,没有一种特殊机制的话,这些服务器对象将很难转向并回调到客户端对象。COM 连接点便提供了这种特殊机制,实现了服务器和客户端之间的双向通信。使用连接点,服务器能够在服务器上原创 2011-07-12 20:14:45 · 10106 阅读 · 1 评论