Windows
文章平均质量分 59
deerleaper
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
事件内核对象 event对象 和MFC中 CEvent类
在前面讲述线程通信时曾使用过事件内核对象来进行线程间的通信,除此之外,事件内核对象也可以通过通知操作的方式来保持线程的同步。对于前面那段使用临界区保持线程同步的代码可用事件对象的线程同步方法改写如下:// 事件句柄HANDLE hEvent = NULL;// 共享资源char g_cArray[10];……UINT ThreadProc12(LPVOID pParam)转载 2011-11-11 09:42:09 · 645 阅读 · 0 评论 -
warning c4273: inconsistent dll linkage
编译时候,在release版本下发现以下警告,看到警告总是不舒服的,于是在网上搜索,解决方案 : warning C4273: 'DownloadGameFile' : inconsistent dll linkage. dllexport assumed.: warning C4273: 'StopDownload' : inconsistent dll linkage. dll转载 2013-12-14 00:24:36 · 1634 阅读 · 0 评论 -
WTL for MFC Programmers, Part VII - Splitter Windows
原作 :Michael Dunn [英文原文]翻译 :Orbit(桔皮干了) [http://www.winmsg.com/cn/orbit.htm]下载演示程序代码本章内容介绍 WTL 的分隔窗口相关的类创建分隔窗口基本的方法数据成员开始一个例子工程创建一个窗格内的窗口消息处理窗格容器相关的类基本方法在分隔窗口中使用窗格转载 2013-12-15 15:58:49 · 647 阅读 · 0 评论 -
慎用USES_CONVERSION
USES_CONVERSION是ATL中的一个宏定义。用于编码转换(用的比较多的是CString向LPCWSTR转换)。在ATL下使用要包含头文件#include"atlconv.h"使用USES_CONVERSION一定要小心,它们从堆栈上分配内存,直到调用它的函数返回,该内存不会被释放。如果在一个循环中,这个宏被反复调用几万次,将不可避免的产生stackoverflow。解决方法是:将转载 2013-12-15 00:01:08 · 369 阅读 · 0 评论 -
用DEF文件从DLL中导出C编程++类
用DEF从DLL导出一个参数,或用__deClspeC(dlleXPort)指令从DLL中导出一类,想必大家已经很熟悉了,也经常使用着。这里向大家介绍一种用DEF文档从DLL导出一个类的method。具体原理或为什么就不废话了,学会导出后,再慢慢回味吧。这里主要叙述操作步骤。 1.打开VC6.0,新建一个"Win32 DynamiC-Link Library"工程,假设叫DefClass转载 2013-12-14 00:25:25 · 1032 阅读 · 0 评论 -
warning C4273 And LNK4049:
//DownNet.h#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000#ifdef DOWNNET_DLL#pragma message (" export DownNet ")#define DownAPI __declspec(dllexport)#else#pragma message (转载 2013-12-14 00:29:17 · 1466 阅读 · 0 评论 -
WTL for MFC Programmers, Part II - WTL GUI Base Classes
原作 :Michael Dunn [英文原文]翻译 :Orbit(桔皮干了) [http://www.winmsg.com/cn/orbit.htm]下载演示程序代码本章内容对第二部分的介绍WTL 的总体印象开始写WTL程序WTL 对消息映射链的增强从WTL的应用程序生成向导能得到什么使用向导的整个过程查看生成的代码CMessageLoop转载 2013-12-15 15:55:03 · 501 阅读 · 0 评论 -
WTL for MFC Programmers,Part IV - Dialogs and Controls
原作 :Michael Dunn [英文原文]翻译 :Orbit(桔皮干了) [http://www.winmsg.com/cn/orbit.htm]下载演示程序代码本章内容介绍 回顾一下ATL的对话框通用控件的封装用应用程序向导生成基于对话框的程序使用控件的封装类ATL 方式 1 - 连接一个CWindow对象ATL 方式 2 - 包容器窗口(CCo转载 2013-12-15 15:56:46 · 553 阅读 · 0 评论 -
解析dll文件和 lib文件的区别(如何利用VC创建DLL文件)
.dll是在你的程序运行的时候才连接的文件,因此它是一种比较小的可执行文件格式,.dll还有其他的文件格式如.ocx等,所有的.dll文件都是可执行。 .lib是在你的程序编译连接的时候就连接的文件,因此你必须告知编译器连接的lib文件在那里。一般来说,与动态连接文件相对比,lib文件也被称为是静态连接库。当你把代码编译成这几种格式的文件时,在以后他们就不可能再被更改。如果你想使用l转载 2013-12-14 00:33:34 · 492 阅读 · 0 评论 -
深入浅出Dll( 函数导出、类导出、钓子dll、不同语言混合编程方法、插件等的实现方法)
深入浅出Dll(介绍函数导出、类导出、钓子dll、不同语言混合编程方法、插件等的实现方法) 所有代码均经过测试,如有问题可留言一。简单的dll函数调用有两种方式: 1。显式调用2。隐式调用.如下例子//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx// dlltest.cpp : Dl转载 2013-12-14 00:34:07 · 620 阅读 · 0 评论 -
通过COM组件查找office和pdf文档的关键字
#ifndef __KEYSEARCHER_UTIL_HPP__#define __KEYSEARCHER_UTIL_HPP__#pragma warning(disable:4259)#import "C:\Program Files\Common Files\Microsoft Shared\OFFICE12\MSO.DLL" rename("RGB", "RGBMSO")原创 2014-01-08 11:02:52 · 1539 阅读 · 0 评论 -
Vc 如何访问另外一个进程的窗口
需要在一个进程中访问另外一个进程的登录窗口,并且自动输入用户名和密码,自动点击登录按钮,以下是程序代码,供大家参考:在windows系统中查看是否有title为Login ERROR的窗口bool checkV5billalive(){ //获取windows的异常窗口 while(true){ char* errorWinName ="Login ERROR";转载 2011-11-11 09:41:07 · 797 阅读 · 0 评论 -
extern "c" __declspec(dllexport) __declspec(dllimport)
extern "C" __declspec(dllexport) __declspec(dllimport)都是用于函数或者变量,甚至类的声明的(可以把extern "C"放在class的前面,但是编译器会忽略掉,最后产生的还是C++修饰符,而不是C修饰符)这样的用法有个好处就是下面的代码可以在混有类的函数和变量上使用下面的宏,虽然对类不起作用:#ifdef __cplusplusex转载 2013-12-14 00:19:22 · 795 阅读 · 0 评论 -
打开浏览文件夹
void OnBtnBrowse(){ // TODO: Add your control notification handler code here CString sFolderPath; BROWSEINFO bi; char Buffer[MAX_PATH] = {0}; //初始化入口参数bi开始 bi.hwndOwner = NULL; bi.pidlRo原创 2014-01-08 23:24:55 · 469 阅读 · 0 评论 -
WTL for MFC Programmers, Part V - Advanced Dialog UI Classes
原作 :Michael Dunn [英文原文]翻译 :Orbit(桔皮干了) [http://www.winmsg.com/cn/orbit.htm]下载演示程序代码本章内容第五章介绍特别的自画和外观定制类COwnerDrawCCustomDrawWTL的新控件CBitmapButtonCCheckListViewCtrlCTreeViewC转载 2013-12-15 15:57:27 · 933 阅读 · 0 评论 -
C++ DLL远程注入与卸载函数
第一个函数是成功的,第二个函数运行发现会将目标程序挂死,也许是目标程序有保护机制支持Unicode编码。 //----------------------------------------------------------------------------------------------------------- // 函数: InjectDll转载 2013-12-14 00:00:03 · 548 阅读 · 0 评论 -
Vc 读写INI文件
在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下:一.将信息写入.INI文件中. 1.所用的WINAPI函数原型为: BOOL WritePrivateProfileString( LPCTSTR lpAppName,转载 2011-11-11 09:41:32 · 389 阅读 · 0 评论 -
VC++ 调用外部程序
有三种SDK函数可以调用,分别是:WinExec, ShellExecute,CreateProcess 其中以WinExec最为简单,主要是调用windows程序.ShellExecute比WinExec灵活一些,主要是调用DOS程序。CreateProcess最为复杂但是使用最灵活。1.WinExec 有两个参数,前一个指定路径,后一个指定显示方式。这个方式有个缺点,不能指转载 2011-11-11 09:42:45 · 548 阅读 · 0 评论 -
关于STL/ATL/WTL之间的区别
在这之前我一直在使用MFC框架,现在要学习WTL似乎有些牵强......俗话说得好:“工欲善其事,必先利其器”,还是先将基本术语搞清楚吧!1、STL 即 Standard Template Library STL(标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、 Meng Lee和David R Musser在惠普实验室工作时所开发出转载 2013-12-14 00:18:39 · 787 阅读 · 0 评论 -
慎用USES_CONVERSION
USES_CONVERSION是ATL中的一个宏定义。用于编码转换(用的比较多的是CString向LPCWSTR转换)。在ATL下使用要包含头文件#include"atlconv.h"使用USES_CONVERSION一定要小心,它们从堆栈上分配内存,直到调用它的函数返回,该内存不会被释放。如果在一个循环中,这个宏被反复调用几万次,将不可避免的产生stackoverflow。解决方法是:将转载 2013-12-14 00:16:41 · 541 阅读 · 0 评论 -
winpcap pcap_compile MAC 地址过滤
使用Winpcap编写了一个按照mac地址过滤的函数,刚开始怎么设置MAC地址都不正确,最后发现是格式不正确,争取的Filter的格式如下:特别编写如下:char filter = "ether dst 00:90:41:C0:C1:C3";具体的一段代码如下:char filter[512]; sprintf(filter,"ether proto 0x1111 an转载 2011-11-11 09:40:44 · 4044 阅读 · 0 评论 -
windows进程同步互斥
Windows 临界区,内核事件,互斥量,信号量。临界区,内核事件,互斥量,信号量,都能完成线程的同步,在这里把他们各自的函数调用,结构定义,以及适用情况做一个总结。临界区:适用范围:它只能同步一个进程中的线程,不能跨进程同步。一般用它来做单个进程内的代码快同步,效率比较高。相关结构:CRITICAL_SECTION _critical相关方法转载 2014-07-01 15:42:45 · 495 阅读 · 0 评论 -
vc设置对话框的背景透明
SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE, GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);HINSTANCE hInst = LoadLibrary("User32.DLL");if(hInst){ typedef BOOL (WINAPI *MYFUNC)(HWND,COL转载 2014-06-08 19:55:31 · 1316 阅读 · 0 评论 -
ffmpeg裁剪合并视频
这里裁剪是指时间轴裁剪,不是空间裁剪。 比如说,你想把视频的从一分20秒开始,30秒的视频裁剪出来,保存成一个视频。这是这个文章要讨论的问题。 一 裁剪视频 ffmpeg提供简单的命令参数:ffmpeg -ss START -t DURATION -i INPUT -vcodec copy -acodec copy OUTPUT对转载 2014-10-18 10:53:39 · 728 阅读 · 0 评论 -
常用EXE文件反编译工具
PE Explorer V1.99 R5 绿色汉化特别版_强大的可视化汉化集成工具 功能极为强大的可视化汉化集成工具,可直接浏览、修改软件资源,包括菜单、对话框、字符串表等; 另外,还具备有 W32DASM 软件的反编译能力和PEditor 软件的 PE 文件头编辑功能,可以更容易的分析源代码,修复损坏了的资源,可以处理 PE 格式的文件如:EXE、DLL、DRV、BPL、DPL、S转载 2014-09-19 16:17:31 · 774 阅读 · 0 评论 -
WPF、Windows Forms和Silverlight间的联系和区别
原文:http://hi.baidu.com/xiaocai0923/blog/item/389514374a9dc3cea3cc2b80.html在Windows中,诸如窗体绘制等功能由GDI实现,放在操作系统内核中。Windows Forms在底层使用的是GDI+。GDI+是GDI的“面向对象包装”,使用C++实现。.NET Windows Forms应用程序中使用的GDI+其实是在C++转载 2014-09-26 17:38:16 · 598 阅读 · 0 评论 -
ffmpeg configure参数说明
#./configure --helpUsage: configure [options]Options: [defaults in brackets after descriptions] Standard options: 基本选项参数--help 显示此帮助信息|print this message--log[转载 2014-10-18 14:51:46 · 418 阅读 · 0 评论 -
C#实现WAV音频单声道提取
喜欢买碟或者卡拉ok的朋友一定不会对声道这个术语陌生。通常我们在音像店买回来的VCD或者DVD都是双声道的形式,唱片商在录制唱片时往往提供了两个或多个声道,以保存不同的音频内容,以形成立体声效。左声道保存的大多为一些背景声效,如卡拉OK的消音伴唱。而右声道保存的往往是较为主要的声音,比如主唱的歌声。利用多声道技术,听众可以清晰地分辨出各种乐器来自的方向,从而使音乐更富想象力,更加接近于临场感受。转载 2014-10-16 15:36:29 · 4790 阅读 · 1 评论 -
MFC,QT与WinForm,WPF简介
转自 http://blog.youkuaiyun.com/weiwenhp/article/details/8442553转载 2014-09-26 17:35:02 · 1258 阅读 · 0 评论 -
C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方综合比较
原文:http://www.cppblog.com/lingjingqiu/archive/2009/01/06/71363.html界面库名称接口设计界面编辑器高级布局功能平面绘制平台兼容性语言支持IDE兼容性视图-模型分离机制转载 2014-09-26 17:39:14 · 624 阅读 · 0 评论 -
《汇编语言》第一章-基础知识
1、汇编语言的主体是汇编指令,汇编指令是jiqi原创 2014-04-07 04:46:04 · 720 阅读 · 0 评论 -
对比MFC ,Winform ,WPF
原文:http://hi.baidu.com/rickiedu/blog/item/37c9fe24adada61d8a82a1db.htmlMFC 生成本机代码,自然是很快。可是,消息循环,减缓了界面显示速度。 winform 封装了 win32 的api,多次进行P/invoke 操作 (大部分使用p/invoke操作封装),速度慢 。 wpf是一种新的模型,不再使转载 2014-09-26 17:51:25 · 1069 阅读 · 0 评论 -
WAVE文件格式剖析
WAVE文件格式剖析WAVE文件作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。RIFF是英文Resource Interchange File Format的缩写,每个WAVE文件的头四个字节便是“RIFF”。WAVE文件由文件头和数据体两大部分组成。其中文件头又分为RIFF/WAV文件标识段和声音数据格式说明段两部分。WAVE文件各部分内容及格式见附表。 常见的声音文转载 2014-10-16 15:31:27 · 602 阅读 · 0 评论 -
Windows下编译ffmpeg源代码
由于工作原因,需要使用ffmpeg在windows下进行代码跟踪于是,上网找相关文章,搜索出来有很多,经过查看,其中的一个英文网站是最好的,网址:http://ffmpeg.arrozcru.org/wiki/index.php?title=Main_Page上面有详细说明整个过程,但为了防止此网站不能访问的问题,这里特把一般步骤写下来,以做个记录。后面会说明我在按照上面说的步骤进行的转载 2014-10-18 10:51:59 · 666 阅读 · 0 评论 -
__declspec(dllimport)和__declspec(dllexport)的区别,以及有关c/c++调用约定
DLL可以使用两种方法将公共符号导入到应用程序中或从 DLL 导出函数: 生成 DLL 时使用模块定义 (.DEF) 文件。 在主应用程序的函数定义中使用 __declspec(dllimport) 或 __declspec(dllexport) 关键字。 使用 .DEF 文件模块定义 (.DEF) 文件是包含一个或多个描述各种 DLL 属性的 Module 语句的文本文件。如果转载 2013-12-14 00:20:40 · 433 阅读 · 0 评论 -
ASCII,UTF-8,Unicode字符串相互转换
1. BOM标记UTF-8 数据头标记: EF, BB, BFUNICODE : FF, FE网络上传送的UTF-8数据需要偏移(EF,BB,BF)这三个字节后面的数据直接当字符串处理即可,无需转为ASCII码,否则转码ASCII码数据的第一个字节变为了'?'.转换函数如下:#include#include#includeusing namespace std;转载 2015-01-23 11:26:42 · 1148 阅读 · 0 评论 -
深度解析VC中的消息
http://www.bianceng.cn/Programming/vc/ 队列消息和非队列消息 从消息的发送途径来看,消息可以分成2种:队列消息和非队列消息。消息队列由可以分成系统消息队列和线程消息队列。系统消息队列由Windows维护,线程消息队列则由每个GUI线程自己进行维护,为避免给non-GUI现成创建消息队列,所有线程产生时并没有消息队列,仅当线程第一转载 2014-09-30 14:29:17 · 503 阅读 · 0 评论 -
cdecl、stdcall,pascal三种动态库的区别
调用约定(Calling convention):决定函数参数传送时入栈和出栈的顺序,由调用者还是被调用者把参数弹出栈,以及编译器用来识别函数名字的修饰约定。函数调用约定有多种,这里简单说一下:1、__stdcall调用约定相当于16位动态库中经常使用的PASCAL调用约定。在32位的VC++5.0中PASCAL调用约定不再被支持(实际上它已被定义为__stdcall。除了__pascal转载 2014-09-30 14:34:11 · 1985 阅读 · 0 评论 -
《Windows核心编程5》第19章-DLL基础
1、windows应用程序编程接口(applicationprogramming interface)提供的所有函数包含在dll中,其中三个最重要的dll分别是:(1)Kernel32.dll。包含的函数用于管理内存、进程和线程。(2)User32.dll。包含的函数用于执行与用户界面相关的任务,包括创建窗口和发送消息。(3)GDI32.dll。包含的函数用来绘制图像和显示文字。2原创 2014-09-01 17:35:37 · 477 阅读 · 0 评论 -
使用USES_CONVERSION写中文至注册表变成乱码的原因
在dll实现文件中使用USES_CONVERSION,将ascii的中文字符串转为unicode类型,写入注册表,hui原创 2014-09-01 15:36:20 · 990 阅读 · 0 评论
分享