![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
windows
darkbus111
这个作者很懒,什么都没留下…
展开
-
vs 2005 Unicode 转 ANSI
VS2005默认是Unicode的工程,我可没有这么多时间来研究Unicode和ANSI的转换.得了,先她默认的Unicode改为默认ANSI吧:(1)相应编译宏的设定。如果使用Unicode字符集,需要定义预编译宏UNICODE和_UNICODE两个;而使用ANSI字符集,不需要这个。具体修改方式为:ALT+F7打开工程选项,选择C++栏目,再选择里头的PreProcessor栏目,转载 2012-02-11 16:08:37 · 746 阅读 · 0 评论 -
暂停自己的进程
VOID SuspendProcess(DWORD dwProcessID, BOOL fSuspend){HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, dwProcessID);if (hSnapshot != INVALID_HANDLE_VALUE){THREADENTRY32 te = {原创 2015-12-22 18:04:32 · 444 阅读 · 0 评论 -
CreateThread与_beginthreadex到底有什么区别
本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreadex的本质区别,相信阅读本文后你能轻松的使用多线程并能流畅准确的回答CreateThread与_beginthreadex到底有什么区别,在实际的编程中到底应该使用CreateThread还是_beginthreadex? 使用多线程其实是非常容易的,下面这个程序的主线程会创建了转载 2015-12-16 11:21:36 · 400 阅读 · 0 评论 -
windows C++ 创建快捷方式API, 100% 能运行
/* 函数功能:对指定文件在指定的目录下创建其快捷方式函数参数:lpszFileName 指定文件,为NULL表示当前进程的EXE文件。lpszLnkFileDir 指定目录,不能为NULL。lpszLnkFileName 快捷方式名称,为NULL表示EXE文件名。wHotkey 为0表示不设置快捷键pszDescription 备注iShow原创 2015-12-16 10:43:31 · 4241 阅读 · 3 评论 -
创建DLL文件 以及 动态加载和静态加载 以及两者之间的区别
一,首先编写DLL (建win32空DLL工程)头文件.h extern "C" _declspec(dllexport) int Max(int a, int b); //extern "C"解决函数名由于不同编译器造成的名字匹配问题,通常c++编译器编译时会对函数进行改名,而c编译器不会extern "C" _declspec(dllexport) int Mi转载 2015-12-11 18:25:40 · 2395 阅读 · 0 评论 -
Windows进程共享内核对象的3种方法
转载的:http://www.51testing.com/html/51/n-821751.htmlWindows内核对象是什么我这里就不介绍了,任何一本关于windows编程的书都会介绍,我这里就把我找到的关于跨越进程边界共享内核对象的方法和大家分享了。 在windows系统中想要跨越进程边界共享内核有3种方法,当然不排除以后还有更多方法,或是一些变种的方法。转载 2015-11-18 14:39:16 · 1156 阅读 · 0 评论 -
VC当中快速使用 $err,hr 来获取GetLastError函数值
GetLastError,$err,hr原创 2015-11-13 16:59:24 · 415 阅读 · 0 评论 -
Visual C++内存泄露检测—VLD工具使用说明
http://www.cnblogs.com/lidabo/archive/2012/07/19/2599745.htmlVisual C++内存泄露检测—VLD工具使用说明一. VLD工具概述Visual Leak Detector(VLD)是一款用于Visual C++的免费的内存泄露检测工具。他的特点有:可以得到内存泄漏点的调用堆栈,如果转载 2015-11-05 15:19:39 · 418 阅读 · 0 评论 -
C++拷贝构造函数及重写operator =的区别
先来代码: #include using namespace std;class CA{public: CA(int b) { cout a=b; } CA(const CA& C) // 拷贝构造函数 //必须传引用 ,如果传值,就会要求构造临时对象,需要调用拷贝构造,又传值转载 2014-03-01 11:53:09 · 2609 阅读 · 0 评论 -
UTF8 MB Uncode 编码转换
// 多字节编码转为UTF8编码 bool MBToUTF8(vectorchar>& pu8,const char* pmb, int32 mLen){ // convert an MBCS string to widechar int32 nLen = MultiByteToWideChar(CP_ACP, 0, pmb, mLen, NULL, 0);WCHAR* lpszW转载 2012-12-30 17:06:15 · 782 阅读 · 0 评论 -
bubbleSort (冒泡排序)
bubbleSort (冒泡排序) void BubbleSort(int *a, int len) { int dwCount,i,j,temp; for (dwCount=0;dwCount { for (i=len-1;i>dwCount;i--)//不断比较和交换相邻的两个数 { if (a[i] {转载 2012-12-12 21:43:28 · 390 阅读 · 0 评论 -
老张喝茶 教你同步异步 阻塞与非阻塞
http://www.cnblogs.com/jogger/archive/2012/09/27/2705386.html老张爱喝茶,废话不说,煮开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。1 老张把水壶放到火上,立等水开。(同步阻塞)老张觉得自己有点傻2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞)原创 2012-10-05 21:51:33 · 284 阅读 · 0 评论 -
进程间通信方式之(WM_COPYDATA) (一)
用WM_COPYDATA的前提: 1,知道接收消息进程的句柄。 2,接收消息进程重载了WM_COPYDATA消息映射,能对其做出反应(否则不是发送端自作多情了?) 看过前提,的出结论:在自己写的两个进程间用WM_COPYDATA再好不过。 下面CODE几行就说明了一切。 获得句柄的方法,最简单的方法就是使用FindWindow,找窗口类,或者名,如果你觉得这原创 2012-09-28 22:05:59 · 869 阅读 · 0 评论 -
互斥对象 Mutex
互斥对象与临界区对象和事件对象的作用一样:实现线程同步。但是互斥对象还可以在进程之间使用。在互斥对象中,包含一个线程ID和一个计数器。线程ID表示拥有该互斥对象的线程,计数器用于表示该互斥对象被同一线程所使用的次数。在用户的程序中。原创 2012-09-29 10:43:43 · 304 阅读 · 0 评论 -
邮件槽通信
利用邮槽实现进程间通信(C++)进程间通信,必须要能够像船一样,能够实现传递作用。邮槽,由此而生。-----------------------------------server.cpp//mailSlotMain.cpp#include#include#includeusing namespace std;int main(int arg转载 2012-09-29 10:30:47 · 960 阅读 · 0 评论 -
事件对象
事件对象事件对象是指用户在程序中使用内核对象的有无信号状态实现线程的同步。1. 使用API函数操作事件对象2. 使用 CEvent类实现线程同步原创 2012-03-09 21:36:19 · 324 阅读 · 0 评论 -
sendmessage postmessage 区别
SendMessage 和 PostMessage 的区别2007年02月06日 星期二 10:151、首先是返回值意义的区别,我们先看一下 MSDN 里的声明:LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lPa转载 2012-02-23 21:05:43 · 254 阅读 · 0 评论 -
Sleep(0) 的意思
Sleep 接口均带有表示睡眠时间长度的参数 timeout。调用以上提到的 Sleep 接口,会有条件地将调用线程从当前处理器上移除,并且有可能将它从线程调度器的可运行队列中移除。这个条件取决于调用 Sleep 时timeout 参数。当 timeout = 0, 即 Sleep(0),如果线程调度器的可运行队列中有大于或等于当前线程优先级的就绪线程存在,操作系统会将当前线程从处理器上移原创 2015-12-25 17:10:40 · 594 阅读 · 0 评论