- 博客(29)
- 收藏
- 关注
转载 wprintf以及std::wcout输出中文的问题
wprintf以及std::wcout输出中文的问直接上示例:// C#include #include int main( void ){ setlocale( LC_ALL, "chs" ); wprintf( L"你好 ); return 0;}而c++#include #include using namespace std;int ma
2014-05-05 19:09:49
1435
原创 Win32 api编程模板和 加速键编程例子
A 加速键编写过程1)在资源中刚添加 Accelerator, 然后再资源编辑器中编辑 格式:加速键ID ACCELERATORSBEGIN 键名, 命令ID, [,类型] [,选项] ……END// 用Ctrl+F1键控制 file openIDC_PEDUMP ACCELERATORS BEGIN VK_F1, IDM_FILE
2014-03-13 15:51:18
612
转载 Windows消息分类
Windows应用程序都是基于消息驱动的,消息一般分为标准Windows消息、控件通知消息和命令消息三大类。1. 标准Windows消息 标准Windows消息,除WM_COMMAND消息外,所有以WM为前缀的消息都是标准Windows消息。标准Windows消息只能由窗口类和视图类进行处理。标准Windows消息都有黙认的处理函数,这些函数在CWnd类中过行了预定义,处理函数均
2014-03-13 09:48:49
662
原创 cocos2dx -- 粒子编辑器 cocos2d-particle-editor 和 在程序中加载自己的粒子(1)
1 下载ParticleEditor粒子编辑器,编辑好自己的粒子,save as Test.plist, TexturePaht 项设置为自己想要的粒子照片 Test.png2 把Test.plist 和 Test.png 拷贝动 helloWorld工程下的Resources目录下测试3 在按钮中添加如下函数(我在按钮中实现)void HelloWorld::menu
2013-10-31 14:22:50
1377
原创 安装SDK2003并且编译Ghost
下载到同一个目录下,如:D:\VC6.0\SDK20031、进入命令行方式,进入D:\VC6.0\SDK20032、输入PSDK-FULL.bat D:\SDK2003第2步是将文件再解压到D:\SDK2003目录下,路径之间不能有空格,目录不存在的情况会自动创建。3、运行D:\SDK2003中的setup.exe来安装SDK。4、记得点 Windows Install SDK
2013-09-22 22:19:30
887
原创 C++创建一个类(1.只能在堆上创建; 2 只能在栈上创建; 3 不能被继承(堆上和栈上都可以创建))
/*1 只能在堆上创建对象(不能被继承,不能再栈上创建对象) 将类的构造函数声明为private,但是为了 创建该类的对象,则必须提供创建对象和释放对象的接口, 用static函数成员实现。 #include using namespace std; class HeapOnly { public: static HeapOnly *Create
2013-09-05 12:15:34
935
原创 dll动态链接库(5)---进程注入
BOOL Inject(LPCTSTR szModule, DWORD dwID) //dwID为进程id{ HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_CREATE_THREAD | PROCESS_VM_OPERATION | PROCESS_VM_WRITE, FALSE, dwID); if (
2013-09-02 20:06:54
982
原创 dll动态链接库(4)---MFC规则DLL
1、MFC规则DLL特点:●DLL内部可以使用MFC类库;●可以被其他所有支持DLL技术的语言所调用。2、MFC规则DLL的入口点函数:默认情况下DLL的入口点函数都是DllMain,MFC规则DLL也不例外,但是因为是支持MFC的,所以在MFC规则DLL中,DllMain函数已经被MFC所封装,所以在你的工程中是看不到DllMain函数的,就好像在MFC对话框工程中你找不
2013-09-02 20:01:16
706
原创 dll动态链接库(3)---函数调用方式
1、隐式链接:隐式链接的特点是由编译器完成对DLL的加载和程序结束时对DLL的卸载工作,如果程序结束时如果还有其他应用程序使用该DLL,那么系统会使DLL的使用计数减1,当DLL的使用计数降为0时,会将DLL从内存中删除。★优缺点:隐式链接DLL的方法简单实用,但缺少灵活性。■使用方法:使用隐式链接DLL开发时,首先,需要将DLL的引入库文件(*.lib--编译生成DLL时,会一起生成
2013-09-02 19:57:50
820
原创 dll动态链接库(2)---入口函数DllMain
1、动态库导出函数的查看:使用Vc++自带的Depends工具进行查看,但是只能看到函数的名字,具体的函数参数及返回值看不到,所以要把动态库导出函数声明的头文件(.h文件)打包给> 。2、新建DLL工程:大家在新建工程向导过程中,不要选择 “使用MFC” 选项,如果选上的话,会把DLL变为MFC规则DLL,就是我们上节课讲的第二种动态链接库。3、DLL程序入口点函数
2013-09-02 19:54:49
4180
原创 dll动态链接库(1)
1、库类型动态链接库:dll类型,静态链接库:lib类型;2、动态库简介:动态链接库可以看成是一种仓库,一种资源的集合:函数,变量,类,资源……都可以由动态链接库来导出。3、动态库与静态库的区别:a、静态库中的代码会直接塞到EXE中,而动态库则可以被EXE动态的加载或卸载;b、静态库中不能再包含其他的动态或静态库,而动态库则可以。4、实现方式
2013-09-02 19:51:50
988
原创 进程快照(获取进程名称、路径、ID、提权)
///////////////////////////////////////////////////////////////// 02ProcessList.cpp文件#include "stdafx.h"#include #include // 声明快照函数的头文件// GetModuleFileNameEx 函数少不了下面两句#include #pragma comme
2013-09-01 16:32:57
1509
原创 静态库的编写
1 lib文件的编写#include "stdafx.h"extern "C" int add(int a, int b);int add(int a, int b){return (a+b);}2 测试程序#include "stdafx.h"#pragma comment(lib, "..//debug//SLib.lib
2013-09-01 11:52:17
553
原创 临界区 事件 互斥锁 信号量 编程总结
// 1 临界区#include #include #include BOOL g_bContinue = TRUE;int g_nCount1 = 0;int g_nCount2 = 0;CRITICAL_SECTION g_cs; // 对存在同步问题的代码段使用临界区对象UINT __stdcall ThreadFunc(LPVOID);int main(int a
2013-08-17 18:13:39
652
1
转载 BeginPaint&&GetDc
BeginPaint&&GetDc(转)这是个windows编程问题。第一种情况显示出来的字很正常。case WM_PAINT: gdc = BeginPaint (hwnd, &ps); TextOut (gdc, 0, 0, s, strlen (s)); EndPaint (hwnd, &ps);
2013-08-10 11:59:21
457
原创 dll 编程的几种方法总结
方法一1 (vc6.0)创建一个空的动态链接库工程,在工程中添加dll_1.cpp文件 在dll_1.cpp文件中输入如下代码,让后编译,在debug目录 下回生成dll_1.dll和dll_1.lib文件#define EXPORT __declspec(dllexport)EXPORT int add(int a, int b){ return (a+b);}
2013-08-06 15:54:06
834
1
原创 MFC添加鼠标右键菜单消息
1 添加一个子菜单资源IDR_MENU12 添加 WM_CONTEXTMENU 消息,在消息相应函数中添加如下:void CwinMsgDlg::OnContextMenu(CWnd* /*pWnd*/, CPoint point){ CMenu menu; VERIFY(menu.LoadMenu(IDR_MENU1)); //IDR_MENU1为菜单ID CMen
2013-07-11 00:43:44
1486
转载 C++拷贝构造函数(深拷贝,浅拷贝)
C++拷贝构造函数(深拷贝,浅拷贝)对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 #include using namespace std;class CExample {private: int a;public
2013-07-05 10:09:59
539
1
转载 GnuWin32提示diff不是内部或者外部命令
重现安装步骤:1、下载软件:只用了diffutils-2.8.7-1.exe以及patch-2.5.9-7-setup.exe。大家可以使用别的版本。2、安装软件:这里安装到 D:\Program Files (x86)\GnuWin323、设置host:进入到C:\Windows\System32\drivers\etc,添加:192.168.1.100svnhost
2013-06-29 16:49:10
1022
原创 我对C++函数重载的一点小认识
// 正确:参数类型不同,返回值类型相同class A{public: int fun(void) { } int fun(int) { }};/*// 错误:参数类型不能相等class B{public: void fun(int) { } int fun(int) { }};*/// 正确:返回值类型可以不同,参数类型必须不同cla
2013-06-27 15:35:11
448
转载 static_cast 的部分用法
#include #include #include #include #include #include #include using namespace std;class CBaseX{public: int x; CBaseX() { x = 10; } void foo() {
2013-06-27 12:38:13
776
原创 map和piair的几种用法
#include #include #include #include #include #include using namespace std;int main(){ pair sipr; string str("hello"); int var = 1; vector > pvec; /* // 方法1 sipr = make_pair(str, v
2013-06-26 22:25:52
663
转载 C++标准库find简单用法
#include #include #include //注意要包含该头文件using namespace std;//例一,在数组中查找int main(){ int nums[] = { 3, 1, 4, 1, 5, 9 }; int num_to_find = 5; int start = 0; int end = 6; int* result = find( nums
2013-06-26 20:41:49
819
原创 istringstream对象可以绑定一行字符串,然后以空格为分隔符把改行分隔开来
#include #include #include #include using namespace std;void TestIstringStream(void){ string word, line; getline(cin, line); istringstream isstream(line); while (isstream >> word) { c
2013-06-26 15:40:39
635
转载 C语言宏定义时#(井号)和##(双井号)的用法
#在英语里面叫做 pound在C语言的宏定义中,一个#表示字符串化;两个#代表concatenate在宏定义中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),即无论后面的宏变量是字符串还是常量,都当成字符来处理。而## 被称为连接符(concatenator),用来将两个Token连接为一个Token。注意这里连接的对象是Token就行
2013-06-25 17:35:24
828
转载 VS2008如何将变量和控件相关联
使用VS2008开发MFC,比如说想将一个变量m_num关联到ID为IDD_EDIT1的edit control控件上。(1)首先找到资源视图(视图——资源视图),打开IDD_EDIT1所在的Dialog。(2)然后在此控件上右击,弹出一个菜单,点击选项“添加变量”,弹出一个对话框:(3)最后根据你的需要设置此变量,点击按钮“完成”即可。(4)查看代码,可发
2013-06-17 18:07:03
2699
转载 namespace的用法
C++中采用的是单一的全局变量命名空间。在这单一的空间中,如果有两个变量或函数的名字完全相同,就会出现冲突。当然,你也可以使用不同的名字,但有时我们并不知道另一个变量也使用完全相同的名字;有时为了程序的方便,必需使用同一名字。比如你定义了一个变量string user_name, 有可能在你调用的某个库文件或另外的程序代码中也定义了相同名字的变量,这就会出现冲突。命名空间就是为解决C++中的变
2013-06-17 11:48:36
609
原创 vs2008链接mysql数据库
1 在vs2008下创建一个win32控制台项目2在stdafx.h头文件添加如下包含#include "winsock.h" #include "mysql.h" #pragma comment(lib,"libmySQL.lib");3把mysql安装目录下的 lib\opt 下的 libmySQL.dll、libmySQL.lib和 include目录下的my_a
2013-06-17 09:46:23
670
转载 C/C++语言中extern的用法
在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。1. extern修饰变量的声明。举例来说,如果文件a.c需要引用b.c中变量int v,就可以在a.c中声明extern int v,然后就可以引用变量v。这里需要注意的是,被引用的变量v的链接属性必须是外链接(external)的,也就是说a.c要引用到v,不只是取决于在a
2013-06-17 09:44:46
511
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人