
疑难杂症
文章平均质量分 89
breaksoftware
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一种准标准CSV格式的介绍和分析以及解析算法
CSV是一种古老的数据传输格式,它的全称是Comma-Separated Values(逗号分隔值)。出生在那个标准缺失的蛮荒年代,CSV的标准一直(到2005年)是NULL——世间存在着N种CSV格式,它们自成体系,相互不兼容。比如我们从名字可以认为CSV至少是一种使用逗号分隔的格式,但是实际上,有的CSV格式却是使用分号(;)去做分隔。假如,不存在一种标准,那么这东西最终会因为碎片化而发展缓慢原创 2013-12-04 19:43:02 · 17978 阅读 · 9 评论 -
如何在父进程中读取子(外部)进程的标准输出和标准错误输出结果
最近接手一个小项目,要求使用谷歌的aapt.exe获取apk软件包中的信息。依稀记得去年年中时,有个同事也问过我如何获取被调用进程的输出结果,当时还研究了一番,只是没有做整理。今天花点时间,将该方法整理成文。(转载请指明出于breaksoftware的csdn博客) 在信息化非常发达的今天,可能已经过了江湖“武侠”草莽的时代。仅凭一己之力想完成惊人的创举,可谓难上加难。于是社会分原创 2013-02-20 20:31:28 · 11848 阅读 · 0 评论 -
一种不会导致资源泄露的“终止”线程的方法
在项目工程中,我们可能会使用第三方开发的模块。该模块提供一个接口用于完成非常复杂和耗时的工作。我们一般不会将该API放在UI线程中执行,而是启动一个线程,用工作线程去执行这个耗时的操作。(转载请指明出于breaksoftware的csdn博客)static VOID OtherPartFun() // 第三方提供函数,超级耗时,不如来个极限,死循环{ int nIn...原创 2012-11-21 20:56:28 · 2690 阅读 · 6 评论 -
一种精确从文本中提取URL的思路及实现
在今年三四月份,我接受了一个需求:从文本中提取URL。这样的需求,可能算是非常小众的需求了。大概只有QQ、飞信、阿里旺旺等之类的即时通讯软件存在这样的需求。在研究这个之前,我测试了这些软件这块功能,发现它们这块的功能还是非常弱的。这类软件往往也是恶意URL传播的媒介,如果不能准确识别出URL,相应的URL安全检测也无从谈起。而且网上也有很多使用正则表达式的方法,可是我看了下,方法简...原创 2011-11-24 20:42:02 · 42963 阅读 · 9 评论 -
桌面窗口的一些发现
最近因业务需要,玩了一下全屏问题。后来,对windows xp sp2的桌面窗口产生了兴趣。写了段代码,玩了一下。同时结合网上的一些知识,发现了以下一些现象。(转载请指明出处) 首先窗口名有#32769、Progman、Shelldll_defview和SysListView32。从第一个到最后一个都是成父子关系。可以通过m_pwnd = GetDeskt...原创 2009-07-08 21:00:00 · 6584 阅读 · 7 评论 -
ATL::CStringA和std::string之间转换的一些误区
对于刚做windows下VC的开发同学,类型转换应该是一个令其很苦恼的问题。我刚写工作的时候,也为这类问题不停的在网上搜索转换方法。最近工作中遇到一个“神奇”的bug(一般“神奇”的问题往往是低级错误导致的),最后跟踪发现还是类型转换问题。(转载请指明出处) ATL::CStringA和std::string都可以“接受”\0,也就是说,在CStringA的对象的内...原创 2011-07-13 18:29:27 · 7473 阅读 · 1 评论 -
使用VC实现一个“智能”自增减线程池
工作中接手了一款产品的改造。因为该产品可能使用很多线程,所以产品中使用了线程池。(转载请指明来自BreakSoftware的CSDN博客) 线程池的一个优点是降低线程创建和销毁的频率;缺点是可能在比较闲的时候还存在一定数量的空闲线程。这个也可以比作现实生活中的武器,对于一款武器,有其攻击的能力和防御的能力。有些设计可能会将攻击力做的很强但是防御力有所折扣,有些可能...原创 2011-12-22 22:42:56 · 8220 阅读 · 27 评论 -
VC下通过进程ID获取进程镜像文件路径的方法及其存在的缺陷
工作中经常会遇到通过进程ID获取进程镜像文件或者其他模块的路径的需求。(转载请指明出处)网上关于方案大致存在两种方案:OpenProcess->GetModuleFileName OpenProcess->EnumProcessModules->GetModuleFileNameEx 我试验了下,第一个方案是不正确的。OpenProcess返...原创 2012-04-20 23:26:22 · 9352 阅读 · 5 评论 -
一种清除windows通知区域“僵尸”图标的方案——问题分析
本文主要讲述Windows通知区域的有趣的历史和结构,从而方便之后解决“僵尸”图标问题。原创 2013-12-09 01:01:44 · 10096 阅读 · 4 评论 -
发现一个windows7(32bit或64bit)DirectUI的bug
前段时间发现一个windows7的一个bug,不是什么严重的问题,我在此记录下。(转载请指明出于breaksoftware的csdn博客) 重现步骤如下: 0 在文件夹的“更改您的视图”中选择下图中用红色叉叉标记的项 1 新建一个文件夹名为“Cs" 2 选中Cs文件夹,按F2,或者右击选“重命名”,或者慢双击原创 2013-04-23 17:54:44 · 2634 阅读 · 0 评论 -
一个分析“文件夹”选择框实现方法的过程
在软件开发中,我们如果存在“导入导出”的场景时,难免会用到“文件夹”选择框。之前一直没有太关注过这个的实现过程。最近在工作中遇到了一些问题,我做了一些研究。在此记录下研究的过程。原创 2013-10-31 23:57:40 · 4966 阅读 · 1 评论 -
一种在注入进程中使用WTL创建无焦点不在任务栏出现“吸附”窗口的方法和思路
最近一直在做沙箱项目,在项目快接近结尾的时候,我想给在我们沙箱中运行的程序界面打上一个标记——标识其在我们沙箱中运行的。我大致想法是:在被注入程序的顶层窗口上方显示一个“标题性”窗口,顶层窗口外框外显示一个“异形”的空心窗口。这些窗口如影子般随着其被“吸附”窗口移动而移动,大小变化而变化。(转载请指明出处)以记事本为被注入程序为例: 我用的注入和HooKApi方案...原创 2012-07-30 15:21:12 · 3447 阅读 · 9 评论 -
一种将快捷方式从开始菜单“常用应用”的中去除的方法
当我们安装一款软件的时候,这款软件的一些快捷方式可能被设置到开始菜单的“常用应用”区域。但是,如果是“卸载”快捷方式被“钉”到该区域,就会造成非常不好的体验。毕竟把“卸载”接口暴露得如此醒目,如同把该款软件的地狱大门暴露出来。(转载请指明出于breaksoftware的csdn博客) 如下图,python就将卸载程序放到了“常用区域”。从而会导致windows会将...原创 2014-04-07 22:19:49 · 4416 阅读 · 2 评论 -
一种使用GDI+对图片尺寸和质量的压缩方法
该文介绍了两种图片压缩算法。这两种方法都是通过GDI+技术实现。其中一种是质量压缩:图片尺寸不变,质量降低,大小降低。另一种是尺寸压缩。该文介绍的两种方法对JPEG、bmp和PNG都有效。原创 2014-06-13 00:32:39 · 9223 阅读 · 5 评论 -
"打开,保存"文件框的文本溢出排查
解决工作中遇到的一个"打开,保存"文件框的bug的过程原创 2013-10-31 23:58:16 · 2180 阅读 · 0 评论 -
进程间通信:同步双工管道
因为工作需要,需要设计出一个双工的IPC。(转载请指明出处)在一番比较后,我发现管道是比较符合我们的需求的。但是我们需求要求管道的对方是可信任的,而在vista以下系统是没有GetNamedPipeClientProcessId、GetNamedPipeClientSessionId、GetNamedPipeServerProcessId、 GetNamedPip...原创 2011-11-22 19:42:34 · 4771 阅读 · 2 评论 -
一种清除windows通知区域“僵尸”图标的方案——XP系统解决方案
XP下“僵尸”图标的解决方案 从《一种清除windows通知区域“僵尸”图标的方案——问题分析》(以后简称《问题分析》)一文中分析的通知区域结构可以看出,XP的通知区域结构是相对简单的。如果我们解决了XP下的问题,那么Win7上的问题至少解决了一半——只有那个隐藏系统通知区域需要研究下。所以,我们先选择XP作为研究对象。(转载请指明出于breaksoftware的csdn博客)原创 2013-12-09 01:03:17 · 5082 阅读 · 0 评论 -
一种解决启动进程传递参数过长的方法
工作中,QA同学在测试我们程序的时候,发现在XP下,我们的A进程无法启动我们的B进程。而在Win7 64bit系统下功能正常。RD同学调试后,发现我们A进程中使用ShellExcute去启动了B进程(转载请指明出于breaksoftware的csdn博客)HINSTANCE ShellExecute( _In_opt_ HWND hwnd, _In_opt_ LP...原创 2013-10-31 23:58:28 · 3695 阅读 · 0 评论 -
优化系统后VS启动不了问题的一种解决方案
本文只讨论使用第三方软件优化系统后,或者您主动禁止服务后导致VS不能启动的问题。(转载请指明出处) 记得大概是08年时,我使用一些软件对电脑启动项做了优化。后来打开VS2005时,发现VS2005会一直保持在“载入界面”,当时十分懊恼,因为我也不知道那些优化软件修改了我电脑什么设置,而且当时网络上也没有相关的解决方案介绍,于是就硬着皮头重装了VS2005!!还是重装了两次!!!问原创 2012-06-10 17:21:12 · 2831 阅读 · 0 评论 -
一种清除windows通知区域“僵尸”图标的方案——Windows7系统解决方案
Windows7下“僵尸”图标的解决方案 从《一种清除windows通知区域“僵尸”图标的方案——问题分析》(以后简称《问题分析》)一文中分析的通知区域结构可以看出,Windows7的通知区域比XP通知区域多出了一个“临时”系统通知区域(转载请指明出于breaksoftware的csdn博客)。我们通过GUID保证Windows7系统上图标的唯一性。原创 2013-12-09 01:05:13 · 3890 阅读 · 4 评论 -
一种解决运行程序报“应用程序配置不正确”的问题
在我们开发工程中,可能有些情况下,不能在本机进行调试。这个时候我们一般会使用VM(vmware)建立一个虚拟机环境,然后把编译过的程序放在该虚拟机环境下执行调试。可是在某些情况下,不管我们编译的是debug还是release版本,在虚拟机环境中都会报“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。”(The application has faile...原创 2012-05-11 22:29:51 · 15402 阅读 · 3 评论