发信人: chinahong()
整理人: (2000-08-22 02:44:12), 站内信件
|
前言:
呵呵,这么久没写文章了,想到以前发现的这个东东,顺便捉来写成一帖。 就做为当WINDOWS版主以来发的第一帖关于WINDOWS的原创帖子了。
正文:
因为某些原因装上了QB4.5, 顺便在桌面上为其建立快捷方式,在首先出现 的窗口的命令行栏里填入“C:\QB45\QB.EXE”,然后单击“下一步”,如果平时 建立DOS程序的快捷方式,那么在下一步的“选择快捷方式的名称”一栏里默认出 现的应该是程序的MSDOS名,再点击下一步,可为DOS程序选择一个图标,然后才 告完成。可是此时却出现与平时不同的现象,这一栏里默认的程序名不是“QB” ,而是“Microsoft QuickBASIC”,也就是说系统自动识别该程序是QuickBASIC ,而且下面没有“下一步”按钮,只有“完成”按钮,单击完成后发现,系统也 自动为其添加一个图标,但不是平时的那个MS-DOS图标,而是另外的,专为DOS下 QB设计的。难道WINDOWS会自动识别某些旧的DOS程序?但是因为系统中同时装有 VB,而VB和QB也有很大的关系,所以暂时无法确认是WINDOWS还是VB。为此特做了 一番试验。将一些普通的DOS程序,为其建立快捷方式,过程与平时无异。因此, 将WINDOWS下的一些运行于MSDOS窗口的程序如COMMAND.COM、FTP.EXE、PING.EXE 建立快捷方式,前者建立后系统自动为其起名为“MS-DOS 方式”,同时自动选择 图标,与开始菜单中的“MS-DOS 方式”相同;后两者默认快捷方式名仍为文件名 ,但没有让其选择一个图标,并且没有为其自动选择一个图标。有点奇怪,决定 将原来文件更名,另找一DOS程序改名为FTP.EXE、PING.EXE试验。为假的FTP.EX E做快捷方式时,默认快捷方式名仍为文件名,但有让选择图标。而为PING.EXE做 快捷方式时,却又出现了和QB同样的情况,默认快捷方式名为“FTP PING Utili ty”,并自动为其选择一个图标。奇怪?为何各不相同?直到后来无意中查看了 真的FTP、PING的属性,发现其属性的显示方式和32位程序类似,而不是和DOS的 16位程序类似,怀疑其实为32位程序,不过运行于MSDOS方式下而已,故退出WIN DOWS进入纯DOS运行两程序,果然提示该程序是32位程序,无法运行于纯DOS方式 。由此,可解出前面为真FTP.EXE、PING.EXE建立快捷方式之谜,WINDOWS系统是 按照为32位程序建立快捷方式的方法为其建立快捷方式,而一般32程序都自带图 标,所以WINDOWS系统不用再让其选择图标。而FTP、PING常运行于DOS窗口下,所 以让人误以为是DOS的16位程序(呵呵,至少我一直是这样认为的)。那么其它的 现象呢?受刚才属性的启示,打开QB快捷方式的属性(没想到我平时那么喜欢看 文件的属性,这时却不知道去看),看了一阵,找出提供图标的文件是WINDOWS目 录下的moricons.dll文件。再查看该文件的说明是“Icons for application sh ortcuts”,就是说该文件为应用程序的快捷方式提供图标。仔细看看这个文件中 的其它图标,发现许多图标上的文件都是DOS时代一些软件的图标,如MS C,MS WORD FOR DOS,TURBO PASCAL,BORLAND C++......等等一大堆,也就是说如果你 装了这些DOS程序,并为建立快捷方式,那么WINDOWS就会识别这些东东,自动为 其命名并加上相应的图标。刚才提到的PING.EXE也是这样,不过那个PING是假的 。所以由此总结出来,如果要建立快捷方式的程序是DOS下的16位程序,且文件名 和WINDOWS系统所认识的那些程序的主程序名相同(不管是真是假),WINDOWS系 统为自动为其命名并加入相应的图标,而QB的和VB没有什么关系。不信,你可以 试试(呵呵,顺便帮我验证一下),找到WINDOWS目录下的SETVER.EXE(这东东是 真正的DOS 16位程序),改名为QB.EXE,再为其建立快捷方式,你会有发现的哦 。
OK,正文结束。
结束语:
没别的话,就是想骂这帖子,费了我一个多小时(又要回想一下,又要确认有 没有弄错),手都打酸了。
-- 要去看看吗?
http://ahong.soim.net
[email protected]
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: max1-59.ptptt.f]
|
|