![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Windows
文章平均质量分 59
deerleaper
这个作者很懒,什么都没留下…
展开
-
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 · 1237 阅读 · 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 · 1441 阅读 · 0 评论 -
深入浅出Dll( 函数导出、类导出、钓子dll、不同语言混合编程方法、插件等的实现方法)
深入浅出Dll(介绍函数导出、类导出、钓子dll、不同语言混合编程方法、插件等的实现方法) 所有代码均经过测试,如有问题可留言一。简单的dll函数调用有两种方式: 1。显式调用2。隐式调用.如下例子//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx// dlltest.cpp : Dl转载 2013-12-14 00:34:07 · 559 阅读 · 0 评论 -
解析dll文件和 lib文件的区别(如何利用VC创建DLL文件)
.dll是在你的程序运行的时候才连接的文件,因此它是一种比较小的可执行文件格式,.dll还有其他的文件格式如.ocx等,所有的.dll文件都是可执行。 .lib是在你的程序编译连接的时候就连接的文件,因此你必须告知编译器连接的lib文件在那里。一般来说,与动态连接文件相对比,lib文件也被称为是静态连接库。当你把代码编译成这几种格式的文件时,在以后他们就不可能再被更改。如果你想使用l转载 2013-12-14 00:33:34 · 422 阅读 · 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 · 491 阅读 · 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 · 444 阅读 · 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 · 1393 阅读 · 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 · 937 阅读 · 0 评论 -
慎用USES_CONVERSION
USES_CONVERSION是ATL中的一个宏定义。用于编码转换(用的比较多的是CString向LPCWSTR转换)。在ATL下使用要包含头文件#include"atlconv.h"使用USES_CONVERSION一定要小心,它们从堆栈上分配内存,直到调用它的函数返回,该内存不会被释放。如果在一个循环中,这个宏被反复调用几万次,将不可避免的产生stackoverflow。解决方法是:将转载 2013-12-15 00:01:08 · 298 阅读 · 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 · 558 阅读 · 0 评论 -
Vc 如何访问另外一个进程的窗口
需要在一个进程中访问另外一个进程的登录窗口,并且自动输入用户名和密码,自动点击登录按钮,以下是程序代码,供大家参考:在windows系统中查看是否有title为Login ERROR的窗口bool checkV5billalive(){ //获取windows的异常窗口 while(true){ char* errorWinName ="Login ERROR";转载 2011-11-11 09:41:07 · 711 阅读 · 0 评论 -
事件内核对象 event对象 和MFC中 CEvent类
在前面讲述线程通信时曾使用过事件内核对象来进行线程间的通信,除此之外,事件内核对象也可以通过通知操作的方式来保持线程的同步。对于前面那段使用临界区保持线程同步的代码可用事件对象的线程同步方法改写如下:// 事件句柄HANDLE hEvent = NULL;// 共享资源char g_cArray[10];……UINT ThreadProc12(LPVOID pParam)转载 2011-11-11 09:42:09 · 533 阅读 · 0 评论 -
windows进程同步互斥
Windows 临界区,内核事件,互斥量,信号量。临界区,内核事件,互斥量,信号量,都能完成线程的同步,在这里把他们各自的函数调用,结构定义,以及适用情况做一个总结。临界区:适用范围:它只能同步一个进程中的线程,不能跨进程同步。一般用它来做单个进程内的代码快同步,效率比较高。相关结构:CRITICAL_SECTION _critical相关方法转载 2014-07-01 15:42:45 · 427 阅读 · 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 · 3849 阅读 · 0 评论 -
慎用USES_CONVERSION
USES_CONVERSION是ATL中的一个宏定义。用于编码转换(用的比较多的是CString向LPCWSTR转换)。在ATL下使用要包含头文件#include"atlconv.h"使用USES_CONVERSION一定要小心,它们从堆栈上分配内存,直到调用它的函数返回,该内存不会被释放。如果在一个循环中,这个宏被反复调用几万次,将不可避免的产生stackoverflow。解决方法是:将转载 2013-12-14 00:16:41 · 472 阅读 · 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 · 675 阅读 · 0 评论 -
VC++ 调用外部程序
有三种SDK函数可以调用,分别是:WinExec, ShellExecute,CreateProcess 其中以WinExec最为简单,主要是调用windows程序.ShellExecute比WinExec灵活一些,主要是调用DOS程序。CreateProcess最为复杂但是使用最灵活。1.WinExec 有两个参数,前一个指定路径,后一个指定显示方式。这个方式有个缺点,不能指转载 2011-11-11 09:42:45 · 464 阅读 · 0 评论 -
Vc 读写INI文件
在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下:一.将信息写入.INI文件中. 1.所用的WINAPI函数原型为: BOOL WritePrivateProfileString( LPCTSTR lpAppName,转载 2011-11-11 09:41:32 · 331 阅读 · 0 评论 -
C++ DLL远程注入与卸载函数
第一个函数是成功的,第二个函数运行发现会将目标程序挂死,也许是目标程序有保护机制支持Unicode编码。 //----------------------------------------------------------------------------------------------------------- // 函数: InjectDll转载 2013-12-14 00:00:03 · 482 阅读 · 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 · 838 阅读 · 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 · 425 阅读 · 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 · 1549 阅读 · 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 · 719 阅读 · 0 评论 -
Windows下编译ffmpeg源代码
由于工作原因,需要使用ffmpeg在windows下进行代码跟踪于是,上网找相关文章,搜索出来有很多,经过查看,其中的一个英文网站是最好的,网址:http://ffmpeg.arrozcru.org/wiki/index.php?title=Main_Page上面有详细说明整个过程,但为了防止此网站不能访问的问题,这里特把一般步骤写下来,以做个记录。后面会说明我在按照上面说的步骤进行的转载 2014-10-18 10:51:59 · 592 阅读 · 0 评论 -
WAVE文件格式剖析
WAVE文件格式剖析WAVE文件作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。RIFF是英文Resource Interchange File Format的缩写,每个WAVE文件的头四个字节便是“RIFF”。WAVE文件由文件头和数据体两大部分组成。其中文件头又分为RIFF/WAV文件标识段和声音数据格式说明段两部分。WAVE文件各部分内容及格式见附表。 常见的声音文转载 2014-10-16 15:31:27 · 518 阅读 · 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 · 867 阅读 · 0 评论 -
《汇编语言》第一章-基础知识
1、汇编语言的主体是汇编指令,汇编指令是jiqi原创 2014-04-07 04:46:04 · 649 阅读 · 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 · 518 阅读 · 0 评论 -
MFC,QT与WinForm,WPF简介
转自 http://blog.csdn.net/weiwenhp/article/details/8442553转载 2014-09-26 17:35:02 · 1125 阅读 · 0 评论 -
C#实现WAV音频单声道提取
喜欢买碟或者卡拉ok的朋友一定不会对声道这个术语陌生。通常我们在音像店买回来的VCD或者DVD都是双声道的形式,唱片商在录制唱片时往往提供了两个或多个声道,以保存不同的音频内容,以形成立体声效。左声道保存的大多为一些背景声效,如卡拉OK的消音伴唱。而右声道保存的往往是较为主要的声音,比如主唱的歌声。利用多声道技术,听众可以清晰地分辨出各种乐器来自的方向,从而使音乐更富想象力,更加接近于临场感受。转载 2014-10-16 15:36:29 · 4521 阅读 · 1 评论 -
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 · 351 阅读 · 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 · 527 阅读 · 0 评论 -
ffmpeg裁剪合并视频
这里裁剪是指时间轴裁剪,不是空间裁剪。 比如说,你想把视频的从一分20秒开始,30秒的视频裁剪出来,保存成一个视频。这是这个文章要讨论的问题。 一 裁剪视频 ffmpeg提供简单的命令参数:ffmpeg -ss START -t DURATION -i INPUT -vcodec copy -acodec copy OUTPUT对转载 2014-10-18 10:53:39 · 652 阅读 · 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 · 985 阅读 · 0 评论 -
windows线程的栈申请与设置
线程栈空间默认是1M,手动配置该值时(通过/STACK开关或者def文件的STACK指令),系统实际分配的栈大小是该值向上舍入到最近的整数倍栈粒度(一般是64K,可调用GetSystemInfo查询)大小,比如在/STACK中手动配置值为65K,系统则会分配128K(=2 * 64K)的栈空间。CreateThread函数中的dwStackSize参数并不是为新线程指定的栈空间大小,它转载 2014-08-18 11:29:39 · 1335 阅读 · 0 评论 -
IAT hooking
IAT hooking当应用程序使用另一个动态库的函数时,PE装载器会找到每个IAMGE_IMPORT_BY_NAME结构所指向的输入函数的地址,然后把这些地址存储在一个叫做IAT的表。当函数CALL一个输入函数的时候,会先在IAT找到对应的函数地址,紧接着再进入该函数空间。熟悉PE结构的朋友应该清楚,IAT是一个IMAGE_THUNK_DATAj结构的数组。只要程序装载进内存中,就只与IAT查转载 2014-08-19 11:37:19 · 581 阅读 · 0 评论 -
《Windows核心编程5》第八章-用户模式下的线程同步
1、线程之间需要通信的情况:(1)需要多个线程同时访问一个共享资源,同时不能破坏资源的完整性;(2)一个线程需要通知其他线程某项任务已经完成; 2、原子递增函数使用Interlocked-开头的函数,在x86系列的cpu,Interlocked函数会在总线上维持一个硬件信号,这个信号会阻止其他CPU访问同一个内存地址。Interlocked函数只占用几个CPU周期(通常小于50),原创 2014-07-24 11:41:55 · 472 阅读 · 0 评论 -
《Windows核心编程5》第二章-字符和字符串处理
1、判断一个文件的数据是否为Unicode,需要先从w原创 2014-06-30 11:33:22 · 450 阅读 · 0 评论 -
《深入解析Windows操作系统4》第一章 概念和工具
1、windows api包括几千个可调用的函数,分为以下几个大类:基本服务、组件服务、原创 2014-06-16 13:42:50 · 603 阅读 · 0 评论 -
使用USES_CONVERSION写中文至注册表变成乱码的原因
在dll实现文件中使用USES_CONVERSION,将ascii的中文字符串转为unicode类型,写入注册表,hui原创 2014-09-01 15:36:20 · 885 阅读 · 0 评论