有趣的UAC判断规则~

刚刚编译LZMA SDK,结果其中的一个项目编译后没法调试,一看编译出来的EXE右下角打了个小盾牌。。

于是感到非常的莫名其妙。SDK是纯C写的,根本没有添加资源,不可能靠写manifest文件来加UAC的。于是怀疑是导入表导入了某些函数?查了下导入表也没发现个所以然来。

最后很无语地发现,原来是因为。。编译的EXE文件名叫SfxSetup。。。

UAC会很弱智地从文件名判断是否启用UAC,文件名中带有setup、update、install等字样的都会被开启uac,这些文件名的程序反而要用manifest文件来取消默认添加的uac才行。。

[……]

Read more

VB实现COM接口针对返回S_FALSE时的COM HOOK

这几天在写HtmlUI的VB6版本,Browser端原来折腾过,并且代码都在,还算好说,Server端用Asynchronous Pluggable Protocols,遍地求代码求不到,最后只得自己研究E文的MSDN,主要是要实现IInternetProtocol接口。

用VB写过COM的同学应该都知道,实现接口时VB是没法直接返回HRESULT的,通常的做法是什么都不做就代表S_OK,用Err.Raise E_XXXX返回错误。

在实现IInternetProtocol时,和往常一样,开始是一大堆的S_OK和一大堆的E_NOTIMPL,执行时发现IInternetProtoco[……]

Read more

有关VB.NET的弱类型和后期绑定

前天应邀在.NET下处理HTML DOM,就按照原来VB中的写:

Dim document = WebBrowser1.Document.DomDocument
MsgBox(document.getelementbyid(“aaaaa”).innerhtml)

工作很正常。然而同学却不懂VB,就翻译成C#,写成

Object document = WebBrowser1.Document.DomDocument
document.getelementbyid(“aaaaa”).innerhtml

结果没法通过编译。网上搜了下,有人说把Object换成var,试了下也不行。[……]

Read more

ASP.NET MVC折腾系列之(4)——LaTaleDB 1.0 Source Released!

开发环境:Windows 7 + Visual Studio 2008 + ASP.NET MVC 2 + MySql

部署环境:Debian 5 Lenny + Apache 2 + mod_mono + MySql

线上地址:http://www.gmsj.org/chddb

源代码下载:http://www.gmsj.org/chddb/LaTaleDB.rar

131205:链接已失效,需要资源请在评论区使用真实邮箱留言

源代码编译需求:.NET Framework 3.5 SP1 + Visual Studio 2008 SP1 + MySql.[……]

Read more

ASP.NET MVC折腾系列之(3)——有关在Debian 5上部署LaTaleDB的各种蛋疼的事儿

作为本人第一个ASP.NET MVC的程序,LaTaleDB的1.0版本准备当作业交了去,亦准备上线部署。

然后就是各种蛋疼至死的事情。。

首先,前面文章提到的mono-apache-server是用的mono 1.9版本,即.net 2.0,不含3.5的东西,于是当我把文件上传到服务器上时,访问时直接得到了个500,就说是出错了,如果要看详细信息,在Web.config中设置customErrors的mode为Off。。

然后错误信息是缺少引用。。就把DLL的多余引用去掉,重新编译传了下,再把再缺的DLL从Windows目录里拷出来上传上去。。

然后提示无法启动编译器进程,aspx要[……]

Read more

ASP.NET MVC折腾系列之(2)——遇到的MONO框架的两个BUG

EVA暂时封存,今天晚上开始折腾ASP.NET。

但是没太大兴致做blog,就把原来的GhostCHD找了出来,把DataCore.vb粘过来,试着做一个彩虹岛的Web数据库。

经测,Web和本机一样,程序集中的全局变量(vb.net中写为class的shared成员变量)在dll卸载前是不会回收的(只要有引用就不会回收),而关键是,在一次请求过后,程序是还在的!这和php有着本质的区别!即服务端是保存状态的(DLL在什么情况下可能被卸载还有待研究),这使得有些东西可以保存在内存中不用每次访问数据库或者文件查找。

在WebDev中调试一切正常,但在MONO中出错。

1、SPFReade[……]

Read more

买了个新米——LXF.ME

EVA拉完了,无聊中去了趟godaddy,看到LXF.ME居然还没被抢走。。话说我关注这个米已经关注很久很久了。。只不过没买。。

然后在豆子的怂恿下。。就。。就买了。。第一年是8.99刀,找不到优惠码。。ME的米可能到以后续费还会涨价。

NS设到DNSPOD,DNS设置@记录和*记录到VPS,apache那边开了个virtualhost写了个.htaccess跳转

Redirect / http://lxf.me

不过现在还想不到用场。是做短地址呢还是做blog呢。。先放这儿吧~

http://lxf.me

[……]

Read more

ASP.NET MVC折腾系列之(1)——Linux下跑ASP.NET

近日因作业需要在捣腾php的模板,无意中注意到了ASP.NET MVC框架,直接被秒杀——半年来我一直在致力于的界面代码数据分离原来用MVC模式可以做的很完美,比我设想中的还要完美。。觉得自己大大的被BS了,软件工程看来还是有点用的。

ASP.NET怎么说呢。一年前帮S姐调大作业,就是ASP.NET的,觉得WebForm对HTML的封装过头了,太傻瓜了,完全不像Web开发了,所以一直很抵制它,又因为发誓不碰Java,所以这一年来还是在php中泡着。php是最方便的web语言,但项目一大,就会出现如速度慢等各种问题,最起码我不喜欢它的类,类这个东西我最喜欢.net,其次是ansi c++。在看[……]

Read more

简析wordpress与discuz、smarty模板技术的根本区别

近日了解了下php的模板技术,准备在接下来的要做的程序中使用。因为是团队合作,需要将代码和界面并行开发,故需运用模板技术。稍稍有些困惑是采用discuz、smarty一类的模板技术好呢还是采用wordpress一类的好呢。今天上课开小差时突然领悟,两者是有根本区别的。

discuz、smarty一类的模板是比较纯正的html文件,中间需要填充的数据一般用{标识符}表示,php中使用正则表达式分析然后输出。

wordpress的模板是也是html,但需要填充的数据直接采用php标签,如在显示文章点击量的地方写上<?php echo wp_views();?>。

看似[……]

Read more