wrong logic in yajl_tree_get (returns NULL even when val exists)

用yajl不要用主页(lloyd.github.com/yajl/)的2.0.1,已经很久没有更新了,有个致命bug,如标题所说。

ISSUE:https://github.com/lloyd/yajl/issues/52

SO上的讨论:http://stackoverflow.com/questions/7309992/parsing-json-with-yajl-in-c

简而言之,第一个key存在,但是值返回NULL。

此commit已经fix 9c2948a33165c650122d131f31140c15321908f5

请用git clone git://github.com/lloyd/yajl.git 保持更新。

installscript silent install

installshield支持静默安装的安装包类型有installscript、basic msi、installscript msi。

首先编译生成的安装包setup.exe 运行加上参数 -r  进入record mode,手动将软件安装好之后,系统会生成一个应答文件(response file)路径:C:\Windows\setup.iss。setup.iss是一个记录刚才安装用户对于每个对话框的点击和输入变量(比如一些edit box、checkbox)的文本文件。

关于setup.exe的参数解释参见http://kb.flexerasoftware.com/doc/Helpnet/installshield12helplib/IHelpSetup_EXECmdLine.htm

手动卸载软件后,将setup.iss复制到setup.exe同目录下。接下来运行setup.exe -s -f1″“。f1参数指定iss绝对路径。我测试setup.exe和setup.iss在同目录的情况不加f1也可以。不过千万别用相对路径。

静默安装过程中没有界面。如果安装过程中出现错误,会在setup.exe同目录下生成setup.log:

[InstallShield Silent]
Version=v7.00
File=Log File
[ResponseResult]
ResultCode=0
[Application]
Name=xxsoftware
Version=8.00.0000
Company=xx
Lang=0009

ResultCode是返回的错误代码,0表示成功,具体参见“Checking for Errors Using the Setup.log File”。

关于静默安装方法的文档:http://kb.flexerasoftware.com/doc/Helpnet/installshield12helplib/InstallShieldSilent.htm

 

LoadImage失败 return NULL

windows api LoadImage只能加载BITMAP、ICON、CURSOR。

今天加载了一个图片,图片扩展名是bmp,但是LoadImage失败。

winhex打开文件头内容是:GIF89a,用mspaint转成bmp显示成功!

恢复损坏的excel文件(xls)

我姐的同学的同事误删除了windows共享里面的excel文件。

尝试用easy recovery恢复,文件可以找到。但是打开后excel提示某些单元格数据已经损坏。用excel自带的修复没作用。

翻遍了整个网络找到了两个可以恢复破损excel文档的软件。

一个是 Recovery for Excel 还有一个Advanced Excel Repair。

Recovery for Excel 商业软件,demo版本可以恢复部分单元格,其他都已“Demo”文字代替。最便宜的standard版本卖价$149。尚未找到xx版,或许压根就没有。

Advanced Excel Repair 商业软件,提供试用。这个便宜点只要$89.95 ,最新版本1.4.1的Advanced Excel Repair(Excel修复工具)V1.4.0.1 绿色汉化版已经在中文网络上广为流传。因为版权原因这里不提供下载链接。请自行搜索。恢复的时候记得勾选“恢复完成后打开”,不然找不到恢复后的文件。

其他在中文网络上流传的Excel修复专家 Excel修复精灵都tm是木马病毒,还是基于Recovery for Excel修改的。