Jul 31 2011

转眼又到7月最后一天了

Category: 乱up当秘笈ssmax @ 10:40:31

这个月弄了一个discuz论坛,翻x用的,还弄了一个垃圾站,好久没做这些东东了,有点不熟手,下个月继续搞多些垃圾站看看,反正有n个域名丢空了很久啊,哈哈。


Jun 30 2011

Discuz X2 打开 插件设计 菜单

Category: 技术ssmax @ 15:26:44

最近在搞discuz的插件,发现最新版的X2默认隐藏了插件设计的选项,找了一下才知道如何打开,具体如下

编辑 config/config_global.php

加入

$_config['plugindeveloper'] = 1;

如果设置该值为2的话,还可以打开language之类的设置。


Jun 28 2011

转载:《无极》看懂了。。。

Category: 乱up当秘笈ssmax @ 16:48:25

陈凯歌曾经说过,无极你们现在看不懂,以后你们会明白的:

1.《无极》里面满神对倾城(张柏芝)说:你永远都得不到真爱,就算得到也会马上失去!

2.《无极》里面谢霆锋对倾张柏芝说:你毁了我做一个好人的机会!

3.《无极》里面倾城(张柏芝)对百万将士说:“你们想看我脱衣服吗? 后来大家都看到了。。。


May 13 2011

转载:战争尚未结束(沙县小吃除掉了本·拉登)

Category: 乱up当秘笈ssmax @ 23:11:20

此文转载自网络,笔锋幽默凝练,让人捧腹

 

“战争结束了。”沙县小吃的老板叼着一根烟,一屁股坐在我的面前,眼神飘忽。一口烟从他口中爬出来。
  我感到不快。
  当时我要了一笼包子,一个大份馄饨,吃的很开心,准备再要一只鸡腿,其实我更想吃大排套餐里的大排,但是不知道那个是否能单卖,我正在心中酝酿措辞。这个中年人一屁股坐在我的面前,一个单独吃饭吃得面带笑容的顾客面前,说了一句没头没脑的话,而且抽着烟。
  “什么战争?另外,大排套餐里的大排单卖么?”我耐着性子问。
  他起身去厨房,端来一口锅,满满全是卤味。蛋,豆干,鸡腿,大排。
  “你这是……?”我问。
  “随便吃,不要钱,如果你要白饭的话我去添。”他递给我一只大勺,“听我说说话,我心里有话,一切都结束了,我得说一说。”
  这很合算。我点头。
  “你看,”他手指不远处。一家兰州拉面馆,老板和几个伙计坐在门口的一张桌子上,各自手里捏着一把扑克牌。“他们在干吗?”
  “打牌,”我在锅里寻找一颗卤得较久比较入味的卤蛋。
  “不,仔细看。”他面带一种讥诮。
  我停下筷子,仔细观察。他们手捏一把扑克牌,但好长时间都没有人动一动,表情麻木,彼此之间沉默不语。
  “彷徨。”他轻敲桌子,“我理解这种感受。”
  我不理会他,夹开一颗卤蛋,汁水四溢。
  “你知道么?本·拉登死了。”他好像在告诉我一个秘密一样。
  “嗯嗯……。”我口含一颗卤蛋,含糊答应,蛋黄噎住了我的嘴。
  “所以,战争结束了。It‘s over。他们输了,我们赢了,”他表情悲戚。“但有一点一样,从明天起,我们同样是是失牧的羔羊了。”
  我重新端详这个老板,微黑,沿海五官,有一种潮汕地区人民特有的质朴之气。
  “老板你是不是最近生意做得不顺?”我问。你脑子坏了吗?你馄饨包傻了吗?你卤汤中毒了吗?
  “你见过工商来这里收钱么?”他问。
  “似乎是没有。”
  “你见过混混来搅事么?”他问。
  “好像是也没有。”
  他俯起身子贴近我,在我耳边很深沉的说。“因为我是安全部的。”
  我再次端详这个老板,微黑,沿海五官,有一种猫扑大杂烩的伟大使命感。
  “哈?”我说。你老母的。
  “我不是开小吃店的。我是一名情报人员。”他翘起二郎腿,坚毅,目视远方。
  “哈?”我说。你老母的。
  “沙县小吃不是为了挣钱才开遍全国的,是为了应对伊斯兰极端势力通过他们渗入中国内陆城市,才特设的特别行动机构,隶属于安全部第九局。”他说。
“他们?”我骇到了。
  他手一扬。
  “兰州拉面?”我扭头看。
  “不只。”他左右张望。“还有吴忠小吃,新疆大盘鸡……”
  “不是吧。”我回头看兰州拉面,经常在那里吃饭。
  “比你想象的更黑暗。”
  “叼啦!哪里有这么多钱搞这么多人。”
  “中东很多富豪的。”他说。
  “不是,我说这么多家沙县小吃……”
  “交过税么?”他问。
  “你这不是屁话么?”
  “房价高么?”他问。
  “抽你了啊。”
  “那么多税,年年创新高,那么多地,每天新地王。”他停顿一下,给我思考的时间。“钱到哪里去了?”
  “咦,难道不是被吃喝贪掉了么?”
  “放屁!”他跳起来,根根青筋凸起,好像要拿大耳光抽我。“我们的官员为此背负多少骂名!”
  “你的意思是说,”我露出了惊异的表情。
  “是的。”他环指整家店面。“情报机构。国家的盾牌。”
  “你听说过五千亿维稳经费么?”他问。
  “听说过。”
  “实际投入的钱十倍都不止!”他慷慨激昂。“中国根本就没有贪官!”
  “没有贪官?”
  “一个都没有!”
  “那么?”
  “都是幌子!迷惑国际敌对势力!”他说,“你看到那些肠肥脑满的官员……”
  “是幌子?”
  “忍辱负重。他们为国家付出很多。”表情深沉。
“你设想一下。”他循循善诱。“如果我们一分钱都没有大吃大喝,一分钱都没有被贪污,官员只是装出无能和贪婪的样子,让国际上以为我们的财力都被内耗了……”
  “我的天!”我震惊了。被这宏大的真相所震撼,屋里一片寂静,两个人相视无语。
  “中央在下一盘很大的棋。”他周身放出强国社区的盛大光芒来,好刺眼!
  “我们已经近乎全能了。”他骄傲的说。
  “不是吧……”
  “哼,本·拉登死了,你知道么?”
  “你刚才问过了,我知道……”我忽然停住,意识到了这句话的意思。
  “位置是我们提供的。”他故作轻快的说。
“我的天!”再一次震惊,“这么说是沙县小吃除掉了本·拉登!”
  “不,”他有些不好意思起来,“准确的说,这个情报是由绝味鸭脖截获到的,总参二部的,但我们是同一个旗帜下的战友。如果你买鸭脖的时候用内部暗号‘一曲忠诚的赞歌’,还能有八折……”
  “甘撒热血谱春秋。”他站起来,激动的用唱腔诵道。
  然后他面露颓唐之色,重重的坐下来。
  “怎么了?”我问。
  “一切都结束了。”他沉痛的说。“本·拉登死了,基地组织全面撤出中国,沙县小吃即将撤编了。”
  “我并不憎恨本·拉登,他也是一个有理想,为了信仰奉献一生的人。”他喃喃的说。“但是这是上头的意思,我们和美国做了一笔肮脏的交易。”
  “我将要离去,这个工作了许多年的岗位。”他猛抽烟。“我见过许多你们难以置信的景象。天麻猪脑汤的雾气中,浮动着所有悲喜与沉默,一只猪的前世今生。咀嚼乳鸽时,世界会颠倒下来,你飞速的坠向天空。一头扎进蒸熟的籼米,你看见白色的广袤世界中闪动着美丽的南方。”
  “而这一切都将归于湮灭,就像在肉馅中消融的一片葱花。”
  “离开的时刻到了。”他捂着脸,我从他的指缝中看到一片黑暗的泪水。
  当他再度站起来,那个坚毅的情报人员消失了,他重新变成了一个沙县小吃的老板,微黑,沿海五官,漫不经心的收拾着碗碟。
  “你走吧,不要告诉任何人。”他说。
  若干天之后,我又经过那条街,没有了沙县小吃也没有了兰州拉面,小贩们窃窃私语,其中有多少暗流正在涌动?我不知道,但失去了沙县和兰州的这条街,正变得陌生而失去灵魂。
  但我意外的在市中心的大娘水饺又看到了他。的确是他,穿着服务员的制服招徕客人。我万分激动,上前招呼他,“找了新工作了?”他目光游移,并不理我,向一个方向稍一颔首。我向他指的方向看去,一家肯德基的门店经理正冷冷的隔着玻璃注视着这边。
  “战争尚未结束。”他擦过我身边低声说。
  “一曲忠诚的赞歌。”我低声回应。


May 11 2011

终于结婚啦~~

Category: Lovessmax @ 20:54:37

2011年5月2日摆酒,整个婚庆布置一手操办,搞了3个多月,终于可以休息一下啦,哈哈哈


Apr 07 2011

Test Syntax Highlighter

Category: 技术ssmax @ 18:47:55
bash
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

java

 public static final int[] sum = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };
 public static final char[] check = { '1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2' };

 public static String getDate(int next)
 {
  Calendar caltime=Calendar.getInstance();
  caltime.add(Calendar.DAY_OF_MONTH,next);

  return  Config.objFormat.format(caltime.getTime());
 }
 public static boolean checkValid(String nid) {
  if(nid!=null)
  {
   nid = nid.trim();
  }
  nid = nid.toUpperCase();
  if(nid.length()>18 || nid.length()<16)
  {
   return false;
  }
  if (nid.matches("^\\d{15,17}[\\dX]$"))
  {
   return true;
  }
  return false;
 }


Apr 07 2011

玩转Windows 7文件关联

Category: 技术ssmax @ 18:07:33

遇到一位朋友紧急求助:系统是windows7,这位朋友因为桌面没有OFFICE图标,又急着要用WORD,就把一个桌面图标右击,选择打开方式中选择了Word,而且没有把“始终使用这种程序打开同类型文件”前的勾去掉。这一改之后,结果所有的快捷方式全变成了word文档了。可以再改成别的,比如再改为记事本方式打开,但就是没有办法恢复原状。

  这是一个文件关联的问题。这样的问题在xp下根本就不可能发生,看来这个具体问题是Win7下的新问题。网上大致搜了一下,发现出现这样问题的决不只是这位朋友,看来有解决的必要。

  为了解决这个问题,我们需要先谈一下文件关联的一些基本的知识,这样才能使朋友们做到知其然而知其所以然。

  文件关联,主要的是把文件类型与开放式命令关联起来。而 windows是通过文件的扩展名来识别文件类型的,这就首先需要把扩展名与文件类型关联起来。

  assoc命令

  要修改扩展名与文件类型的关联,我们需要用到一个命令:assoc

  点开始,搜索,输入cmd,打开cmd,在cmd中输入:assoc /? 回车。我们可以得到关于这个命令的帮助。

  assoc命令的作用有两个,一是显示扩展名与文件类型的关联,一是改写扩展名与文件类型的关联。

  让我们以快捷方式的关联为例来讲述这个问题。

  快捷方式的扩展名是.lnk,在 windows下,这个扩展名一般是不会显现出来的,如果出现了,必是它的文件关联出问题了。

  我们在cmd中输入:assoc .lnk ,回车后我们可以得到的命令结果是: .lnk=lnkfile 。这个命令结果显示了:扩展名.lnk与文件类型lnkfile是相关联的。凡是扩展名为.lnk的文件,都属于lnkfile这个文件类型。

  现在让我们输入命令: assoc .lnk=lnk ,按下回车键,lnk这个扩展名与文件类型的关联就被改写了。然后我们再输入命令: assoc .lnk ,按下回车键,我们得到的命令结果将是: .lnk=lnk ,这个结果显示了,扩展名.lnk已经是与文件类型lnk相关联,而不再是与lnkfile相关联。

  这个时候你去桌面上去看一下吧,你桌面上所有的快捷方式的后缀名.lnk全部显示出来了,所有的快捷方式都不再可用。双击时会提示:windows无法打开此文件。

  现在再让我们输入: assoc .lnk=lnkfile ,按下回车键,我们将会发现,一切又恢复了原状。

  总之,如果是快捷方式的扩展名与文件类型之间的关联出现了问题,我们只需要输入: assoc .lnk=lnkfile,回车后即可以解决问题。

  这样,如果我们知道一种扩展名所属的正确的文件类型,当这种扩展名与文件类型之间的关联出现问题的时候,我们只需要输入: assoc .ext=filetype ,按下回车键即可。 这个.ext代表的是文件扩展名,比如.lnk,这个filetype代表的是文件类型,比如lnkfile。如果我们不知道一种扩展名所关联的文件类型是什么,我们只需要在cmd中输入:assoc .ext回车。我们就能得到它所关联的文件类型是什么。

  每一个注册了的扩展名都会在注册表中存在着一个对应的注册表项: HKEY_CLASSES_ROOT\.ext ,

  这里的.ext代表的是扩展名,比如快捷方式对应的项就是: HKEY_CLASSES_ROOT\.lnk ,这个项有一个默认的值,这个默认的值的数据,就是这个快捷方式所关联的文件类型。因而assoc命令,主要的就是修改这个项的默认值的数据。但需要注意的是,assoc命令所修改的内容,并不仅仅是这个项的默认值的数据,它还会要修改其它的一些方面。所以我们直接在注册表中改这个值的数据,并不能完全代替assoc命令。

  fytpe命令

  我们现在知道了如何把扩展名与文件类型关联起来了,进一步地需要知道的是如何把文件类型与开放式命令关联起来。比如.txt扩展名所关联的文件类型是txtfile,而txtfile正常的情形下,总是用 notepad.exe(记事本)来打开的,这个notepad.exe就是打开txtfile文件类型的开放式命令。

  如何来修改这种文件类型与开放式命令之间的关联呢?这需要用到另外的一个重要的命令:ftype

  让我们在cmd中输入: ftype /? 回车。我们可以得到这个命令的帮助。

  ftype命令有两个作用,一是显示文件类型与开放式命令之间的关联,一是改写文件类型与开放式命令之间的关联。

  如果我们想知道一种文件类型与什么样的开放式命令相关联,我们只需要在cmd中输入: ftype fileType ,按下回车键,我们就能够得到我们想要得到的结果。

  这个fileType代表的是指定的文件类型,比如lnkfile,我们输入:ftype lnkfile ,按下回车键,正常情形下我们得到的命令结果是: 没有找到文件类型“lnkfile”或者与其相关的开放式命令,这个结果表明正常的情形下,lnkfile是没有与任何开放式命令相关联的。

  让我们输入:ftype lnkfile=notepad.exe ,按下回车键,再输入:ftype lnkfile ,按下回车键,我们将得到的命令结果是: lnkfile=notepad.exe 这个结果表明了:文件类型lnkfile就与开放式命令notepad.exe关联上了。

  这种情形下,仍然并不会影响快捷方式的打开。 那么,如何来清除这个关联,并且不与其它的开放式命令关联呢?我们只要输入: ftype lnkfile= ,然后回车即可。

  在 xp下,这个命令无效,但是,我们可以在xp下输入:ftype lnkfile= ,按下回车键,这个命令与前一个命令在外表上几乎看不出区别,区别就在于,前一个命令在=后面没有空格,而后一个命令在=后有一个空格。

  让我们输入:ftype txtfile ,按下回车键,正常情形下,我们可以得到的命令结果是: txtfile=”%SystemRoot%\system32\NOTEPAD.EXE” %1 ,这个结果表明了:文件类型txtfile与开放式命令txtfile=”%SystemRoot%\system32\NOTEPAD.EXE” %1相关联。

  如果一种文件类型与开放式命令之间的关联出现了问题,而我们知道正确的开放式命令是什么,这时我们只需要在cmd中输入如下命令并回车即可修复: ftype fileType=openCommandString ,这里fileType代表的是指定的文件类型,比如txtfile,这里openCommandString代表的是开放式命令,比如 notepad.exe

  如果我们的txtfile与开放式命令之间的关联出了问题,我们只需要在cmd中输入: ftype txtfile=”%SystemRoot%\system32\NOTEPAD.EXE” %1 ,按下回车键,这样我们也就修复了txtfile文件类型与它的开放式命令之间的关联。

  所谓开放式命令,其实就是对这种文件类型的打开方式。每一种注册了的文件类型,在注册表中都会存在着它的一个对应的注册表项,这个注册表项就是: HKEY_CLASSES_ROOT\filetype ,这个filetype代表的是文件类型,比如batfile文件类型所对应的注册表项就是: HKEY_CLASSES_ROOT\batfile ,ftype命令所修改的注册表项主要就是—HKEY_CLASSES_ROOT\filetype\shell\open\command—这个项的默认值的数据。

  但需要注意的是,ftype命令所修改的并不仅仅是这个默认值的数据。因而直接在注册表中修改这个数据,并不能代替ftype命令的修改。

  当然,ftype命令所修改的全部的东西都可以在注册表中找到,但是,我们那样一一地去找,远不如用 ftype命令简单修改来得爽。

  右键打开方式

  前面我们谈到了扩展名与文件类型的关联,文件类型与开放式命令的关联(也就是文件的打开方式),看起来好象我们关于文件关联的问题就谈完了,实则不然,还有另外的一个重要的方面我们没有谈到。这就是我们右击一个文件,选择打开方式(并不是所有文件右键都有打开方式这个选项的),然后我们选择一个程序,并把“始终使用这种程序打开同类型文件”前的勾选上,点确认。比如本文开头的那位朋友,把所有快捷方式都选择以word程序打开一样。这样之后,这个文件类型也就与这个开放式命令关联起来了。

  ftype命令是修改文件类型与开放式命令的关联的,而右键打开方式也可以修改文件类型与开放式命令的关联,这二者的关系是什么呢?

  我们发现,ftype命令和右键打开方式,这二者所修改的注册表项是不同的。Ftype命令所修改的注册表项是: HKEY_CLASSES_ROOT\filetype ,这个filetype代表的是文件类型,比如HKEY_CLASSES_ROOT\lnkfile ,而右键打开方式所修改的主要注册表项是: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ext ,这个.ext代表的是文件扩展名,比如: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.lnk ,按照我的理解,ftype命令所修改的内容属于系统设置,而右键打开方式所修改的内容则属于用户设置,这二者所设置的实际对象是一样的,当二者不一致的时候,用户设置优先于系统设置。

  三个注册表项

  总之,文件关联所涉及到的注册表项主要是三个:

  HKEY_CLASSES_ROOT\.ext

  HKEY_CLASSES_ROOT\filetype

  HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ext

  问题解决

  现在要回到我们在开头所说到的问题了。我教那位朋友首先输入:assoc .lnk ,返回的命令结果是: .lnk=lnkfile 中,这表明,扩展名.lnk与文件类型lnkfile之间的关联没有问题。 我再要他输入:ftype lnkfile ,返回的命令结果是:没有找到文件类型“lnkfile”或者与其相关的开放式命令,而这个结果是正常的,这表明,系统设置中的lnkfile与开放式命令之间的关联也没有问题。

  那么,问题只能出在用户设置中的lnkfile与开放式命令之间的关联出现了问题。 一般的情形下,右键打开方式的设置优先于ftype命令对文件关联的设置,这在xp和win7下都是一样的,但对于扩展名为.lnk的快捷方式,二者却具有不同。在win7下,即便是对于.lnk快捷方式,也是右键打开方式的设置优先于ftype命令的设置。

  找到了问题所在,我们就可以知道,对于这种快捷方式的文件关联错误,我们用assoc和ftype命令都是无法解决的。解决的办法就是:

  在注册表中右键删除下面这个注册表项: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.lnk\UserChoice 这个注册表项下的值和数据(具体就是名为progid的值和它的数据),是对应右键打开方式所设置的默认打开程序的。

  在删除后,重启电脑,或者重启explorer,问题完美得到解决。 除了这种解决办法,其它的解决办法暂时没有找到。

  顺便说一下,在XP 下,UserChoice这个注册表项是没有的。

  由于一些文件右键没有打开方式选项,在xp下,我们可以在我的电脑里面点工具—- 查看—-文件夹选项—文件类型,这里我们可以进行同样的设置,而在Win7下,我们可以在—-控制面板—程序—默认程序—-始终使用指定的程序打开此文类型—里面进行设置,xp下设置的可选项要多得多,而Win7下则的设置则极为简明。

遇到一位朋友紧急求助:系统是windows7,这位朋友因为桌面没有OFFICE图标,又急着要用WORD,就把一个桌面图标右击,选择打开方式中选择了Word,而且没有把“始终使用这种程序打开同类型文件”前的勾去掉。这一改之后,结果所有的快捷方式全变成了word文档了。可以再改成别的,比如再改为记事本方式打开,但就是没有办法恢复原状。

  这是一个文件关联的问题。这样的问题在xp下根本就不可能发生,看来这个具体问题是Win7下的新问题。网上大致搜了一下,发现出现这样问题的决不只是这位朋友,看来有解决的必要。

  为了解决这个问题,我们需要先谈一下文件关联的一些基本的知识,这样才能使朋友们做到知其然而知其所以然。

  文件关联,主要的是把文件类型与开放式命令关联起来。而 windows是通过文件的扩展名来识别文件类型的,这就首先需要把扩展名与文件类型关联起来。

  assoc命令

  要修改扩展名与文件类型的关联,我们需要用到一个命令:assoc

  点开始,搜索,输入cmd,打开cmd,在cmd中输入:assoc /? 回车。我们可以得到关于这个命令的帮助。

  assoc命令的作用有两个,一是显示扩展名与文件类型的关联,一是改写扩展名与文件类型的关联。

  让我们以快捷方式的关联为例来讲述这个问题。

  快捷方式的扩展名是.lnk,在 windows下,这个扩展名一般是不会显现出来的,如果出现了,必是它的文件关联出问题了。

  我们在cmd中输入:assoc .lnk ,回车后我们可以得到的命令结果是: .lnk=lnkfile 。这个命令结果显示了:扩展名.lnk与文件类型lnkfile是相关联的。凡是扩展名为.lnk的文件,都属于lnkfile这个文件类型。

  现在让我们输入命令: assoc .lnk=lnk ,按下回车键,lnk这个扩展名与文件类型的关联就被改写了。然后我们再输入命令: assoc .lnk ,按下回车键,我们得到的命令结果将是: .lnk=lnk ,这个结果显示了,扩展名.lnk已经是与文件类型lnk相关联,而不再是与lnkfile相关联。

  这个时候你去桌面上去看一下吧,你桌面上所有的快捷方式的后缀名.lnk全部显示出来了,所有的快捷方式都不再可用。双击时会提示:windows无法打开此文件。

  现在再让我们输入: assoc .lnk=lnkfile ,按下回车键,我们将会发现,一切又恢复了原状。

  总之,如果是快捷方式的扩展名与文件类型之间的关联出现了问题,我们只需要输入: assoc .lnk=lnkfile,回车后即可以解决问题。

  这样,如果我们知道一种扩展名所属的正确的文件类型,当这种扩展名与文件类型之间的关联出现问题的时候,我们只需要输入: assoc .ext=filetype ,按下回车键即可。 这个.ext代表的是文件扩展名,比如.lnk,这个filetype代表的是文件类型,比如lnkfile。如果我们不知道一种扩展名所关联的文件类型是什么,我们只需要在cmd中输入:assoc .ext回车。我们就能得到它所关联的文件类型是什么。

  每一个注册了的扩展名都会在注册表中存在着一个对应的注册表项: HKEY_CLASSES_ROOT\.ext ,

  这里的.ext代表的是扩展名,比如快捷方式对应的项就是: HKEY_CLASSES_ROOT\.lnk ,这个项有一个默认的值,这个默认的值的数据,就是这个快捷方式所关联的文件类型。因而assoc命令,主要的就是修改这个项的默认值的数据。但需要注意的是,assoc命令所修改的内容,并不仅仅是这个项的默认值的数据,它还会要修改其它的一些方面。所以我们直接在注册表中改这个值的数据,并不能完全代替assoc命令。

  fytpe命令

  我们现在知道了如何把扩展名与文件类型关联起来了,进一步地需要知道的是如何把文件类型与开放式命令关联起来。比如.txt扩展名所关联的文件类型是txtfile,而txtfile正常的情形下,总是用 notepad.exe(记事本)来打开的,这个notepad.exe就是打开txtfile文件类型的开放式命令。

  如何来修改这种文件类型与开放式命令之间的关联呢?这需要用到另外的一个重要的命令:ftype

  让我们在cmd中输入: ftype /? 回车。我们可以得到这个命令的帮助。

  ftype命令有两个作用,一是显示文件类型与开放式命令之间的关联,一是改写文件类型与开放式命令之间的关联。

  如果我们想知道一种文件类型与什么样的开放式命令相关联,我们只需要在cmd中输入: ftype fileType ,按下回车键,我们就能够得到我们想要得到的结果。

  这个fileType代表的是指定的文件类型,比如lnkfile,我们输入:ftype lnkfile ,按下回车键,正常情形下我们得到的命令结果是: 没有找到文件类型“lnkfile”或者与其相关的开放式命令,这个结果表明正常的情形下,lnkfile是没有与任何开放式命令相关联的。

  让我们输入:ftype lnkfile=notepad.exe ,按下回车键,再输入:ftype lnkfile ,按下回车键,我们将得到的命令结果是: lnkfile=notepad.exe 这个结果表明了:文件类型lnkfile就与开放式命令notepad.exe关联上了。

  这种情形下,仍然并不会影响快捷方式的打开。 那么,如何来清除这个关联,并且不与其它的开放式命令关联呢?我们只要输入: ftype lnkfile= ,然后回车即可。

  在 xp下,这个命令无效,但是,我们可以在xp下输入:ftype lnkfile= ,按下回车键,这个命令与前一个命令在外表上几乎看不出区别,区别就在于,前一个命令在=后面没有空格,而后一个命令在=后有一个空格。

  让我们输入:ftype txtfile ,按下回车键,正常情形下,我们可以得到的命令结果是: txtfile=”%SystemRoot%\system32\NOTEPAD.EXE” %1 ,这个结果表明了:文件类型txtfile与开放式命令txtfile=”%SystemRoot%\system32\NOTEPAD.EXE” %1相关联。

  如果一种文件类型与开放式命令之间的关联出现了问题,而我们知道正确的开放式命令是什么,这时我们只需要在cmd中输入如下命令并回车即可修复: ftype fileType=openCommandString ,这里fileType代表的是指定的文件类型,比如txtfile,这里openCommandString代表的是开放式命令,比如 notepad.exe

  如果我们的txtfile与开放式命令之间的关联出了问题,我们只需要在cmd中输入: ftype txtfile=”%SystemRoot%\system32\NOTEPAD.EXE” %1 ,按下回车键,这样我们也就修复了txtfile文件类型与它的开放式命令之间的关联。

  所谓开放式命令,其实就是对这种文件类型的打开方式。每一种注册了的文件类型,在注册表中都会存在着它的一个对应的注册表项,这个注册表项就是: HKEY_CLASSES_ROOT\filetype ,这个filetype代表的是文件类型,比如batfile文件类型所对应的注册表项就是: HKEY_CLASSES_ROOT\batfile ,ftype命令所修改的注册表项主要就是—HKEY_CLASSES_ROOT\filetype\shell\open\command—这个项的默认值的数据。

  但需要注意的是,ftype命令所修改的并不仅仅是这个默认值的数据。因而直接在注册表中修改这个数据,并不能代替ftype命令的修改。

  当然,ftype命令所修改的全部的东西都可以在注册表中找到,但是,我们那样一一地去找,远不如用 ftype命令简单修改来得爽。

  右键打开方式

  前面我们谈到了扩展名与文件类型的关联,文件类型与开放式命令的关联(也就是文件的打开方式),看起来好象我们关于文件关联的问题就谈完了,实则不然,还有另外的一个重要的方面我们没有谈到。这就是我们右击一个文件,选择打开方式(并不是所有文件右键都有打开方式这个选项的),然后我们选择一个程序,并把“始终使用这种程序打开同类型文件”前的勾选上,点确认。比如本文开头的那位朋友,把所有快捷方式都选择以word程序打开一样。这样之后,这个文件类型也就与这个开放式命令关联起来了。

  ftype命令是修改文件类型与开放式命令的关联的,而右键打开方式也可以修改文件类型与开放式命令的关联,这二者的关系是什么呢?

  我们发现,ftype命令和右键打开方式,这二者所修改的注册表项是不同的。Ftype命令所修改的注册表项是: HKEY_CLASSES_ROOT\filetype ,这个filetype代表的是文件类型,比如HKEY_CLASSES_ROOT\lnkfile ,而右键打开方式所修改的主要注册表项是: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ext ,这个.ext代表的是文件扩展名,比如: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.lnk ,按照我的理解,ftype命令所修改的内容属于系统设置,而右键打开方式所修改的内容则属于用户设置,这二者所设置的实际对象是一样的,当二者不一致的时候,用户设置优先于系统设置。

  三个注册表项

  总之,文件关联所涉及到的注册表项主要是三个:

  HKEY_CLASSES_ROOT\.ext

  HKEY_CLASSES_ROOT\filetype

  HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ext

  问题解决

  现在要回到我们在开头所说到的问题了。我教那位朋友首先输入:assoc .lnk ,返回的命令结果是: .lnk=lnkfile 中,这表明,扩展名.lnk与文件类型lnkfile之间的关联没有问题。 我再要他输入:ftype lnkfile ,返回的命令结果是:没有找到文件类型“lnkfile”或者与其相关的开放式命令,而这个结果是正常的,这表明,系统设置中的lnkfile与开放式命令之间的关联也没有问题。

  那么,问题只能出在用户设置中的lnkfile与开放式命令之间的关联出现了问题。 一般的情形下,右键打开方式的设置优先于ftype命令对文件关联的设置,这在xp和win7下都是一样的,但对于扩展名为.lnk的快捷方式,二者却具有不同。在win7下,即便是对于.lnk快捷方式,也是右键打开方式的设置优先于ftype命令的设置。

  找到了问题所在,我们就可以知道,对于这种快捷方式的文件关联错误,我们用assoc和ftype命令都是无法解决的。解决的办法就是:

  在注册表中右键删除下面这个注册表项: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.lnk\UserChoice 这个注册表项下的值和数据(具体就是名为progid的值和它的数据),是对应右键打开方式所设置的默认打开程序的。

  在删除后,重启电脑,或者重启explorer,问题完美得到解决。 除了这种解决办法,其它的解决办法暂时没有找到。

  顺便说一下,在XP 下,UserChoice这个注册表项是没有的。

  由于一些文件右键没有打开方式选项,在xp下,我们可以在我的电脑里面点工具—- 查看—-文件夹选项—文件类型,这里我们可以进行同样的设置,而在Win7下,我们可以在—-控制面板—程序—默认程序—-始终使用指定的程序打开此文类型—里面进行设置,xp下设置的可选项要多得多,而Win7下则的设置则极为简明。


Jan 20 2011

2011开篇

Category: 乱up当秘笈ssmax @ 15:24:08

不知不觉已经2011了,下周就开年会,放假了,近年的冬天貌似很冷,好多机场都关闭了,奥运亚运都可以搞好,春运难搞啊。。。

希望年会抽到Ipad,阿门,哈哈哈


Nov 09 2010

Java Mail 实现 POP3 收信 UIDL 命令

Category: 技术ssmax @ 17:18:33

今天有个项目要用到java mail 进行快速收信,但不删除邮件,所以需要用UIDL获取邮件唯一ID,上网找了一下java mail的实现,有一种改源代码提升效率的方法,不过改源代码比较难维护,所以我想java不至于连这个都没有实现吧,深入看了一下,发现java mail自带的方法就可以完成这个操作,在这里记录一下。

Session session = Session.getDefaultInstance(props, null);
session.setDebug(true);
//使用POP3会话机制,连接服务器
Store store = session.getStore(“pop3”);
store.connect(popServer, 110, popUser, popPassword);
POP3Folder folder = (POP3Folder)store.getFolder(“INBOX”);
//使用只读方式打开收件箱
folder.open(Folder.READ_ONLY);
//得到文件夹信息,获取邮件列表,此时列表中的对象是没有数据的初始化状态
Message[] msgs = folder.getMessages();
//执行UIDL指令,填入msgs对象中,只有POP3Message才有uid对象
FetchProfile fp = new FetchProfile();
fp.add(UIDFolder.FetchProfileItem.UID);
folder.fetch(msgs, fp);
//获取每个邮件的NUM 和 UID,默认就当你有一封信了,嘿嘿
System.out.println(msgs[0].getMessageNumber());
System.out.println(folder.getUID(msgs[0]));

set debug以后我们来看看输出:

DEBUG: setDebug: JavaMail version 1.4.3

DEBUG: getProvider() returning javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]

DEBUG POP3: connecting to host “pop.126.com”, port 110, isSSL false

S: +OK Welcome to coremail Mail Pop3 Server (126coms[f7aa0ed0270c139a0807240dd700906bs])

C: CAPA

S: +OK Capability list follows

TOP

USER

PIPELINING

UIDL

.

DEBUG POP3: server doesn’t support TOP, disabling it

C: USER *******

S: +OK core mail

C: PASS *******

S: +OK 11 message(s) [766874 byte(s)]

C: STAT

S: +OK 11 766874

C: NOOP

S: +OK core mail

C: UIDL

S: +OK 11 766874

1 1tbirAJ99EX9fhakLwAAs8

2 1tbirAJ99EX9fhakLwABs9

3 1tbi5w1-9EzBsjIZ6AAAsd

4 1tbirAd-9EX9fibK1AAAse

5 1tbi3RR-9EsL9JOV8AAAsA

6 1tbiGAyA9El1nWUOqgAAsA

7 1tbirB+B9EX9fjVf8gAAsY

8 1tbi0hWC9EgYwFaoYwAAs8

9 1tbiBR2D9EkAFOKknwAAsr

10 1tbi0gGD9EgYwGOBNgAAsg

11 1tbi0gGD9EgYwGOBNgACsi

.

1                                                                   <————-System.out.println(msgs[0].getMessageNumber());

1tbirAJ99EX9fhakLwAAs8              <————-System.out.println(folder.getUID(msgs[0]));

C: QUIT

S: +OK core mail


Aug 24 2010

巫妖王终于要开了

Category: Gamesssmax @ 22:07:20

从公测开始,作为一个玩家,从09年5月开始,作为一个维护人员。

不知道8月31号开的那天会不会在上海见证这个时刻,哈哈。

[2009年4月16日]
暴雪与网易正式宣布将在中国大陆地区合作网络游戏《魔兽世界》。
关键词: 宣布合作

 [2009年4月16日]
网易《魔兽世界》过渡专区上线,回答《魔兽世界》玩家疑问。
关键词: 答疑

 [2009年5月20日]
网易《魔兽世界》过渡网站更新公告,通报过渡工作的最新进展。
关键词: 平稳过渡

 [2009年5月27日]
丁磊与暴雪娱乐CEO致信《魔兽世界》中国玩家,通报过渡进展。
关键词: 回馈玩家
 
[2009年5月30日]
网易公布《魔兽世界》数据交接方式:暴雪将通过快照记录。
关键词: 玩家数据

 [2009年5月31日]
第九城市发布公告称,将于6月7日凌晨0时起停运《魔兽世界》。
关键词: 停运

 [2009年6月5日]
网易公布《魔兽世界》点卡销售价格:30元含4000分钟
关键词: 点卡

 [2009年6月6日]
网易在上海公开招聘《魔兽世界》游戏运营团队
关键词: 运营团队
 
[2009年6月7日]
九城停运《魔兽世界》,网易与暴雪联合宣布过渡正式开启
关键词: 过渡开始

 [2009年6月12日]
网易公告称《魔兽世界》将推全新战网通行证系统。
关键词: 战网通行证

 [2009年6月24日]
网易公告称《魔兽世界》全新硬件设施已100%安装完毕。
关键词: 硬件安装完成

 [2009年7月1日]
网易正式宣布开放《魔兽世界》官网及战网注册。
关键词: 战网
 
[2009年7月16日]
《魔兽世界》官网公告称技术准备工作已结束。
关键词: 准备就绪

 [2009年7月21日]
版署表示,允许《魔兽世界》从7月30日起进行内部测试。
关键词: 内部测试

 [2009年7月30日]
《魔兽世界》官方网站发布公告称《魔兽世界》内测正式启动。 
关键词:内测正式启动

 [2009年8月5日]
《魔兽世界》官网发布公告通报内测最新进展。 
关键词:延长内测时间
 
[2009年9月5日]
《魔兽世界》官方网站发布公告 测试任务完成。
关键词: 内测完成

 [2009年9月19日]
《魔兽世界》官网宣布《魔兽世界》游戏在中国大陆重新正式运营。
关键词: 重新正式运营

 [2010年1月20日]
官网公告:魔兽世界正式官方论坛即将开放。 
关键词:正式官方论坛

 [2010年2月8日]
官网公告:《魔兽世界》2月8至14日向老用户赠送游戏时间 
关键词:回馈玩家
 
[2010年2月8日]
版署称已受理《魔兽世界》游戏出版物审批申请。
关键词: 审批进程

 [2010年2月12日]
版署批准网易运营《魔兽世界》(燃烧的远征)。
关键词: 审批进程

 [2010年7月27日]
上海新闻出版局官网显示《魔兽世界(巫妖王之怒)》通过版署审批。 
关键词:审批进程

 [2010年8月6日]
《魔兽世界(巫妖王之怒)》于2010年8月6日通过文化部审批。
关键词:审批进程

 [2010年8月24日]
美国暴雪娱乐公司和网易公司(NASDAQ: NTES)今日联合宣布,《魔兽世界》的第二部资料片《巫妖王之怒》将于2010年8月31日在中国大陆正式发布。
关键词:发布预告

 [2010年8月31日]……..


« Previous PageNext Page »