C++ Windows
文章平均质量分 94
小白的跨界
这个作者很懒,什么都没留下…
展开
-
利用WMI打造完美三无后门(scrcons.exe)
ASEC是WMI中的一个标准永久事件消费者。它的作用是当与其绑定的一个事件到达时,可以执行一段预先设定好的JS/VBS脚本转载 2015-10-16 20:26:36 · 9647 阅读 · 0 评论 -
UpdateLayeredWindow和SetLayeredWindowAttributes
转自 http://blog.csdn.net/sunnylion1982/article/details/9100347前几天看到一位兄弟模仿Kugou7界面做的一个效果,下载源码一看之后发现在WM_PAINT没有一句自己的代码,只有DrawUI中有绘制的代码。顿时为之一震,原来UpdateLayeredWindow还有种这样的效果。于是乎在网上找了一下资料:原文地址:http:转载 2016-01-22 13:09:23 · 1139 阅读 · 0 评论 -
如何在Socket编程中检测端口是否被占用
一般检测一个端口是否被占用的方法是看bind是否成功,但感觉上这个方法有点不合适,其实在Windows中有两个API可以获取到当前系统端口的占用情况(GetTcpTable/GetUdpTable),利用这两个函数就可检测端口占用情况。 以下分别是TCP和UDP的检测方法: const static STDMETHODIMP GetPortState(ULONG nPo转载 2015-12-22 14:39:08 · 5796 阅读 · 0 评论 -
CEF中文教程(google chrome浏览器控件) -- CEF简介
官方主页: 点击打开链接CEF简介: 嵌入式Chromium框架(简称CEF) 是一个由Marshall Greenblatt在2008建立的开源项目,它主要目的是开发一个基于Google Chromium的Webbrowser控件。CEF支持一系列的编程语言和操作系统,并且能很容易地整合到新的或已有的工程中去。 它的设计思想政治就是易用且兼顾性能。C转载 2016-02-17 16:43:31 · 8501 阅读 · 0 评论 -
CEF使用的几个注意点
转自http://www.cnblogs.com/gongxijun/p/4857977.html CEF为chrome浏览器的切入其他浏览器中的轻量级框架。 开发的客户端的时候,这是作为界面显示的首先,可以增强客户的易变性,可塑性。在开发的过程中(侧重于C,C++解决),遇到的几个问题,以及自己看源码和整理出的KO思路:1. cef如何禁用右键属性: 手动写一个Ccli转载 2016-02-18 10:38:17 · 8829 阅读 · 2 评论 -
Cef应用程序结构
Application Structure应用程序结构Every CEF3 application has the same general structure.Provide an entry-point function that initializes CEF and runs either sub-process executable logic or the转载 2016-02-18 15:08:50 · 4284 阅读 · 1 评论 -
Cef应用资源布局
Application Layout应用资源布局Application layout can differ significantly depending on the platform. For example, on Mac OS X your application layout must follow a specific app bundle structure. Win转载 2016-02-18 15:10:35 · 1601 阅读 · 0 评论 -
Cef重要概念
Important ConceptsThere are some important underlying concepts to developing CEF3-based applications that should be understood before proceeding.在开发基于CEF3的应用程序前,有一些重要的基础概念应该被理解。C++ Wrapper转载 2016-02-18 15:11:35 · 2573 阅读 · 0 评论 -
Cef概览
CEF General Usage(CEF3预览)介绍CEF全称Chromium Embedded Framework,是一个基于Google Chromium 的开源项目。Google Chromium项目主要是为Google Chrome应用开发的,而CEF的目标则是为第三方应用提供可嵌入浏览器支持。CEF隔离底层Chromium和Blink的复杂代码,并提供一套产品级稳定的A转载 2016-02-18 15:12:12 · 963 阅读 · 0 评论 -
性能调优攻略
关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充。在开始这篇文章之前,大家可以移步去看一下酷壳以前发表的《代码优化概要》,这篇文章基本上告诉你——要进行优化,先得找到性能瓶颈转载 2016-02-18 16:39:00 · 575 阅读 · 0 评论 -
webkit几个依赖库在windows下的编译方法
准备工作1、安装msys、vc2008(2003、2005应该也是可以的)2、下载Cairo1.8.8,Libjpeg6b,Libpng1.2.44,Libxml2.7.8,Libxslt1.1.26,Pixman0.16.2,Zlib1.2.33、把上面几个库分别解压到不同目录开始编译zlib1、修改win32/Makefile.msc 30行CFLAGS = -n转载 2016-02-19 15:10:51 · 675 阅读 · 0 评论 -
使用socket判断http请求或http响应的传输结束
使用socket判断http请求或http响应的传输结束。先把header直到\r\n\r\n整个地收下来1. 传输完毕就关闭connection,即recv收到0个字节。2. 有内容 if Transfer-Encoding: chunked, 就读, 直到流里有\r\n0\r\n\r\n else if Content-Length存在, 就从头的末尾开原创 2016-04-21 10:47:37 · 6480 阅读 · 3 评论 -
Smart GetProcAddress之实现
Windows下有过编程经验的朋友肯定用过这个函数:GetProcAddress,作用呢,就是从加载的动态库中获取指定函数名的函数入口地址,函数使用方法简单,一般是如下流程:DLL导出函数的头文件:dll.hvoid WINAPI func1(int);void WINAPI func2(int,int);动态加载DLL调用上面两个函数转载 2016-05-06 10:57:54 · 582 阅读 · 0 评论 -
获取进程打开的互斥量
最近有个任务涉及到区分【同进程名进程】,所以想到了用进程”拥有”的互斥量来区分这些进程。所以下面实现了获取指定进程”拥有”哪些互斥量的方法,当然这种方法也适合各种内核对象(FILE、REG…)。1. 使用NtQuerySystemInformation检索SystemHandleInformation(16)即可获得系统中所有的句柄信息:通过SystemHandleInformati转载 2016-05-06 14:58:51 · 1755 阅读 · 1 评论 -
VC经典代码(二)
138 这里有很多CRichEditCtrl控件的高级用法:http://www.codeguru.com/Cpp/controls/richedit/139 CGridCtrl控件的一些应用:http://www.vckbase.com/code/listcode.asp?mclsid=3&sclsid=327140 一个不错的地方:http://www.vckbase.com/docu转载 2015-10-13 20:35:35 · 2382 阅读 · 0 评论 -
VC经典技巧代码(一)
1 toolbar默认位图左上角那个点的颜色是透明色,不喜欢的话可以自己改。2 VC++中 WM_QUERYENDSESSION WM_ENDSESSION 为系统关机消息。3 Java学习书推荐:《java编程思想》4 在VC下执行DOS命令 a. system("md c:\\12"); b. WinExec("Cmd.exe /C md c:\\1转载 2015-10-13 20:17:55 · 1645 阅读 · 0 评论 -
VC程序运行时导出资源、DLL、EXE
在VC可以在可执行程序和调用动态静态库时动态的导出资源、DLL、exe。首先把想要导出的资源导入,这里简单描述DLL资源导入的步骤:1.在Resource View(资源视图)中查找到相应工程;2.使用Add(添加)->Resource(资源);3.选择Imort(插入)资源;4.在选择资源后弹出Custom ResourceType(自定义资源类型)输入自转载 2015-10-16 20:38:24 · 696 阅读 · 0 评论 -
Windows 命名管道 + 异步I/O模型
一、管道 + 异步I/O 本地通讯模型1、客户端操作发送请求 (1) 互斥上锁 CreateMutex, WaitForSingleObject (2) 打开命名管道 OpenNamedPipe转载 2015-10-16 20:40:10 · 1504 阅读 · 0 评论 -
通过修改manifest解决Vista/Win7/Win8下应用程序兼容性问题
在Vista/Win7/Win8下,有一个系统兼容性助手功能,在安装程序安装完成或卸载完成后,可能会弹出应用程序兼容性助手相关的提示,提示程序可能安装不正确,很是烦人。如下图所示:事实上,我们的程序兼容性是没问题的,只不过是在程序中没有指定应用程序兼容的操作系统,所以导致了这些问题。 VS2008和VS2010可以生成一个与exe应用程序相关联的.mani转载 2015-11-06 19:09:20 · 962 阅读 · 0 评论 -
让程序在崩溃时体面的退出之Dump文件
在我的那篇《让程序在崩溃时体面的退出之CallStack》中提供了一个在程序崩溃时得到CallStack的方法。可是要想得到CallStack,必须有pdb文件的支持。但是一般情况下,发布出去的程序都是Release版本的,都不会附带pdb文件。那么我们怎么能在程序崩溃的时候找到出错的具体位置呢?这个时候就该Dump文件出场了!Dump文件是进程的内存镜像,可以把程序运行时的状态完整的保存下来。转载 2015-10-12 19:52:04 · 530 阅读 · 0 评论 -
转载一份C++线程池的代码,非常实用
win32线程池代码(WinApi/C++)健壮, 高效,易用,易于扩, 可用于任何C++编译器 //说明, 这段代码我用了很久, 我删除了自动调整规模的代码(因为他还不成熟)/******************************************************************* Thread Pool For Win32 * VC++转载 2015-10-12 19:42:48 · 529 阅读 · 0 评论 -
BHO的创建-Window7 VS2010
一直以来,已经写过几个BHO控件,一段时间之后发现,只是记得大概流程,但是由于时间太长,已经不太能记得细节了,所以第二次写的时候就有些困难,明明已经正确生成,但是就是不能再加载项中发现,对于已经接触过的技术,实在是汗颜,于是决心记录下该项技术,以备不时之需 首先建立一个ATL项目 下一步,直接完成即可 其次呢,就转载 2015-10-12 19:03:50 · 715 阅读 · 0 评论 -
让程序在崩溃时体面的退出之Unhandled Exception
程序是由代码编译出来的,而代码是由人写的。人非圣贤,孰能无过。所以由人写的代码有缺陷是很正常的。当然很多异常都在开发阶段被考虑到而添加了处理代码,或者用try/catch对可能出现异常的地方进行额外的照顾。可是,还是会有一些无法预料的异常(Unhandled Exception)在程序运行的时候出现。这些异常很多时候都会招致程序的崩溃。那么有没有什么方法可以让程序在崩溃的时候体面的退出呢?答案是肯转载 2015-10-12 19:59:28 · 854 阅读 · 0 评论 -
让程序在崩溃时体面的退出之SEH+Dump文件
在我上篇文章《让程序在崩溃时体面的退出之SEH》中讲解了SEH中try/except可以捕捉异常,避免程序的崩溃,并且可以在处理完异常之后,还能决定进该进程如何执行。对于应用程序的使用者来说,并不知道异常的发生。但是对于软件的开发者来说,虽然避免了程序的崩溃,可是这样可以让程序崩溃的缺陷存在于代码中,就像一个定时炸弹,不知道什么时候会爆炸。要想修复这样的缺陷,首先要找到导致程序崩溃的那行代码。而我转载 2015-10-12 19:56:44 · 413 阅读 · 0 评论 -
让程序在崩溃时体面的退出之CallStack
在我的那篇《让程序在崩溃时体面的退出之Unhandled Exception》中提供了一个捕捉程序崩溃事件的方法,可以添加代码在程序崩溃的时候做出适当的处理。不过,只知道程序在什么时候崩溃,但是不知道为什么崩溃,这对于程序开发者来说没有任何意义。因为如果不知道程序崩溃的原因,就没法去找到代码中的缺陷,当然就没法去修改代码而避免程序的崩溃。 所有调试过代码的开发者都知道CallSt转载 2015-10-12 20:00:19 · 644 阅读 · 0 评论 -
Visual C++ 64 位迁移的常见问题
64位的win7已经广泛、深入应用了,赶快看看我的32位程序该怎么办吧?1、用 Visual C++ 创建在 64 位 Windows 操作系统中运行的应用程序时,应注意以下问题:在 64 位 Windows 操作系统中,int 和 long 是 32 位值。对于计划为 64 位平台编译的程序,应注意不要将指针赋给 32 位变量。在 64 位平台上,指针为 64 位,如果将转载 2015-10-12 18:57:43 · 623 阅读 · 0 评论 -
vs自带工具进行代码数字签名方法
数字签名(代码签名)流程 Authenticode : 这里翻译为数字认证代码。 code sign : 字面的翻译为代码签名,但是通常的我们称为数字签名,以下的文中均称为数字签名。一 数字认证码如果你是软件开发人员,你可能已经知道windows系统和一些浏览器(例如IE,Firefox)使用一种称为数字认证代码的技术来标识软件的发行商,来检查软件没有被病毒影响转载 2015-10-12 19:17:01 · 3735 阅读 · 0 评论 -
让程序在崩溃时体面的退出之SEH
转自 http://blog.csdn.net/starlee/article/details/6630816 SEH的全称是Structured Exception Handling,是Windows操作系统提供的一种异常处理方式。SEH是属于操作系统的特性,不为特定语言设计,从它的名字就能看出它是一种结构化的异常处理方式。SEH包括了2个部分:终止处理__try/__finally和异转载 2015-10-12 19:49:52 · 409 阅读 · 0 评论 -
让程序在崩溃时体面的退出之终极解决方案(SEH+Dump+Unhandled Exception Filter)
在我的上篇文章《让程序在崩溃时体面的退出之SEH+Dump文件》我介绍了怎样用SEH加上Dump文件来避免程序的崩溃并在程序崩溃时创建Dump文件来帮助定位出现异常的代码行。可是只有try/except块中try块中的代码出现异常才能被捕捉到,try块外面的代码出现异常,程序照样会崩溃。 下面用《让程序在崩溃时体面的退出之SEH+Dump文件》文中的代码为例子来说明。转载 2015-10-12 19:57:50 · 718 阅读 · 0 评论 -
Invalid Address specified to RtlValidateHeap
Invalid Address specified to RtlValidateHeapVC编程,最后推出对话框的时候,会有错误提示声音“硄”,但是没有弹出错误提示对话框,症状描述与下面的类似:声音就和Assertion Failure一样,但是什么框框都没弹出来,最后Output窗口中显示has exited with code 3 (0x3).http://topic.csdn转载 2017-05-02 16:51:36 · 4534 阅读 · 0 评论