自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 分享一个使用NSIS制作安装包的UI插件

做软件开发以来,接触的安装包制作方式也有几种了,从最原始的MSI安装包方式,到InnoSetup,再到NSIS;但一直都是使用其脚本功能,并没有在界面上做一些美化操作。   很早之前就想做一个界面可以自由定制的安装包工具,一直没有时间,就放下了。 最近有业务要求需要做到界面高度美观且要求便于维护,...

2015-12-19 15:22:56 4711 4

原创 手把手教你玩转QQ的原创表情

QQ的原创表情非常的可爱,做得比较精致,深受广大QQ用户的喜爱;但怎么将这些表情保存下来,好让我可以在别的地方用呢? 乖乖牛在线将从不同的视角,为你解析QQ原创表情的存储、互通、保护的机制;熟悉了这些后,你将不光能够将自己喜欢的原创表情保存下来;如果你有自己的产品,也可以轻松的让自己的产品支持QQ...

2015-10-23 13:58:01 3217 0

原创 [分享]牛牛图片查看器[仿QQ图片查看器]及大致原理说明

这是一上完全通过Duilib来实现的一个图片查看器,仿照QQ图片查看器的效果实现,希望大家喜欢。 先看一下使用的截图吧: 一:使用说明 1. 通过命令行调用,传递图片路径即可打开图片查看器,支持绝对路径与相对路径,如:ImageViewer.exe c:\test.png 2. 在窗口上双击...

2015-08-05 10:31:47 2797 0

原创 [分享]牛牛截图控件2.0版本发布

牛牛截图现已对多显示器,DPI放大进行了完美支持,欢迎试用。   在上一个版本发布后,收到非常多朋友的反馈,近期有了些时间,对控件进行了升级;同时对比测试了几大主流的截图功能,除了腾讯QQ最新版,其他如360、旺旺、人生日历截图等,均对DPI放大的支持不是很好,多显示器支持我仅测试了腾讯,其他的实...

2015-03-01 10:52:46 3342 2

原创 关于duilib中的list的扩展探索

今天在做一个程序的界面时,需要在一个列表中显示除文字以外的其他控件,如:Edit、Button、Combo等;我做界面使用的是duilib,其自带的CListUI并不能满足此向功能,需要进行扩展,在此记录,以便后续使用需要。

2014-03-23 23:15:10 9830 34

原创 C++对象的JSON序列化与反序列化探索完结-列表的序列化与反序列化

在前两篇文章中,我们已经完成对普通对象以及复杂对象嵌套的序列化与反序列化,见如下地址: C++对象的JSON序列化与反序列化探索 C++对象的JSON序列化与反序列化探索续-复杂对象的序列化与反序列化 经过一番折腾,总算把带有列表的对象的序列化完成了,目前支持 list 和 vect...

2013-06-25 22:57:39 5061 8

原创 记录securecrt文件传输的方法

对于连接linux环境后的文件传输一直都要求不高,也不知道有什么好的办法;以前在用securecrt 连接linux环境后,想传文件的时候,我都是再用securefx连接上去,然后进行文件的双向复制。 这种切换有时候挺烦人的,今天在网上找了一下方法,其实securecrt中已经集成了sftp工具...

2018-08-23 10:13:45 518 0

原创 记一次gdb调试过程,以备后用 (纯自用)

gdb是linux环境下的调试利器,功能强大,指令众多,如果不是经常使用,很多指令记不住。 今天有一个历史项目的问题要跟踪,由于之前交接过来的同事已经离职,而这个项目又很长时间没有人维护了,代码也比较复杂;临时需要定位问题,无从下手,只好在入口加上断点,一步步单步出流程来。 由于是在特定的环境中...

2018-08-22 17:34:32 98 0

原创 牛牛截图控件Macos版本

在此先跟大家道个歉,Macos版本的截图插件,来晚了! 早在2015年的时候,就有朋友咨询我这边什么时候能够出一个Macos版本的截图插件,当时由于Windows版本的截图尚还不够完善,还有很多的优化空间,这部分一直没有能够提上日程。到了2016年下半年,我想直接开发一个能够在linux系统以及M...

2018-04-07 19:02:50 164 0

原创 firefox在https页面下访问非ssl的websocket的设置方法

想在https页面下访问非ssl的websocket服务,在firefox的默认配置下已经被禁止了,需要打开设置才可访问。 As you point out in another answer, https:// to ws:// is disallowed by default on fire...

2017-11-24 16:41:59 3213 0

原创 关于使用vld来进行内存泄漏检测的基础知识

一.      内存泄漏的危害 内存泄漏产生的根本原因在于动态申请的内存未及时释放或未正确的释放。   1.       耗光内存,程序无法正常工作或崩溃 2.       产生内存碎片,在实际内存够用的情况下,因为没有足够大的连续内存块,而导致程序申请内存失败 内存泄露最明显最直接的影响就是导致...

2017-01-10 10:44:51 2220 0

原创 记一次奇怪的内存错误分析过程

这几天在给一个老项目扩展功能,发现了一个奇怪的问题,在群友的帮助下,经过痛苦的跟进,终于找到了问题原因,特此记录。   一:背景 这是在一个老旧的MFC项目中增加Duilib窗口的显示,没办法,MFC的窗口自绘实在累人,还是用Duilib来得方便。 在前期做窗口效果时,一切...

2015-12-31 17:37:00 979 0

转载 获取任务栏所在位置的代码

 获取任务栏所在位置的代码 APPBARDATA taskbar = {0}; taskbar.cbSize = sizeof(APPBARDATA); SHAppBarMessage(ABM_GETTASKBARPOS, &taskbar); switch(tas...

2015-12-25 15:02:18 1034 0

转载 Inno Setup 检查安装VS2005运行环境

Inno Setup可以在程序安装时,通过检查注册表判断出VS2005运行环境是否已经安装[其他版本类似],如果没有安装,则将其安装。 #define MySourceDir "E:\MyAppSourceRoot" [Files] ; VC Redistribut...

2015-09-23 10:00:11 2973 0

转载 Visual C++ 64 位迁移的常见问题

64位的win7已经广泛、深入应用了,赶快看看我的32位程序该怎么办吧? 1、用 Visual C++ 创建在 64 位 Windows 操作系统中运行的应用程序时,应注意以下问题: 在 64 位 Windows 操作系统中,int 和 long 是 32 位值。对于计划为 64 ...

2015-08-27 09:44:55 710 0

原创 狗 日 的 360

360就是中国软件界的一个毒瘤,如果不除,定会影响中国软件业的发展! 最近写了一个软件,就是很普通的加载图片,显示一下而已;好家伙,放到用户那里用,结果被360提示有木马...   可能么?就是很简单的软件功能,不存在这个可能啊。 同样一个软件,其他安全软件都正常通过!   想起在以前公司开发...

2015-08-18 17:48:44 1452 1

原创 关于DUILIB的遮罩,控件穿透以及其应用的分析实践

本文对Duilib的遮罩层以及及穿透进行相关的讨论,原理很简单,除了讨论实现外,在本文也讨论如何利用这些特性、原理来实现需求,欢迎讨论。  1.       遮罩层的实现 在软件的UI显示中,我们经常会需要遮罩住整个窗口或者是窗口的一部分,以避免客户操作相应的UI,等待特定的操作完成之后才...

2015-07-31 17:56:58 4254 4

原创 代码行统计的设计与实现

前阵子去面试,对方出了一个综合测试题,完成一个代码统计工具,分享出来,看其他人是否有类似需求。 大致需求如下: 设计一个程序:使用多线程,统计项目程序源代码行数;源代码是可以编译通过的合法的代码,统计其物理总行数、其中的空行行数、其中含有有效代码的行数、其中含有注释内容的行数。(建议编写命令行...

2015-07-04 09:51:56 1055 1

原创 C4653编译警告消除

今天想尝试下禁用掉Release模式下的编译优化,就把编译优化给关了,一编译,好家伙,出来一堆的警告。 warning C4653: compiler option 'Optimizations (one or more of /Oawstgp[y]) or debug checks...

2015-02-10 17:53:21 1544 0

原创 如何在浏览器控件中使用牛牛截图控件

上次发布牛牛截图控件后,非常多的朋友感兴趣,也有不少朋友把此控件集成进了他们的产品中进行商用;对此我非常欣慰,能帮助其他人节省时间,确实是件值得高兴的事。   但最近好几个朋友都表示通过动态库加载的方式在浏览器控件中使用不方便,也有朋友说不知道如何在浏览器控件中使用;本文旨在演示如何在浏览器控件中...

2014-04-20 23:27:54 6296 1

原创 MFC中应用duilib的相关兼容性问题处理

本文致力于解决在MFC中应用duilib的相关兼容性问题。   duilib非常强大,目前已经被各大公司广泛应用,但基本都是基于win32的;一份与MFC混合使用的DEMO,使得我们这些在老的MFC项目下久经UI之苦的看到了希望。   然而,就在我对这个MFCDEMO进行测试时,在基本功能...

2014-04-13 11:02:30 3427 2

原创 duilib中CWebBrowserUI的使用问题解决

最近在使用CWebBrowserUI时,发现了几个问题,特此记录。 在xml中的标签如下: 在程序中加载如下: CWebBrowserUI* pWebBrowser = static_cast(m_pm.FindControl(_T("ie"))); ...

2014-04-12 01:53:11 5281 3

原创 关于duilib的CTreeViewUI扩展以支持节点拖放的手记

本文主要是记录下对于CtreeViewUI支持不同节点间的拖放功能的扩展过程,抛砖引玉,希望能让更多的人来丰富duilib的功能。   由于客户要求能够在树控件中在各个节点间进行节点拖放,此项目是应用duilib来实现的,但找遍了duilib的例子以及网上的资料,都没有相关可以拖放的树的信息,...

2014-03-29 02:42:30 4143 4

原创 [分享]牛牛截图控件最终版

实现牛牛截图控件的初衷,是想在学习的同时,实现一个具备当前主流截图功能的插件,方便集成进不同的应用系统中,节省开发时间。    本控件实现的基本功能及特点如下 1). 支持窗口区域的自动识别 2). 支持矩形、圆形、箭头、文字的绘制以及撤销 3). 可另存为png、jpg、bmp等格式 4). 支...

2014-03-07 23:15:25 7347 17

原创 在SQL脚本中的注释引起的奇怪问题

在数据库安装包中,我们通过osql.exe这个工具来对相关的数据库脚本进行更新,昨天突然发现安装包报错了,说脚本错误,但我们将脚本拿到数据库查询分析器中执行,一切OK。 问题出在哪里呢? 通过使用osql单独来执行报错的脚本,打印相关信息: osql.exe -S .\SQLDEV -U...

2013-11-01 17:30:16 1474 0

原创 一个CFile::Remove引起的奇怪问题

今天收到测试的一个反馈,我们的一个程序,在WIN7、WIN8下安装后,运行不起来,在进程列表中可以看到,但就是不出来窗口,同样的程序在XP下正常,在UAC关闭的情况下也正常,在以管理员权限运行时也正常。 现象有点奇怪,但也有一个规律,就是在UAC开启的情况下,如果不是以管理员权限运行,则会出问题...

2013-07-30 23:26:28 1682 0

原创 一个疑惑的的问题-ntvdm.exe进程

今天测试反馈了一个问题,在启动我们程序某个模块的程序时,会立即出现一个ntvdm.exe进程,此进程会占用大量的系统资源,导致系统卡住。 当第一眼看到这个现象时,以为是电脑中毒了,所以立即在网上查。 了解到这个进程是WINDOWS为了兼容16位的应用程序而启动的一个虚拟机应用,可是我们的项目中...

2013-07-26 00:10:08 1401 0

原创 软件集成安全软件自动扫描功能

最近一个项目中,由于客户认为我们的文件传输功能可能导致一方传输病毒,不放心。 结过讨论,客户最终认可如下方案: 在文件传输完毕后,自动调用本机上安装好的安全软件对该文件进行扫描。 对此功能进行了简单的调研,以下列出两款软件的调用接口: 启动杀毒命令: 360杀毒: C:\P...

2013-07-02 19:10:58 919 0

原创 C++对象的JSON序列化与反序列化探索续-复杂对象的序列化与反序列化

本文是基本上一篇博文进行改进而成,上一篇请见: C++对象的JSON序列化与反序列化探索 此处就不多说了,直接上代码。 1. 序列化基类 #pragma once #include #include #include "json/json.h" using ...

2013-06-22 23:20:58 2913 0

原创 C++对象的JSON序列化与反序列化探索

一:背景 作为一名C++开发人员,我一直很期待能够像C#与JAVA那样,可以轻松的进行对象的序列化与反序列化,但到目前为止,尚未找到相对完美的解决方案。 本文旨在抛砖引玉,期待有更好的解决方案;同时向大家寻求帮助,解决本文中未解决的问题。  二:相关技术介绍 本方案采用JsonCpp来做具...

2013-06-22 14:26:54 14702 2

原创 数据库数据修复

简要记录背景: 1. 数据库由于硬盘问题完整性被破坏了,使用dbcc checkdb完全没有效果 2. 经检查发现,有两张使用最频繁的表无法进行任何操作,其他表正常 3. 通过某数据库修复工具,可以查看到那两张坏掉的表中的数据【估计还是不全】,但由于没有授权,只能查看,数据导不出来   ...

2013-06-11 16:31:34 974 1

转载 SQL SERVER 遍历库中的表及其记录数

use 库名 DECLARE @TableName varchar(255); CREATE TABLE #GetRecordingTempTable([id] [INT] IDENTITY(1,1) NOT NULL, [TableName] varchar(255) NOT NULL, [...

2013-06-10 14:48:41 995 0

转载 UAC权限的提权与降权

转自:http://blog.csdn.net/wsyjz/article/details/7080197 原文地址:http://www.codeproject.com/KB/vista-security/VistaElevator.aspx 源代码分享在CSDN上的链接:http://do...

2013-05-30 16:40:15 1343 0

原创 亲身实践如何拆除衣服防盗报警器

声明:绝对不是偷来的呀!   昨天去一家店里买了条裤子,回家才发现报警器没拆除【难怪后来在商场逛的时候,走到哪儿都有嘀嘀嘀的声音】,郁闷了,不想再跑一趟啊。   那就自己动手拆除吧!【女士勿效仿】   一:组成 报警器【我拆除的这一款】由三部分组成: 1.      报警装置,一个...

2013-05-25 15:02:04 12627 2

原创 使用C#封装RdpClinet

一:描述 本文描述了使用C#来制作一个ActiveX控件,暴露相应的属性、方法、事件等。 此例中主要是对RdpClient控件的二次封装,可以通过在IE中打开TestRDP.html进行测试: 实现效果图如下:   二:具体实现 基本的实现可以参考文章: http://blog.cs...

2013-05-25 12:48:09 6283 0

原创 使用Innosetup对软件进行打包

一:背景 由于我们以SAAS服务方式,为客户分发软件包,每个软件包中都有客户自定义的一些特定信息,如:公司名称、LOGO、快捷方式名称、安装路径指定等,这些信息是在后台操作界面中指定,如下:   目前我们采用的是在客户下载客户端时,根据后台的设置,使用WINRAR生成一个自解压包,其中将客户...

2013-05-24 16:00:57 2209 0

原创 asp.net在Linux下的开发与运行实践

近期由于一个项目需要,进行了将ASP.NET网站部署在Linux下的调研,并做了一些DEMO来进行测试。最后由于客户不接受在Linux上跑.net程序,我们的工作也只能做到这一步。记录在此,以便后续需要时好查阅。 由于我们项目使用了文件依赖缓存、推技术,故调研中对这些技术在Linux下是否能稳定...

2013-05-22 17:58:38 1547 0

原创 我的第一个Android应用-Mono For Android

前段时间调研.net网站的 跨平台部署时了解到了mono,进而了解到可以使用C#来进行Android应用开发,心里总是痒痒的,想试一下。 从哪里开始呢,我对于Android应用开发可以说是 0 经验,那就从第一个DEMO开始吧,看看他是不是真的如网上所传的那样能在真机上跑起来。 ...

2013-05-11 10:28:57 1347 0

原创 FireBreath开发跨浏览器插件

先记录下来,后续有时间后补充实例。   http://www.firebreath.org

2013-05-06 14:04:39 917 0

原创 启动进程时命令行超长会引起奇怪的异常

现象: 我们一个版本的测试中在一个程序A中嵌入调用另外一个程序B,却发现程序B总是自动异常退出。 而之前的版本中,参数传递的长度是一样的,程序B却能正常运作。   几经周折,终于发现是由于传递的命令行参数过长所致。 教训: 被启动程序B的路径 + 命令行参数 如: c:\test...

2013-04-03 17:35:37 686 0

提示
确定要删除当前文章?
取消 删除