自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 Android PDFium 编译

Pdfium是一个由Google开发的开源PDF渲染库,可以用来显示、处理PDF文档。它是Google Chrome浏览器中用于处理PDF文档的核心引擎。该库不只限于Chrome浏览器使用,其他开发者也可在自己的项目中使用Pdfium库。Pdfium提供了丰富的特性,如文本提取、搜索、注解、表单填充等,且性能高、稳定性好、兼容性强,被许多第三方项目所使用。

2023-12-02 13:05:55 332

原创 PDFium for Android 编译

一、PDFium 简介 Pdfium是一个由Google开发的开源PDF渲染库,可以用来显示、处理PDF文档。它是Google Chrome浏览器中用于处理PDF文档的核心引擎。该库不只限于Chrome浏览器使用,其他开发者也可...

2023-12-02 12:58:00 166

原创 Android 第三方app https 抓包

1.在项目中添加 Android/src/main/res/xml/network_security_config.xml。当Android 的 Api Level > 24时需要修改一下app的一起配置。xxx_final_sign.apk 即为修改后的最终文件。我是想要查看别人的apk包,要怎么添加上面提到的配置呢?不签名的apk是无法安装的, 使用自己的key签名。Charles 或 Fiddler 都可以。设置按官网说明设置一下好。

2023-10-16 18:22:33 676

原创 如何将 pyc 文件重新打入 PyInstaller 生成的 exe

介绍 工作中有一个颇具规模的 Python 工程,发布时会用 PyInstaller 打包成exe。其中有个很小的 Python 文件会经常修改,但每次打...

2023-01-14 11:33:00 530 1

原创 Duilib的WebView2开源插件

duiwebview2 项目地址 gitee地址 ...

2022-11-16 16:37:00 587

原创 记一次挂钩经历

工作中遇到个问题:需要在没有代码的情况下禁用某软件的一个功能。该软件为Windows软件。 接到任务后,先理下思路: ...

2022-11-06 00:39:00 135

原创 could not launch process: EOF的解决方法

Mac下调试 golang 出现could not launch process: EOF错误 网上说要将Command Line Tools回滚到旧版本. 有点麻烦. 其实只要将dlv升级到最新版本就成了. ...

2018-07-02 11:12:00 179

原创 quick-cocos2d-x的c++层真机调试

最近在项目中碰到在特定手机上会卡住问题,初步怀疑是c++层的模块产生的。所以要在真机上调c++,如果是个cocos2d-x c++的项目还比较好调,但quick就有点麻烦了。试了几种方式都没成功。最后终于找到一个相对来说简单的方法。1.首先被调试的手机必须是root过的。2.将quick工程导入到eclipse。路径:%项目目录%\frameworks\runtime-src\proj.a

2016-02-01 10:23:48 931

原创 多进程浏览器

基于duilib写的多进程浏览器,感谢duilib开发组。下载 http://vdisk.weibo.com/s/GAe4B/1371694484

2013-07-08 22:31:23 1166 2

原创 给Edit加自动完成

看到很多人问如何给Edit加自动完成,实现浏览器地址栏的功能。如果要自己实现源的话,还是比较复杂 的。jiangsheng大哥很早就描述过了 http://blog.csdn.net/jiangsheng/article/details/3794。但如果想用系统预定义的源,有个更简单的方法,一条函数足以。Instructs system edit controls to use Aut

2012-09-05 00:58:33 865

原创 一个PhoneGap写的小应用

由于没有其它平台的环境,所以目前只支持 Android下载地址:http://vdisk.weibo.com/s/vCQ-

2011-08-07 20:09:53 1319 1

原创 PhoneGap 插件简介

一、PhoneGap平台前不久PhoneGap发布了1.0版本,这为移动开发大家族提供了又一个跨平台的解决方案。开发者只要有JavaScript、CSS3、Html5的基础就可以快速开发移动应用,并且一次开发支持iOS、iOS(xcode 4)、Android、WebOS、B

2011-08-06 14:21:00 8424 9

原创 实现 WOW 插件的简单步骤

一、导出WOW接口文件 1.      带参数运行wow.exe –console2.      在游戏中按下“`/~”键3.      在魔兽控制台下输入“exportInterfaceFiles code”或 “exportInterfaceFilesart”4.

2011-07-21 07:52:50 5888

转载 C/C++代码审查表

<br />C/C++代码审查表<br />摘自林锐<<高质量C++编程指南>><br /><br /><br />文件结构<br />重要性<br />审查项<br />结论<br /> <br />头文件和定义文件的名称是否合理?<br /> <br /> <br />头文件和定义文件的目录结构是否合理?<br /> <br /> <br />版权和版本声明是否完整?<br /> <br />重要<br />头文件是否使用了 ifndef/define/endif 预处理块?<br /> <br /> 

2011-04-05 17:09:00 2307

原创 Android 开发中找不到 “gen”目录的问题

<br />今天写个Android的小程序,突然提示错误 Project ‘Project Name’ is missing required source folder: ‘gen’。费了半天劲原来是因为JDK升级所至。进行下面的设置就行了:<br /><br />Use Project > Properties > Java Compiler > JDK Compliance > Compiler compliance level: 1.6

2011-03-16 20:34:00 2879 1

原创 检测cpu型号

<br />在 Windows XP 和 Windows 2003 Server 系统上,用WMI无法正确的取得cpu型号。官方的解决方案是安装补丁。但软件开发者不可能要求用户去安装补丁,所以还是从注册表获取cpu 信息吧。<br /> <br />方法如下:<br /> <br />BOOL GetProcessorName(CString & strProcessorName)   <br />{   <br /> LONG res = ERROR_SUCCESS;<br /> HKEY hKey =

2011-01-08 00:07:00 893

原创 脚本带来的问题

在新的项目中使用了 陆其名 大神的 《脚本驱动编程》中的脚本开发方法,真的不错。但也引起了一起问题,比如把本在调试期可以发现的Bug推到了运行期,这样在测试时造成了一些麻烦。不过还是值得的,毕竟提高了灵活性。

2010-08-15 14:23:00 589

原创 GFlags的确好用呀。

<br />用GFlags查堆溢出真是不错呀。不过使用时比较占用内存,可能会造成内存无法分配的问题,所以调试进最好找个内存大点的机器。推荐4G,呵呵。

2010-08-15 14:20:00 619

原创 JavaScript调用C++函数

 上篇介绍了用C++调用JavaScript,这篇反过来说说JS调C++,这样JS和C++沟通的途径就完整了。首先,实现一个IDispatch接口,当JS调用C++函数时,系统会调用GetIDsOfNames来用函数名取得函数的DISPID,然后调用Invoke完成真正的调用,需要注意的是Invoke的pDispParams中的参数是倒序的。代码如下:class CExtenalDispa

2009-11-16 10:28:00 13505 6

原创 在C++中用WebBrowser控件调用JavaScript函数

主要函数 CallJScript BOOL CallJScript(const wchar_t * func, VARIANT * vtParams, int cNumberOfParam, VARIANT * vtResult) { if(!func || !func[0]) return FALSE; CComPtr spScript; spScript =

2009-11-11 18:59:00 4374 2

原创 用ATL实现在COM接口中返回另一个COM类的接口

用ATL实现很简单 HRESULT Method(IInterface **ppInterface){    *ppInterace = new CComObject;    return S_OK;}如果 IInterface 不想让调用者通过 CoCreateInstance等函数创建,而只是想通过自己的接口生成的话,可以在COM类头文件的最后将 O

2008-12-04 13:51:00 1602 1

原创 让ocx控件具备xp风格

1.在stdafx.h中添加 #define ISOLATION_AWARE_ENABLED 12.在资源中添加manifest文件,类型为RT_MANIFEST,ID为2。

2008-09-04 15:22:00 772

原创 在RichEdit中使用超链接

1. 设置字符格式ch.cbSize = sizeof(ch);ch.dwMask = CFM_COLOR|CFM_FACE|CFM_SIZE|CFM_UNDERLINE|CFM_UNDERLINETYPE|CFM_LINK;ch.dwEffects = CFE_LINK|CFE_UNDERLINE;wcscpy(ch.szFaceName, lf.lfFaceName);ch.c

2008-07-15 18:43:00 1858 1

原创 推荐两个Windows安装制作程序

给大家介绍两个不错的Windows安装制作程序Inno SetupInno Setup是免费的开源软件,功能强大,使用方便,还有制作向导可帮助用户生成简单的安装程序。很多软件都是用这个制作的安装包。语言:Delphi官网地址:http://www.jrsoftware.org/isinfo.php NSIS (Nullsoft Scriptable Install System

2008-07-04 16:05:00 1071

原创 .NET反射

反射描述了在运行过程中检查和处理程序元素的功能。 定制特性 C#编译器会把Attribute添加到特性名后,然后在其搜索路径的所有命名空间中搜索同名类。但如果特性名以Attribute结尾就不会在其后添加。 特性类直接或间接派生自System.Attribute。 特性类通过AttributeUsage来表示定制特性可以应用到哪些类型的程序元素上。

2008-06-10 12:04:00 693

原创 NET环境

程序集 程序集是自我描述的 版本的相互依赖性在程序集的清单中进行了记录 程序集可以并行加载 应用程序使用应用程序域来确保共独立性 安装简单 由描述它的元数据、描述导出类型和方法的类型元数据、MSIL代码和资源组成 模块是一个没有程序集特性的dll,但以后可以添加到程序集中。全局程序集缓存 使

2008-06-10 12:02:00 768

原创 Web Service

Web Service 是利用SOAP(Simple Object Access Protocol)在HTTP上执行远程方法调用的一种新方法。 SOAPPOST POST /SomeLocation/myWebService.asmx HTTP/1.1Host: hostnameContent-Type: text/xml;ch

2008-06-10 12:00:00 604

原创 控制面板程序(CPL)调试方法

1. 将 "Porject  > Properties > Debugging" 的 "Command" 设为 "{System Folder}/rundll32.exe"2. 将 "Porject  > Properties > Debugging" 的 "Command Arguments" 设为  "shell32.dll,Control_RunDLL {yourcpl}"{Syst

2008-06-05 15:30:00 1363

原创 打开目录并选中文件的三种方法

方法1.void OpenFolderSelectFile(LPCWSTR lpszFile){ if(!lpszFile || !lpszFile[0]) return; CString szLink; szLink.Format(L" /e,/select,%s", lpszFile); ShellExecute(NULL, L"open", L"explorer

2008-06-05 15:22:00 1177

原创 IE7提示"无效字符"的问题

前些日子写了一个简单的基于Html的程序,功能简单到就是直接Navigate一个Flash文件(*.swf), 在原先的机器(IE6)上测试没什么问题。可换了新机器后就出问题了,新机器的IE是7.0。总提示“无效字符”。如下图:在google上找到了问题所在,原来在ie7中增加了新的安全设置。打开工具->Internet选项->高级,在其中新增了“允许活动内容在我的计算机上的文件中运行”,勾选

2008-01-03 17:01:00 2553

原创 让MFC DLL 中的窗口响应PreTranslateMessage

PreTranslateMessage是CWnd的虚函数,在这条函数里处理一些按键消息非常方便。但最近参与一个项目,这个项目由主程序和多个插件DLL组成,其中的一个插件DLL是带有界面的,并且以主程序的窗口为父窗口,在这个插件DLL窗口中怎么也响应不了PreTranslateMessage函数。看了看MFC的PreTranslateMessage实现终于找到了解决方法。当按下键盘时,首先主

2007-10-30 19:40:00 6961 4

原创 用户模式异步过程调用(APC)

以前对User-Mode APC不甚了解, 最近在看一个开源项目时看到了对APC的使用。看来多看代码的确是有好处地:)废话不多说。我们来看看APC的真面目吧。APC即asynchronous procedure call,每一线程都有一个APC队列。操作系统 允许一个应用向一个指定线程的APC队列中放入APC函数。当指定的线程处于警告状态时,该线程就会调用队列中的APC函数。调用的顺序为先入先

2007-10-18 17:47:00 1788

原创 MFC自绘Menu的Bug

最近在使用MFC自绘菜单时遇到一个问题:当菜单项都为Popup Menu 时,发现MFC不会调用自绘MeasureItem,以至于我的菜单宽度不对,无法显示菜单项文字。跟踪发现: 在wincore.cpp中的OnMeasureItem函数中调用的_AfxFindPopupMenuFromID有点问题。OnMeasureItem是自绘菜单弹出时向菜单父窗口发送的WM_MEASUREITEM消

2007-10-15 23:55:00 3439 4

原创 Vista下提升应用程序权限

在应用程序rc中加入RT_MANIFEST类型资源,ID号为1.内容为                            当然也可以右键单击应该程序,在弹出的菜单中选“使用管理员身份运行”。

2007-05-24 19:19:00 1072

原创 自绘非客户区的补充

发现在window2000 下当鼠标单击nc区时还是会画出默认的nc区。经过试验当鼠标单击时调用 LockWindowUpdate  这条函数就行了。使用方法。 LockWindowUpdate(hWnd);...LockWindowUpdate(NULL);

2007-05-13 10:54:00 1460 2

原创 窗口非客户区的绘制

1.根据需要,要改变nc区的大小. 响应WM_NCCALCSIZE可改变nc区的大小.关键在于lParam,msdn上说当wParam为True时, lParam为LPNCCALCSIZE_PARAMS的指定,当wParam为False时为LPRECT,做了些实验发现 只有第一次时wParam为False,LPNCCALCSIZE_PARAMS的语义相当复杂,不过我们只用 看第一个RECT就成.它

2007-04-06 11:48:00 8053 2

原创 关于EnableTooltips,EnableTrackingToolTips

CWnd 的方法EnableTooltips可以启用该窗口的Tooltip,使该窗口中的子控件可以出现工具提示:BOOL EnableTooltips(BOOL bEnable = TRUE);1.在窗口创建后调用EnableToolTips或EnableTrackingToolTips2.如果你的窗口是从CFrameWnd派生而来哪么只用响应TTN_GETDISPINFO消息,因为C

2007-03-17 17:56:00 3992

原创 关于vc下的多线程调试

前段时间一直在做多线程的东西,发现vc有一个bug,就是当把断点直接放入到 工作线程(非主线程)内时很容易造成系统死机,只能重启机器的情况。后来经过一些试验和朋友之前的交流,发现避免死机的一种方法,如下:1、先把工作线程内的所有断点去掉。2、在主线程中,创建工作线程之前的地方放置断点然后调试运行。3、当运行到断点的地方,再在工作线程中放置断点,并取消主线程中的断点。4、按F5这

2007-03-16 01:08:00 5002 3

转载 解决Windows 程序界面闪烁问题的一些经验

 一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁。先来谈谈闪烁产生的原因原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕上只是写到了显存里,而显卡每隔一段时间把显存的内容输出到屏幕上,这就是刷新周期。一般显卡的刷新周期是 1/80秒左右,具体数字可以自己设置的。这样问题就来了,一

2007-03-12 14:17:00 947

原创 博客第一帖

第一次写博客,希望新年新气象,大家都健康 

2007-03-05 01:54:00 771

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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