C/C++
文章平均质量分 91
Awey_001
这个作者很懒,什么都没留下…
展开
-
无法显示进程。没有正确安装调试器。请运行安装程序安装或修复调试器。
这是转载来的解决方法:1、在命令行中尝试重新注册mscordbi.dll(regsvr32 mscordbi.dll)文件,该文件位于(C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322请找到你本机的这个对应的目录)。2、在命令行中尝试重新注册oleaut32.dll(regsvr32 oleaut32.dll)。---这部在本机用时没找到该dll转载 2013-05-04 09:15:39 · 1286 阅读 · 0 评论 -
提升程序的特权(AdjustTokenPrivileges)
<br />首先列出需要的函数<br />1.OpenProcessToken<br />2.AdjustTokenPrivileges<br />3. LookupPrivilegeValue<br />--------------------------------------------------------------<br />首先需要获取进程的令牌句柄<br />OpenProcessToken的原型.<br />BOOL WINAPI OpenProcessToken(<br /> __i转载 2010-12-23 16:41:00 · 1668 阅读 · 1 评论 -
如何在VC中显示动态的GIF
<br /><br />下载本文示例源代码<br /><br /><br /><br /><br />如果是使用VB,也许这个话题是多余的,因为VB有一个图象控件可以非常容易地实现各种格式的图象显示功能,然而对于VC却没有一个象样的控件可以达到这种效果,怎么办?经过一段日子的研究,发现只需要实现两步工作,就可以在VC中实现如同VB中一样的gif动态效果。<br />本文将介绍的两部分是IPicture接口的使用和gif的储存格式,好象一听到储存格式,读者就不想再看下去了!其实不然,这里只须用到其最基本的一转载 2010-12-23 16:39:00 · 1197 阅读 · 0 评论 -
如何编写 INF 文件
<br />INF文件全称Information File文件,是Winodws操作系统下用来描述设备或文件等数据信息的文件。INF文件是由标准的ASCII码组成,您可以用任何一款文字编辑器查看修改其中的内容。一般我们总是认为INF文件是系统设备的驱动程序,其实这是错误的认识,Windows之所以在安装某些硬件的驱动时提示需要INF文件是因为INF文件为该设备提供了一个全面描述硬件参数和相应驱动文件(DLL文件)的信息。就好比我们看着说明书安装电脑硬件一样,我们就是Windows系统,说明书就是INF文件。转载 2010-12-23 16:37:00 · 861 阅读 · 0 评论 -
如何编写 INF 文件
<br />INF文件全称Information File文件,是Winodws操作系统下用来描述设备或文件等数据信息的文件。INF文件是由标准的ASCII码组成,您可以用任何一款文字编辑器查看修改其中的内容。一般我们总是认为INF文件是系统设备的驱动程序,其实这是错误的认识,Windows之所以在安装某些硬件的驱动时提示需要INF文件是因为INF文件为该设备提供了一个全面描述硬件参数和相应驱动文件(DLL文件)的信息。就好比我们看着说明书安装电脑硬件一样,我们就是Windows系统,说明书就是INF文件。转载 2010-12-23 16:37:00 · 1206 阅读 · 0 评论 -
使用Dll中的类
<br />1. 在多种语言之间使用dll的主要方法是定义函数和过程接口,一方提供实现,一方提供声明。各语言都能在dll中查到符合声明的实现,条件是参数具有同样规范,包括参数类型相容,数目相同,位置相同,压栈方式相同。返回值类型不在考虑当中,实际返回类型由使用模块中的声明决定。<br /><br />2. 除了通过函数和过程接口,还可以在dll中export类,这样可以直接从dll中引入类。这只在VC中才行,但要求产生dll和使用dll时使用的是同一版本的VC。例如:<br />// dll.h 文件<转载 2010-12-23 16:35:00 · 2212 阅读 · 0 评论 -
如何hook只知道地址的0x00******的函数
如果要hook游戏中的函数我是不是只要修改 pfMessageBoxA = GetProcAddress( hModule, "MessageBoxA" );改为pfMessageBoxA=0x00******(游戏中该函数的地址) 网络上的程序如下dll//---------------------------------------------------------------------------#include #include #pragma argsusedHHOOK g_hHook;HI转载 2010-12-23 16:30:00 · 988 阅读 · 0 评论 -
动态分配二维数组
<br /><br />下面三种定义形式怎么理解?怎么动态分配空间?<br />(1)、int **Ptr;<br />(2)、int *Ptr[ 5 ]; 我更喜欢写成 int* Prt[5];<br />(3)、int ( *Ptr )[ 5 ];<br />此文引自网上,出处不详,但是觉得非常好。略改了一点。<br />多维数组一向很难,一般都采用一维数组,但是一旦要用到还真是头疼。<br />闲话少说,这里我就以三个二维数组的比较来展开讨论:<br /> (1)、int **Ptr;<br转载 2010-12-23 16:16:00 · 837 阅读 · 0 评论 -
步步学ACTIVEX网页控件开发C++(2)
<br />为ActiveX控件创建网页<br /> 光完成了ActiveX控件还不行,因为ActiveX控件无法单独运行,所以我们还需要为ActiveX控件创建相应的测试页面。如果想为我们的ActiveX控件创建一个默认的测试页面,最佳的工具就是Microsoft ActiveX Control Pad。这是一个免费的工具,我们可以从微软的网站上下载得到。<br /> 我们需要下载ActiveX Control Pad并将它安装在我们的开发机器上。同时为了简化测试工作,我们还需要在同一台机器上安装微软转载 2010-12-23 16:08:00 · 1739 阅读 · 0 评论 -
Win32 API多线程编程例程
<br />Win32 API多线程编程例程<br />例程1 MultiThread1<br />建立一个基于对话框的工程MultiThread1,在对话框IDD_MULTITHREAD1_DIALOG中加入两个按钮和一个编辑框,两个按钮的ID分别是IDC_START,IDC_STOP ,标题分别为“启动”,“停止”,IDC_STOP的属性选中Disabled;编辑框的ID为IDC_TIME ,属性选中Read-only;<br /> <br />在MultiThread1Dlg.h文件中添加线程函数转载 2010-12-23 15:54:00 · 2475 阅读 · 0 评论 -
VS2005程序发布
习惯了VC6,突然改用VS2005,发现连发布都成问题了。自己的写程序,在自己机上跑的好好的,提交给别人,反馈回来说跑不起来,提示: 程序配置错误,重新安装可能解决该问题! 郁闷!上网找方法。介绍的文章很多,结果一一测试都不行,问题依然存在。还有一同事牛人,帮忙看了一下,三下二除一解决了。记录下来供大家参考: VS2005使用Manifest来管理链接的Dll,所以在程序编译时,需要选择程序是集成Manifest还是生成独立的Mainfest文件。设置入口如下(默认集成Manife转载 2010-12-23 15:53:00 · 783 阅读 · 0 评论 -
IE8正式版引发VS2005和VS2008添加变量向导出错的解决方案
<br />当中vs 2005或者vs 2008编写程序使用向导添加成员变量是会出现如下错误:路径指向添加变量向导的网页,如下:file:///C:/Program%20Files/Microsoft%20Visual%20Studio%209.0/VC/VCWizards/CodeWiz/MFC/Variable/HTML/2052/default.htm即:C:/Program Files/Microsoft Visual Studio 9.0/VC/VCWizards/CodeWiz/MFC/Vari转载 2010-12-23 15:25:00 · 1222 阅读 · 0 评论 -
图片按钮的实现
<br />原文:http://topic.csdn.net/u/20081030/16/7031594d-c526-4b4e-a92b-b1f44f0da442.html转载 2010-12-23 16:43:00 · 668 阅读 · 0 评论 -
位操作简介, 介绍c/c++的位运算
<br />位简介 <br /><br />位,它是什么?你可能会问。 <br /><br />简单来说,位就是1和0,在电脑中做的每一件事都是由它们组成的。电脑中所有的数据使用的是位。一个字节由8个位组成;一个字由两个字节组成,即16个位;而一个双字由四个字节组成,即32个位。 <br /><br />0 1 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 0 0 0 1转载 2010-12-23 16:45:00 · 689 阅读 · 0 评论 -
c#颜色和名称对照表
Color.AliceBlue 240,248,255Color.LightSalmon 255,160,122Color.AntiqueWhite 250,235,215Color.LightSeaGreen 32,178,170Color.Aqua 0,255,255Color.LightSkyBlue 135,206,250Color.Aquamarine 127,255,212Color.LightSlateGray 119,136,153Color.Azure 240,255,255Color.L转载 2010-12-23 16:48:00 · 859 阅读 · 0 评论 -
CListCtrl失去交点选中项仍高亮显示
创建时加入m_listCtrl.ModifyStyle(0, LVS_SHOWSELALWAYS);风格原创 2012-05-04 08:37:49 · 1085 阅读 · 0 评论 -
Windows服务之启动、停止、暂停、继续
SC_HANDLE scm,sHandle; SERVICE_STATUS ServiceStatus; scm=OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS); if (scm!=NULL) { //启动service sHandle=OpenService(scm原创 2011-11-07 22:34:21 · 3754 阅读 · 0 评论 -
COM1口无法打开
有时候com1口无法打开,终于找到原因,原来是Windows自带的屏幕键盘占用了..原创 2011-10-08 16:14:06 · 5922 阅读 · 0 评论 -
C/C++中的日期和时间 time_t与struct tm转换
<br />摘要:<br />本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。<br /><br />关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)<br /><br /><br />1.概念<br />在C/C++中,对字符串的操作有很多值转载 2011-01-12 11:02:00 · 1116 阅读 · 0 评论 -
C++中L和_T()之区别
字符串前面加L表示该字符串是Unicode字符串。<br />_T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变。因此,Visual C++里边定义字符串的时候,用_T来保证兼容性。VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。以下是别人的总结:一、在字符串前加一个L作用: <br /> 如 L"我的字符串" 表示将ANSI字符串转换成unicode的转载 2011-01-12 11:45:00 · 17743 阅读 · 3 评论 -
在共享DLL中使用MFC 和在静态库中使用MFC
<br />使用VS2008,在项目属性中有一项MFC的使用,有三种设置:<br /> 1.使用标准Windows库<br /> 2.在共享DLL中使用MFC<br /> 3.在静态库中使用MFC <br /> 第一种顾名思义。第二种指的是打包时一些MFC的DLL的内容没有被包含在EXE文件中,所以EXE文件较小,但是运行时要求系统中要有相关的DLL文件。第三种是将DLL中的相关代码写进EXE文件中,文件较大,但是可以在没有相关DLL的机器上运行。<br /> 同时,如果程序本来是第二种转载 2010-12-23 16:58:00 · 829 阅读 · 0 评论 -
在windows下如何用c++编写守护进程
<br /><br />#include <iostream><br />#include <windows.h> <br />#include <stdio.h> <br />#include <tchar.h><br />using namespace std;<br />int _tmain(int argc, TCHAR *argv[]) <br />{ <br />STARTUPINFO si;<br /><br />PROCESS_INFORMATION pi; //进程信息: <br /><b转载 2010-12-23 16:57:00 · 1912 阅读 · 0 评论 -
在Dll中创建对话框并调用
<br /><br />下载本文示例代码<br /><br /> 1、第一步创建一“MFC AppWizard (dll)”工程,接下来选择“Regular Dll using shared MFC DLL”,点击“Finish”。<br /><br /> 2、添加一对话框资源到工程中,从菜单中选择Insert->Resource,添加一“Dialog”<br />选择“New”,至此对话框已添加到DLL工程中。<br /><br /> 3、为对话框添加一新类,如:CTest,基类为CDialog。<br转载 2010-12-23 16:57:00 · 811 阅读 · 0 评论 -
有关在IE中使用ActiveX控件时的安全提示问题
<br />/**************** <br />// 在ActiveX的类声明文件XXXCtrl.h的头部中添加如下代码 <br />#include <objsafe.h> <br /><br />// 在ActiveX的类声明文件C..Ctrl.h的类声明内部添加如下代码 <br />// 接口映射 <br /> DECLARE_INTERFACE_MAP() <br /> BEGIN_INTERFACE_PART(ObjSafe, IObje转载 2010-12-23 16:55:00 · 1076 阅读 · 0 评论 -
一个简单的全局HOOK(C++)
<br /><br />1>HOOK头文件(Hook.h)<br />#pragma once<br />//#define WM_SENDFILES WM_USER + 1<br />#ifdef Hook_Dll_API <br />#else<br />#define Hook_Dll_API _declspec(dllimport)<br />#endif<br />#include<windows.h><br />Hook_Dll_API void SetHook(HWND g_hWnd);<br转载 2010-12-23 16:53:00 · 3768 阅读 · 0 评论 -
使用STL的hash_map要点
<br />使用了很久Visual Stdio 2003了,只知道MFC升级到了7.0,ATL也升级到了7.0,对于这两个经典的类库做了一些研究,但一直没有注意C++标准库的变化。<br /><br /> 今天尝试的使用了stdext::hash_map这个库,果然不错。下面写下一些心得。<br /> hash_map类在头文件hash_map中,和所有其它的C++标准库一样,头文件没有扩展名。如下声明:<br /> #include <hash_map><br />转载 2010-12-23 16:52:00 · 740 阅读 · 0 评论 -
"_T":找不到标识符
<br />添加 #include <tchar.h> 即可原创 2010-12-23 15:22:00 · 3457 阅读 · 0 评论 -
vc/mfc 问题集锦
<br />http://biaoxiangye.blog.163.com/转载 2010-12-23 15:15:00 · 503 阅读 · 0 评论 -
_variant_t ,_bstr_t 与 CString 类有什么区别
<br /><br />int i = 100;<br />long l = 2001;<br />float f=300.2;<br />double d=12345.119;<br />char username[]="程佩君";<br />char temp[200];<br />char *buf;<br />CString str;<br />_variant_t v1;<br />_bstr_t v2;<br /><br />一、其它数据类型转换为字符串短整型(int)<br />itoa(i,转载 2010-12-23 15:12:00 · 535 阅读 · 0 评论 -
C++和C#编写调用COM组件
<br />下载源代码<br />摘要:现在COM组件的使用越来越广泛,在各个程序中调用COM组件我想大家都遇到过,这篇文章就是关于COM组件的编写和调用的,主要包含了使用VC6.0编写和调用COM组件,VS2005中使用C#编写和调用COM组件,以及在VC6.0和VS2005之间互相调用COM组件。<br /><br />关键字:VC6.0编写调用COM VS2005中C#编写和调用COM VC6.0和VS2005之间互相调用COM<br /><br />正文:<br /><br />前一阵在工作中做项目转载 2010-12-23 15:18:00 · 560 阅读 · 0 评论 -
删除文件夹(非空目录)
<br />bool DeleteDirectory(char* sDirName) <br />{ <br />CFileFind tempFind; <br />char sTempFileFind[200] ; <br />sprintf(sTempFileFind,"%s//*.*",sDirName); <br />BOOL IsFinded = tempFind.FindFile(sTempFileFind); <br />while (IsFinded) <br />{ <br转载 2010-12-23 15:11:00 · 723 阅读 · 0 评论 -
CreateRemoteThread创建远程线程
<br />要实现线程的远程注入必须使用Windows提供的CreateRemoteThread函数来创建一个远程线程<br />该函数的原型如下:<br />HANDLE CreateRemoteThread(<br /> HANDLE hProcess,<br /> LPSECURITY_ATTRIBUTES lpThreadAttributes,<br /> SIZE_T dwStackSize,<br /> LPTHREAD_START_ROUTINE lpStart转载 2010-12-23 15:05:00 · 2031 阅读 · 0 评论 -
调用约定
<br />在C语言中,假设我们有这样的一个函数:<br /> int function(int a,int b)<br /> 调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传递参数,传递参数的工作必须由函数调用者和函数本身来协调。为此,计算机提供了一种被称为栈的转载 2010-12-23 14:35:00 · 592 阅读 · 0 评论 -
控制台程序实现Timer
#include #include #include DWORD WINAPI Thread_Timer(PVOID pvoid);void main(){ DWORD dwThreadId; printf("use timer in workthread of console application /n"); HANDLE hThread = CreateThread(NULL,0,Thread_Timer,0,0,&dwThreadId); DWORD dwwait=WaitForSingleObje转载 2010-10-19 16:18:00 · 827 阅读 · 0 评论 -
子类化:增强Edit控件为日期输入控件
懒了点,相信下面这个连接一直可以访问吧http://www.vckbase.com/document/viewdoc/?id=1025转载 2010-07-22 11:38:00 · 517 阅读 · 0 评论 -
安装完Office 2007打开提示:The setup controller has encountered a problem during instll.Please review the log files for further inf 的解决方
貌似安装完vs2008之后会出现这个问题Office 2007打开提示:The setup controller has encountered a problem during instll.Please review the log files for further infThe setup controller has encountered a problem during instll.Please review the log files for further information on转载 2010-07-22 11:32:00 · 2907 阅读 · 1 评论 -
字符串转换_BSTR/LPSTR/LPWSTR/Char
一、BSTR、LPSTR和LPWSTR在Visual C++.NET的所有编程方式中,我们常常要用到这样的一些基本字符串类型,如BSTR、LPSTR和LPWSTR等。之所以出现类似上述的这些数据类型,是因为不同编程语言之间的数据交换以及对ANSI、Unicode和多字节字符集(MBCS)的支持。 那么什么是BSTR、LPSTR以及LPWSTR呢? BSTR(Basic STRing,Basic字符串)是一个OLECHAR*类型的Unicode字符串。它被描述成一个与自动化相兼容的类型。由于操作系统提供相转载 2010-07-22 11:42:00 · 776 阅读 · 0 评论 -
Hook基础 C++篇
一、基本概念: 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。 钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可转载 2010-07-22 22:24:00 · 807 阅读 · 0 评论 -
cmd控制台程序窗口隐藏
大 家都知道,当编写一个win32 console application时,当运行此类程序的时候默认情况下会有一个类似dos窗口的console窗口,但是有的时候我们只想在程序中运行一段功能代 码,不希望显示这个console窗口,让代码执行完毕之后程序自动退出.下面就介绍一下,如何隐藏win32 console application的console窗口 因为此种方法是通过设置编译器的链接开关来实现,所以让我们来看一下编译器的链接开关选项(也就是linker选项).首先我们来看一下linker的 /su转载 2010-07-22 12:07:00 · 894 阅读 · 0 评论 -
switch...case语句的深入学习
这是一段C代码: /* $begin switch-c */ int switch_eg(int x) { int result = x; switch (x) { case 100: result *= 13; break; case 102: result += 10; /* Fall through */ case 10转载 2010-04-12 22:24:00 · 956 阅读 · 0 评论