正在加载...

PF BLOG

解决Listview中获取程序图标“毛边儿”(黑边儿)问题

取得含程序图标的程序列表时,一般的思路都是将图标用 API函数SHGetFileInfo获取图标ico句柄,并加载到imagelist中,供Listview调用,这样固然可以出效果:

未命名.jpg

大小: 5.02 K
浏览: 9 次

但看着图标毛刺儿一样的黑边儿心里很不爽,网上搜了一番,有反映是imagelist的问题,那么就试着直接把图标绑定到Listview上:

首先要自己写一个小图标集:

		uses ShellApi,CommCtrl
...
var  S_ImageListHandle: THandle;//小图标集句柄
     FileInfo: SHFILEINFO;
...

» 阅读全文

业内良知——淘宝网提供rubygems镜像站

程序员一般都很少关心政治,但是每当重要的技术站点被wall时,很多人都要自言自语一个字:cao!就比如rubyer们比较喜爱的http://rubygems.org/。。。不多说这个了话题了,今天要给ruby程序员转告的一个喜讯是:淘宝网提供了速度暴快的国内rubygems镜像站:http://ruby.taobao.org/

» 阅读全文

杂谈CSDN泄密之痛

自诩“全球最大中文IT社区”的CSDN在前几天发生了足以让无数程序员傻眼的事情:600万帐户、密码和邮箱明文泄漏!一个网站的密码被泄漏是小事儿,大事儿是隐私信息的泄漏掀起了一股“社会工程学”实践应用的腥风血雨!群内有网友尝试了几个QQ账户、邮箱账户,成功渗透率几乎是100%。对于CSDN的泄密,且不做过多评判,虽然我坚信这件事情会成为2011年末互联网界最劲爆的新闻。

我们需要做的是,如何管理好自己的账户信息。任何一个程序员在网上的账户数量不会只有一两个,而大多数却只会用一套密码,这就为“社工”渗透提供了条件,但是如果设置多套密码,又容易造成密码遗忘或混乱,影响正常工作,仿佛解决这个矛盾的问题一直都有各种方案不断涌现,而无疑,影响选择解决方案的心理状态只有一个:谁会放心地把鸡蛋装在一个篮子里?

» 阅读全文

分享个人做的小软件:远程桌面管理工具

工作之余用Delphi写的,主要是为了方便管理多个windows服务器(之前公司服务器管理相对混乱,存在诸多不安全隐患),软件很小,使用也很简单,就不多介绍了,有用到的下载使用就是了,欢迎指点。

软件截图:

2011-12-21_161037副本.jpg

大小: 191.8 K
浏览: 10 次

下载地址:rdpmanager.exe

PS:如果你的电脑上没有windows自带的远程桌面工具(mstsc.exe),可以到我的上一篇博文中下载《Windows 7 中提取出来的远程桌面客户端工具》。

Windows 7 中提取出来的远程桌面客户端工具

一般来说windows操作系统都带有这个工具,但是目前windows 7 下的这个版本速度最快、界面最美观,上传至此,供大家不时之需:

截图:

2011-12-20_131906.jpg

大小: 66.31 K
浏览: 7 次

下载地址:win7_mstsc.rar

两款批量字符集编码转换小工具

gb2utf8.rar

charsetconverter.zip

分享一下自己用的SQLite数据库密码操作小工具(含源码)

 

SQLite(http://www.hwaci.com/sw/sqlite/download.html)的优势以及wxsqlite(http://wxcode.sourceforge.net/components/wxsqlite3/)的特点就不多说了,可以自己查资料。

Unidac3.6以上版本已经支持带密码的Sqlite数据库操作了,但是加密、修改密码和清空密码仍然需要用WxSQLIte的Sqlite3.dll扩展的API来实现,而一般情况下,我们并没必须在项目中频繁地做数据库密码的操作,更多的是在项目结束时把数据库加密后一并发布,因此,这个小工具对你来说就比较顺手了,代码注释的比较详细,供新手学习参考吧。

» 阅读全文

SQLite3 返回值解释

 

//成功返回SQLITE_OK ,即0
#define SQLITE_OK           0   /* Successful result */
/* beginning-of-error-codes */
//SQLITE 错误代码宏
#define SQLITE_ERROR        1   /* SQL error or missing database */
#define SQLITE_INTERNAL     2   /* Internal logic error in SQLite */
#define SQLITE_PERM         3   /* Access permission denied */
#define SQLITE_ABORT        4   /* Callback routine requested an abort */
#define SQLITE_BUSY         5   /* The database file is locked */
#define SQLITE_LOCKED       6   /* A table in the database is locked */
#define SQLITE_NOMEM        7   /* A malloc() failed */
#define SQLITE_READONLY     8   /* Attempt to write a readonly database */
#define SQLITE_INTERRUPT    9   /* Operation terminated by sqlite3_interrupt()*/
#define SQLITE_IOERR       10   /* Some kind of disk I/O error occurred */
#define SQLITE_CORRUPT     11   /* The database disk image is malformed */
#define SQLITE_NOTFOUND    12   /* NOT USED. Table or record not found */
#define SQLITE_FULL        13   /* Insertion failed because database is full */
#define SQLITE_CANTOPEN    14   /* Unable to open the database file */
#define SQLITE_PROTOCOL    15   /* NOT USED. Database lock protocol error */
#define SQLITE_EMPTY       16   /* Database is empty */
#define SQLITE_SCHEMA      17   /* The database schema changed */
#define SQLITE_TOOBIG      18   /* String or BLOB exceeds size limit */
#define SQLITE_CONSTRAINT  19   /* Abort due to constraint violation */
#define SQLITE_MISMATCH    20   /* Data type mismatch */
#define SQLITE_MISUSE      21   /* Library used incorrectly */
#define SQLITE_NOLFS       22   /* Uses OS features not supported on host */
#define SQLITE_AUTH        23   /* Authorization denied */
#define SQLITE_FORMAT      24   /* Auxiliary database format error */
#define SQLITE_RANGE       25   /* 2nd parameter to sqlite3_bind out of range */
#define SQLITE_NOTADB      26   /* File opened that is not a database file */
#define SQLITE_ROW         100  /* sqlite3_step() has another row ready */
#define SQLITE_DONE        101  /* sqlite3_step() has finished executing */
/* end-of-error-codes */

三步解决Oracle数据库死锁

第一步:查看是否有死锁存在,查出有数据则代表有死锁  

select p.spid,c.object_name,b.session_id,b.oracle_username,b.os_user_name  from v$process p,v$session a,v$locked_object b,all_objects   c  
where  p.addr=a.paddr  
and    a.process=b.process  
and    c.object_id=b.object_id

» 阅读全文

Rails 2 替换Prototype为jQuery

一直习惯于用jQuery,但是Rails 2默认的JS框架是Prototype,网上找到一个解决方案:

下载安装jrails插件:

	script/plugin install git://github.com/aaronchi/jrails.git
会把需要的js文件拷贝到public/javascripts目录下。

» 阅读全文

Total: 31Page 1 of 41234Next ›