﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Kimi's NutShell-随笔分类-Other Skills</title><link>http://www.blogjava.net/kemi/category/8727.html</link><description>从前有座山</description><language>zh-cn</language><lastBuildDate>Fri, 23 May 2008 15:09:39 GMT</lastBuildDate><pubDate>Fri, 23 May 2008 15:09:39 GMT</pubDate><ttl>60</ttl><item><title>（亲测）对付恶心的加密pdf文件引起的无法复制的问题</title><link>http://www.blogjava.net/kemi/archive/2008/05/23/202342.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Fri, 23 May 2008 02:56:00 GMT</pubDate><guid>http://www.blogjava.net/kemi/archive/2008/05/23/202342.html</guid><wfw:comment>http://www.blogjava.net/kemi/comments/202342.html</wfw:comment><comments>http://www.blogjava.net/kemi/archive/2008/05/23/202342.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kemi/comments/commentRss/202342.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kemi/services/trackbacks/202342.html</trackback:ping><description><![CDATA[
		<font face="Arial">
				<font size="2">
						<strong>下载 专业阅读识别软件 cajviewer <br /></strong>
						<a href="http://count.ddooo.com/redirect.asp?downurl=http://2.ddooo.com/uuauth//down/10/CAJViewer_9134.rar">
								<strong>http://count.ddooo.com/redirect.asp?downurl=http://2.ddooo.com/uuauth//down/10/CAJViewer_9134.rar</strong>
						</a>
						<br />
						<br />
				</font>
		</font>
		<font style="FONT-WEIGHT: bold" face="Arial" size="2">工具-》选择图像截图(文字区域截图)<br />选好后，点 工具-》文字识别，几秒后将出现你需要的那段文字，复制到剪贴板，识别率非常高，个别字不清楚的，自己修改一下就可以了。 <br /></font>
		<a href="http://fm431.img.xiaonei.com/blog/20080421/13/57/A747074045989PEP.JPG" target="_blank">
				<font face="Arial" size="2">
						<strong>
						</strong>
				</font>
		</a>
		<br />
		<img style="WIDTH: 512px; HEIGHT: 277px" height="415" alt="123.JPG" src="http://www.blogjava.net/images/blogjava_net/kemi/123.JPG" width="737" border="0" />
		<br />
		<br />
		<a href="http://fm411.img.xiaonei.com/blog/20080421/13/58/A749532869740PEP.JPG" target="_blank">
				<font face="Arial" size="2">
						<strong>
						</strong>
				</font>
		</a>
		<img style="WIDTH: 515px; HEIGHT: 331px" height="417" alt="223.JPG" src="http://www.blogjava.net/images/blogjava_net/kemi/223.JPG" width="719" border="0" /> <br />嘿嘿，任何东西没有绝对的安全！<br /><img src ="http://www.blogjava.net/kemi/aggbug/202342.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kemi/" target="_blank">Kimi</a> 2008-05-23 10:56 <a href="http://www.blogjava.net/kemi/archive/2008/05/23/202342.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>chm文件无法正常显示网页问题的解决办法</title><link>http://www.blogjava.net/kemi/archive/2008/04/28/196721.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Mon, 28 Apr 2008 03:07:00 GMT</pubDate><guid>http://www.blogjava.net/kemi/archive/2008/04/28/196721.html</guid><wfw:comment>http://www.blogjava.net/kemi/comments/196721.html</wfw:comment><comments>http://www.blogjava.net/kemi/archive/2008/04/28/196721.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kemi/comments/commentRss/196721.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kemi/services/trackbacks/196721.html</trackback:ping><description><![CDATA[   经常碰到这样的问题，同一个chm文件，在不同机器上出现这样的显示问题。<br />   解决办法：<br />   建立一个reg文件，输入：<br />   REGEDIT4<br />[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp]<br />[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]<br />"MaxAllowedZone"=dword:00000003<br />   保存，加入注册表中即可。<img src ="http://www.blogjava.net/kemi/aggbug/196721.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kemi/" target="_blank">Kimi</a> 2008-04-28 11:07 <a href="http://www.blogjava.net/kemi/archive/2008/04/28/196721.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>socket－－－更多的关注底层</title><link>http://www.blogjava.net/kemi/archive/2008/04/03/190511.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Thu, 03 Apr 2008 00:56:00 GMT</pubDate><guid>http://www.blogjava.net/kemi/archive/2008/04/03/190511.html</guid><wfw:comment>http://www.blogjava.net/kemi/comments/190511.html</wfw:comment><comments>http://www.blogjava.net/kemi/archive/2008/04/03/190511.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kemi/comments/commentRss/190511.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kemi/services/trackbacks/190511.html</trackback:ping><description><![CDATA[      Socket 接口是访问 Internet 使用得最广泛的方法。 如果你有一台刚配好TCP/IP协议的主机，其IP地址是202.120.127.201， 此时在另一台主机或同一台主机上执行ftp 202.120.127.201，显然无法建立连接。因"202.120.127.201" 这台主机没有运行FTP服务软件。同样， 在另一台或同一台主机上运行浏览软件 如Netscape，输入"<a href="http://202.120.127.201/" target="_blank">http://202.120.127.201</a>"，也无法建立连接。现在，如果在这台主机上运行一个FTP服务软件（该软件将打开一个Socket， 并将其绑定到21端口），再在这台主机上运行一个Web 服务软件（该软件将打开另一个Socket，并将其绑定到80端口）。这样，在另一台主机或同一台主机上执行ftp 202.120.127.201，FTP客户软件将通过21端口来呼叫主机上由FTP 服务软件提供的Socket，与其建立连接并对话。而在netscape中输入"<a href="http://202.120.127.201/" target="_blank">http://202.120.127.201</a>"时，将通过80端口来呼叫主机上由Web服务软件提供的Socket，与其建 立连接并对话。 <br />在Internet上有很多这样的主机，这些主机一般运行了多个服务软件，同时提供几种服务。每种服务都打开一个Socket，并绑定到一个端口上，不同的端口对应于不同的服务。Socket正如其英文原意那样，象一个多孔插座。一台主机犹如布满各种插座的房间，每个插座有一个编号，有的插座提供220伏交流电， 有的提供110伏交流电，有的则提供有线电视节目。 客户软件将插头插到不同编号的插座，就可以得到不同的服务。<br />      -----<br />     1.什么是socket 所谓socket通常也称作"套接字"，用于描述IP地址和端口，是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 以J2SDK-1.3为例，Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端，Socket是建立网络连接时使用的。在连接成功时，应用程序两端都会产生一个Socket实例，操作这个实例，完成所需的会话。对于一个网络连接来说，套接字是平等的，并没有差别，不因为在服务器端或在客户端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的。<br />     2. 常用的Socket类型有两种：流式Socket（SOCK_STREAM）和数据报式Socket（SOCK_DGRAM）。流式是一种面向连接的Socket，针对于面向连接的TCP服务应用；数据报式Socket是一种无连接的Socket，对应于无连接的UDP服务应用。<img src ="http://www.blogjava.net/kemi/aggbug/190511.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kemi/" target="_blank">Kimi</a> 2008-04-03 08:56 <a href="http://www.blogjava.net/kemi/archive/2008/04/03/190511.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>编程基础－－计算机网络回顾</title><link>http://www.blogjava.net/kemi/archive/2008/03/31/189775.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Mon, 31 Mar 2008 06:22:00 GMT</pubDate><guid>http://www.blogjava.net/kemi/archive/2008/03/31/189775.html</guid><wfw:comment>http://www.blogjava.net/kemi/comments/189775.html</wfw:comment><comments>http://www.blogjava.net/kemi/archive/2008/03/31/189775.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/kemi/comments/commentRss/189775.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kemi/services/trackbacks/189775.html</trackback:ping><description><![CDATA[
		<div class="content-wy">
				<div id="BodyLabel">
						<div class="R8KOOJa1jUex4q4zQAEcRQvg9tK0CI9B" style="DISPLAY: none" ;id="R8KOOJa1jUex4q4zQAEcRQvg9tK0CI9B">
								<font color="#ffffff">网窝网版权所有webwoo.net！这里可以修改成你网站的信息</font>
						</div>
						<div class="t_msgfont" id="postmessage_2848">
								<strong>1.   什么是计算机网络</strong>
								<br />
								<br />利用通信线路将分散在不同地方，具有独立功能的计算机连接起来，并按照一定的通信规则实现这些计算机之间资源与数据的共享，这样的一个计算机集合便称为计算机网络。<br /><br /><strong>2.   网络层次标准</strong><br /><br />现在的网络都采用分层的方式进行工作，当前，通用的网络层次标准有OSI和TCP/IP两种。OSI是理论上的标准，TCP/IP是工业上的事实标准。<br /><br />由于不同的局域网有不同的网络协议，不同的传输介质也各有其电气性能，为了使不同的网络能够互连，必须建立统一的网络互连协议。为此，ISO(国际标准化组织)提出了网络互连协议的基本框架，称为开放系统互连(OSI)参考模型。它将整个网络的功能划分成七个层次。<br /><br />TCP/IP协议（传输控制协议／互联网协议）的缩写。美国国防部高级研究计划局DARPA为了实现异种网络之间的互连与互通,大力资助互联网技术的开发，于1977年到1979年间推出目前形式的TCP/IP体系结构和协议。它将网络分为4个层次，TCP/IP协议使用范围极广，是目前异种网络通信使用的唯一协议体系，适用于连接多种机型，既可用于局域网，又可用于广域网，许多厂商的计算机<a class="keylink" href="http://os.cnfan.net/" target="_blank">操作系统</a>和网络<a class="keylink" href="http://os.cnfan.net/" target="_blank">操作系统</a>产品都采用或含有TCP/IP协议。TCP/IP协议已成为目前事实上的国际标准和工业标准。<br /><br /><strong>2.1   OSI参考模型和TCP/IP具体层次</strong><br /><br />网络是分层的，每一层分别负责不同的通信功能。应用层，表示层，会话层，传输层被归为高层，而网络层，数据链路层，物理层被归为底层。高层负责主机之间的数据传输，底层负责网络数据传输。<br /><br /><strong>OSI参考模型 </strong>              <strong> 主要功能 </strong>                     <strong>常见协议</strong>  <br />    应用层       ------         提供应用程序间通讯；             HTTP，FTP<br />    表示层       ------         处理数据格式，数据加密等；       NBSSL,LPP<br />    会话层       ------         建立，维护，管理会话；           RPC,LDAP<br />    传输层       ------         建立主机端到端的连接：           TCP,UDP<br />    网络层       ------         寻址和路由选择；                 IP,ICMP<br />    数据链路层   ------         提供介质访问和链路管理等；       PPP<br />    物理层       ------         比特流传输；<br /><br /><strong>TCP/IP网络层次</strong>            <strong>主要功能</strong>                         <strong>常见协议</strong><br />  应用层         -----    提供应用程序接口；                 HTTP，FTP<br />   传输层          -----    建立端到端的连接；                 TCP，UDP<br />   互联网层        -----    寻址和路由选择；                   IP，ICMP<br />   网络接口层      -----    二进制数据流传输和物理介质访问；   PPP<br /><br /><strong>2.2   OSI和TCP/IP的层次对应关系</strong><br /><br />OSI                                                      TCP/IP<br />应用层+表示层+会话层     ----    应用层<br />传输层                   ----    传输层<br />网络层                   ----    互联网层<br />数据链路层+物理层        ----    网络接口层<br /><br />层与层之间的联系是通过各层之间的接口来进行的，上层通过接口向下层提出服务请求，而下层通过接口向上层提供服务。两个用户计算机通过网络进行通信时，除物理层之外，其余各对等层之间均不存在直接的通信关系，而是通过各对等层之间的通信协议来进行通信，只有两物理层之间通过传输介质进行真正的数据通信。<br /><br /><strong>2.3   TCP/IP原理</strong><br /><br />虽然OSI是最早提出的理论上的标准，但是在实际中我们多是采用TCP/IP协议分层标准。TCP/IP通常被认为是一个四层协议系统，TCP/IP协议族是一组不同的协议组合在一起构成的协议族。<br />        <br />数据发送时是自上而下，层层加码；数据接收时是自下而上，层层解码。<br /><br />当应用程序用TCP传送数据时，数据被送入协议栈中，然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息（有时还要增加尾部信息）。TCP传给IP的数据单元称作TCP报文段或简称为TCP段。I P传给网络接口层的数据单元称作IP数据报。 通过以太网传输的比特流称作帧(Frame)。数据发送时是自上而下，层层加码；数据接收时是自下而上，层层解码。如下图1，<br /><span id="attach_711" onmouseover="showMenu(this.id, 0, 1)" style="DISPLAY: none; LEFT: 215px; POSITION: absolute; TOP: 1282px"></span><img onmouseover="attachimginfo(this, 'attach_711', 1);attachimg(this, 'mouseover')" onmouseout="attachimginfo(this, 'attach_711', 0, event)" alt="" src="http://www.webwoo.net/upload_files/68/g0CsuX20070927114757901.gif" onload="attachimg(this, 'load')" border="0" /><br />逻辑上的通讯是在同级上完成的<br /><br />垂直方向的结构层次是当今普遍认可的数据处理的功能流程。每一层都有与其相邻层的接口。为了通信，两个系统必须在各层之间传递数据、指令、地址等信息，通信的逻辑流程与真正的数据流的不同。虽然通信流程垂直通过各层次，但每一层都在逻辑上能够直接与远程计算机系统的相应层直接通信。通讯实际上是按垂直方向进行的，但在逻辑上通信是在同级进行的。如下图2，<br /><span id="attach_712" onmouseover="showMenu(this.id, 0, 1)" style="DISPLAY: none; POSITION: absolute"></span><img onmouseover="attachimginfo(this, 'attach_712', 1);attachimg(this, 'mouseover')" onmouseout="attachimginfo(this, 'attach_712', 0, event)" alt="" src="http://www.webwoo.net/upload_files/68/yJNp6R20070927114757109.gif" onload="attachimg(this, 'load')" border="0" /></div>
				</div>
		</div>
<img src ="http://www.blogjava.net/kemi/aggbug/189775.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kemi/" target="_blank">Kimi</a> 2008-03-31 14:22 <a href="http://www.blogjava.net/kemi/archive/2008/03/31/189775.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Avira AntiVir PersonalEdition Classic （个人免费C版）详细使用指南  &lt;转&gt;</title><link>http://www.blogjava.net/kemi/archive/2008/03/14/186173.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Thu, 13 Mar 2008 23:40:00 GMT</pubDate><guid>http://www.blogjava.net/kemi/archive/2008/03/14/186173.html</guid><wfw:comment>http://www.blogjava.net/kemi/comments/186173.html</wfw:comment><comments>http://www.blogjava.net/kemi/archive/2008/03/14/186173.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kemi/comments/commentRss/186173.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kemi/services/trackbacks/186173.html</trackback:ping><description><![CDATA[
		<table style="TABLE-LAYOUT: fixed">
				<tbody>
						<tr>
								<td>
										<div class="cnt" id="blog_text">Avira AntiVir PersonalEdition Classic （个人免费C版）详细使用指南<br /><font size="4">作为一名小红伞C版的普通用户，很高兴能够把我自己对红伞的一些理解和大家一起分享，希望在大家接触红伞C版的初期能够给大家带来一些帮助，快速的熟练使用：）<br /></font><font size="3">ps：此说明为Avira（红伞）中国使用者服务论坛 </font><a href="http://www.avira.org.cn/bbs" target="_blank"><font size="3">www.avira.org.cn/bbs</font></a><font size="3"> lanvin原创，如需转载请注明出处<br /></font><font size="4">本说明一共分为4个部分，分别为：<br />A下载篇<br />B安装篇<br />C设置篇<br />D实战篇<br />下面我将就这四个部分给大家一一介绍红伞C版的基本使用。<br /></font><br /><font size="4">A下载篇<br /></font><font size="3">如果要下载的话最好还是去官方网站，因为那里的软件相对来说是最新的，而其他的软件网站一般般都会有稍稍的滞后。以下是德国avira官网的下载地址，分别是不同操作系统下的免费最新版：<br /><span class="t_tag" href="http://hi.baidu.com/tjjbq/blog/item/tag.php?name=Windows">Windows</span> NT / 2000 / XP<br />下载地址：</font><a href="http://www.free-av.com/down/windows/antivir_workstation_win7u_en_h.exe" target="_blank"><font size="3">http://www.free-av.com/down/wind ... tion_win7u_en_h.<span class="t_tag" href="http://hi.baidu.com/tjjbq/blog/item/tag.php?name=exe">exe</span></font></a><br /><font size="3">Windows 98/Me<br />下载地址：</font><a href="http://www.free-av.com/down/windows/antivir_workstation_win7_en_h.exe" target="_blank"><font size="3">http://www.free-av.com/down/wind ... ation_win7_en_h.exe</font></a><br /><font size="3">       <br />Linux / FreeBSD / Solaris<br />下载地址：</font><a href="http://free-av.com/personal/en/unix/antivir-workstation-pers.tar.gz" target="_blank"><font size="3">http://free-av.com/personal/en/u ... station-pers.tar.gz</font></a><br /><font size="3">当然我们去国内比较大的软件网站华军和天空也可以下载到C版红伞，windows下的程序下载分别是：<br />华军软件园下载地址：</font><a href="http://www.newhua.com/soft/2751.htm" target="_blank"><font size="3">http://www.newhua.com/soft/2751.htm</font></a><font size="3"> （Windows NT / 2000 / XP）<br />天空软件下载地址：</font><a href="http://www.skycn.com/soft/29050.html" target="_blank"><font size="3">http://www.skycn.com/soft/29050.html</font></a><font size="3"> （Windows NT / 2000 / XP）<br /></font><br /><font size="5">B安装篇<br /></font><font size="3">下载完了之后可以立即安装，这里我简单的介绍一下windows操作系统下的c版红伞的安装，如果使用linux和solaris等操作系统的请依样画葫芦：）<br />首先双击下载下来的exe文件，在弹出的窗口点accept（接受）<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=466" target="_blank">1.PNG</a> (2007-3-8 01:12, 26.66 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_c48c7c1257a7c93495c40FCYVTqm5Xnc.png" border="0" /><br /></font><br /><font size="3">程序自解压<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=467" target="_blank">2.PNG</a> (2007-3-8 01:12, 26.33 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_b0745655e7f7fe4a8413PVa1moXP0Lvg.png" border="0" /><br /></font><br /><font size="3">点下一步<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=468" target="_blank">3.PNG</a> (2007-3-8 01:12, 37.69 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_650ade1176b463a6b0d2KhYWDvLceNfa.png" border="0" /><br /></font><br /><font size="3">再点下一步<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=469" target="_blank">4.PNG</a> (2007-3-8 01:12, 18.73 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_a99b2471b01f85e9394dxlQhCnwHJPdR.png" border="0" /><br /></font><br /><font size="3">勾选下图中用红框框起来的选项，表明“我接受许可协议条款”，并点击“下一步”<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=470" target="_blank">5.PNG</a> (2007-3-8 01:12, 17.8 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_1e9439d2234d051124396Oh0enQwHGev.png" border="0" /><br /></font><br /><font size="3">勾选下图中用红框框起来的选项，同意仅为个人使用，不用于商业用途，并点击“下一步”<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=471" target="_blank">6.PNG</a> (2007-3-8 01:12, 16.74 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_9d3ed256b0c7c86ac3c1ccPM3ZnJHPiD.png" border="0" /><br /></font><br /><font size="3">由于c版为免费版本，所以序列号将在安装时软件会随机生成一个序列号并提交给avira，这个选项默认勾选，我们要做的只需要点击“下一步”。<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=472" target="_blank">7.PNG</a> (2007-3-8 01:12, 16.88 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_81bd9755b3266fe3987dLpn0WTLtthaB.png" border="0" /><br /></font><br /><font size="3">下面选择“完整安装”还是“自定义安装”，系统默认为完整安装，经过我的实验，自定义安装能分别自定义4个方面：<br />a.安装文件夹的地址，默认为在program files；<br />b.选择组件，可以自定义安装主程序（<u><font color="#ff0000">Avira AntiVir</font></u> PersonalEdition Classic），监控（AntiVir Guard）和界面扩展（shell extension）其中界面扩展就是添加右键扫描选项；<br />c.win32文件的启发式扫描等级设置；<br />d.是否创立桌面图标和在开始菜单安装。<br />我个人认为这四个选项可以都不需要更改，所以我建议大家直接点complete完整安装，win32的启发水平可以等安装完之后再根据需要更改。由于complete默认选择，所以我们只需要点击“下一步”。<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=473" target="_blank">8.PNG</a> (2007-3-8 01:12, 20.21 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_63f2d9b72ae5035efd09grNJa9QmvVi2.png" border="0" /><br /><font size="3">安装过程中......<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=474" target="_blank">9.PNG</a> (2007-3-8 01:12, 13.13 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_5b0b356d1e8f7599a91c2b4xo2PiaOyo.png" border="0" /><br /></font><br /><font size="3">点击完成结束安装<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=475" target="_blank">10.PNG</a> (2007-3-8 01:25, 37.51 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_5ff2828180327a888fcb4ePJ8rAToC2y.png" border="0" /><br /></font><br /><font size="3">如果你是非教育网用户（已经有直接可以连接国外的<span class="t_tag" href="http://hi.baidu.com/tjjbq/blog/item/tag.php?name=%CD%F8%C2%E7">网络</span>连接），那你可以在随后弹出的窗口上点击yes进行升级。<br /></font><font size="3"><br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=476" target="_blank">11.PNG</a> (2007-3-8 01:28, 34.74 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_12fc1abbe5f818c4df8ePhKYZ5gi5sxc.png" border="0" /><br /></font><br /><font size="3">安装完后系统会自动进行扫描，在我的机器上扫描没有病毒（未升级病毒库和扫描引擎，即为安装后的初始状态）。<br />在我的机器上扫描没有发现病毒，至少是当前的病毒库：）<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=478" target="_blank">12.PNG</a> (2007-3-8 01:34, 71.24 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_21faf483142bb90eab21QUKOKYBFrIsS.png" border="0" /><br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=480" target="_blank">13.PNG</a> (2007-3-8 01:38, 81.33 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_033cfc45ebaffe82434dpY1JPnpoGUvo.png" border="0" /><br /></font><br /><font size="5">C.设置篇<br /></font><font size="3">点击系统托盘的小红伞，我们来看下基本界面。<br />界面非常的简介大方，很有大家风范：）<br />虽然可以看的地方很多，但是对于我们一般用户来说，只有我圈出的几个地方我们会用到，比较重要的。<br />a. update：这里点击可以直接在线升级或者通过manual update进行升级。manual update我们可以直接去官网或者华军网站下载离线升级包，不过我本人不太推荐，因为毕竟在线升级易用性强很多。<br />b. Quarantine：隔离。扫描出的可疑文件被隔离在这里等待进一步分析。<br />c. Configuration：设置。这个下面我将详细的介绍。<br />d. Start Update：直接在线升级，C版的升级一直是个问题，不过我们红伞论坛的Jay 周版主给出了解决方案，具体可以参见</font><a href="http://www.avira.org.cn/bbs/view" target="_blank"><font size="3">http://www.avira.org.cn/bbs/view</font></a><font size="3"> ... &amp;extra=page%3D1参看详细的代理服务器地址<br />e. update to Premium:升级到带邮件扫描和其他附加功能的P版，享受更好的安全服务<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=499" target="_blank">14.PNG</a> (2007-3-8 12:34, 44.03 K)<br /><img style="CURSOR: pointer" src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_b82a6ed2d8255993555bTufm9KiiHeCN.png" width="771" border="0" resized="true" /><br />点configuration（设置），在弹出的窗口的左上角点expert mode（专家模式），扫描器的首页无需更改任何设置，直接展开scan（扫描）来设置扫描器<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=482" target="_blank">15.PNG</a> (2007-3-8 01:45, 45.53 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_28df2e19d4a308c36d9eDtHCZ2lGX5mb.png" border="0" /><br /></font><br /><font size="3">action for concerning files 相关文件动作设置；默认即可，报警声可以替换，但是文件格式必须是wav<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=483" target="_blank">16.PNG</a> (2007-3-8 01:47, 45.07 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_9567ea020785c7df8deaS8u3VrFitm9U.png" border="0" /><br /></font><br /><font size="3">压缩存档文件设置<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=484" target="_blank">17.PNG</a> (2007-3-8 01:49, 47.88 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_3087e1ee10be92950fe37pnxofRbrCzB.png" border="0" /><br /></font><br /><font size="3">排除文件设置<br />开高启发扫描杀毒，如果担心误杀正常系统或程序文件（如现在的一键ｇｈｏｓｔ），请在这里进行扫描杀毒的排除，这样在杀毒时会跳过可能会误杀的正常文件！<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=485" target="_blank">18.PNG</a> (2007-3-8 01:50, 59.22 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_cfe35e523af8605bff11yDTpRoJSqxpN.png" border="0" /><br /></font><br /><font size="3">启发式杀毒设置<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=501" target="_blank">19.PNG</a> (2007-3-8 14:04, 44.32 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_61d14462411f7f27a86dPe8Ae4QYZ1eU.png" border="0" /><br /></font><br /><font size="3">report（日志记录）直接默认就可以，跳到guard（监控）设置，点监控的scan，进行监控扫描设定<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=487" target="_blank">20.PNG</a> (2007-3-8 01:54, 48.06 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_65ea4a55e320030699ffjYITY2jIZ5TC.png" border="0" /><br /></font><br /><font size="3">action for concerning files不用改，默认设置就可以，直接跳过点expertion设置排除<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=488" target="_blank">21.PNG</a> (2007-3-8 01:55, 72.84 K)<br /><img style="CURSOR: pointer" src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_cdf0f14443a747020a76yXWVPUCaxaCd.png" width="771" border="0" resized="true" /><br /></font><br /><font size="3">监控扫描的启发可以参照扫描器的设置：）建议一般的用户可以使用默认值，直接跳过就可以了。<br />同样监控日志默认不用改。<br />展开general，点extended threat categories（额外威胁类别）进行设置。<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=489" target="_blank">22.PNG</a> (2007-3-8 01:57, 50.45 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_0421b8bf5d06e68ca760i6rwmgT5oupw.png" border="0" /><br /></font><br /><font size="3">security安全设置和update升级。<br />security安全设置是保护红伞的设置和程序自身，建议把图片上的两个都选上。另，这个设置是对非管理员权限才起保护作用。ｊｏｂｆｉｌｅｓ主要指程序自身。如果选上这个选项，在非管理员权限用户下，无法结束红伞进程。<br />update可以设置代理服务器，教育网和一些其他用户可能需要进行设置，具体的请参照本论坛jay周版主的帖子，上面有提到<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=498" target="_blank">23.PNG</a> (2007-3-8 12:31, 48.91 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_a3d2da8d71bdfee1bc2cAJKu5zpPasaO.png" border="0" /><br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=491" target="_blank">24.PNG</a> (2007-3-8 02:00, 50.44 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_dfeb4d5f6959ae0912fdxdnXbP7FwWi2.png" border="0" /><br /></font><br /><br /><br /><font size="3"><br /></font><font size="5">D.实战篇</font><br /><font size="3">设置完红伞后，建议立即更新病毒库和杀毒引擎，然后对系统进行一次扫描。另可以把你设置好的扫描选项用快捷方式的图标发送到桌面上，这样以后想同样扫描，可以直接在桌面上点击快捷方式就可以直接扫描了。<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=492" target="_blank">25.PNG</a> (2007-3-8 02:06, 38.79 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_062e24d06a40aab9510fxxitT78Tus46.png" border="0" /><br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=502" target="_blank">29.PNG</a> (2007-3-8 14:04, 39.08 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_24e04ca2e45f59789c9aqv4wwO43pXq2.png" border="0" /><br /></font><font size="3">小红伞支持右键扫描，可以扫描单独的文件，文件夹和驱动器（包括U盘）<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=493" target="_blank">26.PNG</a> (2007-3-8 02:06, 22.02 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_cb5ca4458bee17b07971ihQS9EIrR7LK.png" border="0" /><br /></font><br /><font size="3">注意小红伞不监控压缩包，所以压缩包里的病毒需要在解压缩，或者直接用扫描器扫描的时候才能发现。<br />但是压缩包内的病毒不解压是没有办法发作的，如果解压就会被小红伞发现并阻止，所以怀疑小红伞为什么扫描全盘那么快的人现在得到答案了吧。  <br />发现病毒建议首先隔离。<br /><img src="http://www.avira.org.cn/bbs/images/attachicons/image.gif" border="0" /><br /><a href="http://www.avira.org.cn/bbs/member.php?action=credits&amp;view=getattach" target="_blank">图片附件</a>: <a href="http://www.avira.org.cn/bbs/attachment.php?aid=495" target="_blank">28.PNG</a> (2007-3-8 02:06, 34.83 K)<br /><img src="http://www.2500mm.com/bbs/attachments/day_070316/20070316_2b1f60b3e469cd4da3b6iYXllhsGj9Da.png" border="0" /><br /></font></font></div>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/kemi/aggbug/186173.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kemi/" target="_blank">Kimi</a> 2008-03-14 07:40 <a href="http://www.blogjava.net/kemi/archive/2008/03/14/186173.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Rising.exe+Auto.exe 流氓病毒</title><link>http://www.blogjava.net/kemi/archive/2007/09/28/148977.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Fri, 28 Sep 2007 02:17:00 GMT</pubDate><guid>http://www.blogjava.net/kemi/archive/2007/09/28/148977.html</guid><wfw:comment>http://www.blogjava.net/kemi/comments/148977.html</wfw:comment><comments>http://www.blogjava.net/kemi/archive/2007/09/28/148977.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kemi/comments/commentRss/148977.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kemi/services/trackbacks/148977.html</trackback:ping><description><![CDATA[上午跟此病毒斗争，总算在服务里看不到这个恐怖的服务了。<br />将收集到的资料放在这里，以备后患！<br /><br /><br />该病毒就是前些日子流行的“修改系统时间”的病毒之变种。此次变种可谓是集N种破坏性病毒之大成了。主要破坏功能有：<br />        1.感染exe 并使得被感染的exe的公司等属性变为“番茄花园”<br />　　2.感染html asp 等文件 插入恶意代码<br />　　3.通过双击磁盘启动<br />　　4.下载木马，盗取网游帐号<br />　　5.修改注册表 使系统无法显示隐藏文件<br />　　6.通过hook API 函数 导致任务管理器中 无法看见其进程<br /><br />　　分析报告如下：<br /><table bordercolor="#cccccc" cellspacing="0" cellpadding="3" width="500" bgcolor="#ffffff" border="2" heihgt=""><tbody><tr><td> File: rising.exe<br />Size: 64775 bytes<br />File Version: 1.00<br />MD5: 86311B37D938BB35645E7B092014DD63<br />SHA1: 47C324A5A691DD31DC0410E51ADBD35065E6C7C3<br />CRC32: 88ABBD9B 
<p>rising.exe 运行后 首先释放一个rising.eve的文件 然后由rising.exe启动他<br />之后 释放139CA82A.EXE 139CA82A.dll（随机的8个数字字母组合成的文件名）到系统文件夹<br />注册服务139CA82A.EXE<br />139CA82A.EXE控制winlogon进程 使得139CA82A.dll插入几乎所有进程</p><p>释放rising.exe 和autorun.inf 到每个分区 使得双击磁盘启动<br />感染 除系统分区外的exe文件 使得其公司名全变为 番茄花园<br />感染 html asp 等文件 在其后面插入代码<br />&lt;iframe src="<a href="http://web.yulett.cn/count.htm">http://web.yulett.cn/count.htm</a>" width="0" height="0" frameborder="0"&gt;&lt;/iframe&gt;</p><p>修改系统时间 随机把年份往前调 月，日不变<br />修改 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL\CheckedValue:<br />值为 0x00000000<br />导致无法显示临时文件</p><p>rising.exe 还会hook 多个 API函数 使其进程在任务管理器中隐藏</p><p>使用Explorer.exe连接网络 61.152.92.98:80下载木马<br />下载的木马一般为K117815XXXXX.exe<br />XXXXX代表随机<br />到系统文件夹</p><p>由于 每台机器上下载的木马的名称不同 但最后结果相同 所以中间释放的过程省略<br />最后 这些木马运行后分别释放了如下文件<br />C:\WINDOWS\system32\buchehuo.exe（创建了服务inetsvr）</p><p>C:\WINDOWS\system32\cmdbs.dll<br />C:\WINDOWS\cmdbs.exe</p><p>C:\WINDOWS\system32\Kvsc3.dll<br />C:\WINDOWS\Kvsc3.exe</p><p>C:\WINDOWS\system32\mppds.dll<br />C:\WINDOWS\mppds.exe</p><p>C:\WINDOWS\system32\msccrt.dll<br />C:\WINDOWS\msccrt.exe<br />C:\WINDOWS\system32\winform.dll<br />C:\WINDOWS\winform.exe</p><p>C:\WINDOWS\system32\winsock.exe</p><p>临时文件夹下 释放upxdnd.exe和upxdnd.dll</p></td></tr></tbody></table><p><br /><font color="#ff0000">　　解决办法：<br /></font><br /><font color="#ff0000">　　</font>安全模式下(开机后不断 按F8键 然后出来一个高级菜单 选择第一项 安全模式 进入系统)</p><p>　　首先把系统日期 改回来<br />　　然后打开sreng(可到down.45it.com下载)<br />　　启动项目 注册表 删除如下项目 <br /></p><table bordercolor="#cccccc" cellspacing="0" cellpadding="3" width="500" bgcolor="#ffffff" border="2" heihgt=""><tbody><tr><td> &lt;upxdnd&gt;&lt;C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\upxdnd.exe&gt; []<br />&lt;msccrt&gt;&lt;C:\WINDOWS\msccrt.exe&gt; []<br />&lt;cmdbs&gt;&lt;C:\WINDOWS\cmdbs.exe&gt; []<br />&lt;mppds&gt;&lt;C:\WINDOWS\mppds.exe&gt; []<br />&lt;Kvsc3&gt;&lt;C:\WINDOWS\Kvsc3.exe&gt; []<br />&lt;winform&gt;&lt;C:\WINDOWS\winform.exe&gt; []</td></tr></tbody></table><p>　　“启动项目”-“服务”-“Win32服务应用程序”中点“隐藏经认证的微软项目”，<br />　　选中以下项目，点“删除服务”，再点“设置”，在弹出的框中点“否”：<br /></p><table bordercolor="#cccccc" cellspacing="0" cellpadding="3" width="500" bgcolor="#ffffff" border="2" heihgt=""><tbody><tr><td> 139CA82A / 139CA82A<br />Wireless Zero Conflguration / inetsvr</td></tr></tbody></table><p><br />把下面的 代码拷入记事本中然后另存为1.reg文件<br /></p><table style="WIDTH: 500px" bordercolor="#cccccc" cellspacing="0" cellpadding="3" width="500" bgcolor="#ffffff" border="2" heihgt=""><tbody><tr><td> Windows Registry Editor Version 5.00 
<p>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL]<br />"RegPath"="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"<br />"Text"="@shell32.dll,-30500"<br />"Type"="radio"<br />"CheckedValue"=dword:00000001<br />"ValueName"="Hidden"<br />"DefaultValue"=dword:00000002<br />"HKeyRoot"=dword:80000001<br />"HelpID"="shell.hlp#51105"</p></td></tr></tbody></table><p>　　双击1.reg把这个注册表项导入注册表</p><p>　　然后双击我的电脑－工具－文件夹选项－查看－显示所有文件和文件夹，把“隐藏受保护的系统文件”的勾去掉。</p><p>　　右键 点击C盘 点击右键菜单中的“打开”打开C盘 （千万不要双击）（如图）<br />　　删除 如下文件<br /></p><table bordercolor="#cccccc" cellspacing="0" cellpadding="3" width="500" bgcolor="#ffffff" border="2" heihgt=""><tbody><tr><td> C:\rising.exe<br />C:\autorun.inf<br />C:\WINDOWS\system32\buchehuo.exe<br />C:\WINDOWS\system32\cmdbs.dll<br />C:\WINDOWS\cmdbs.exe<br />C:\WINDOWS\system32\Kvsc3.dll<br />C:\WINDOWS\Kvsc3.exe<br />C:\WINDOWS\system32\mppds.dll<br />C:\WINDOWS\mppds.exe<br />C:\WINDOWS\system32\msccrt.dll<br />C:\WINDOWS\msccrt.exe<br />C:\WINDOWS\system32\winform.dll<br />C:\WINDOWS\winform.exe<br />C:\WINDOWS\system32\winsock.exe<br />C:\WINDOWS\unspapik.txt<br />C:\WINDOWS\wiasevct.txt<br />C:\WINDOWS\wiasvctr.txt<br />C:\WINDOWS\ganran.txt<br />C:\WINDOWS\system32\139CA82A.DLL（随机的8个数字字母组合成的文件名）<br />C:\WINDOWS\system32\139CA82A.EXE（随机的8个数字字母组合成的文件名）<br />C:\WINDOWS\system32\K117815XXXXX.exe（XXXXX代表随机数字）<br />清空C:\Documents and Settings\用户名\Local Settings\Temp</td></tr></tbody></table>　　右键 点击分别打开系统分区以外的分区 还是点击右键菜单中的“打开” （千万不要双击）<br /><br />　　删除每个分区下面的autorun.inf和rising.exe文件<img src ="http://www.blogjava.net/kemi/aggbug/148977.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kemi/" target="_blank">Kimi</a> 2007-09-28 10:17 <a href="http://www.blogjava.net/kemi/archive/2007/09/28/148977.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>&lt;原创&gt; WAP 传递参数的例子</title><link>http://www.blogjava.net/kemi/archive/2007/08/16/137319.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Thu, 16 Aug 2007 08:34:00 GMT</pubDate><guid>http://www.blogjava.net/kemi/archive/2007/08/16/137319.html</guid><wfw:comment>http://www.blogjava.net/kemi/comments/137319.html</wfw:comment><comments>http://www.blogjava.net/kemi/archive/2007/08/16/137319.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kemi/comments/commentRss/137319.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kemi/services/trackbacks/137319.html</trackback:ping><description><![CDATA[
		<p>
				<strong>
						<font size="5">index.jsp</font>
				</strong>
				<br />
				<br />&lt;?xml version="1.0" encoding='utf-8'?&gt;<br />&lt;%@ page contentType="text/vnd.wap.wml;charset=UTF-8"%&gt;<br />&lt;!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" <br />"<a href="http://www.wapforum.org/DTD/wml_1.1.xml">http://www.wapforum.org/DTD/wml_1.1.xml</a>"&gt;<br />&lt;%@ page import="java.sql.Connection"%&gt;<br />&lt;%@ page import="java.sql.ResultSet"%&gt;<br />&lt;%@ page import="java.sql.Statement"%&gt;<br />&lt;%@ page import="com.telecom.dao.DBLinker"%&gt;<br />&lt;%@ page import="com.telecom.dao.linkman.DepSupport"%&gt;<br />&lt;%@ page import="com.telecom.common.form.DepForm"%&gt;<br />&lt;%@ page import="com.telecom.common.form.UserForm"%&gt;<br />&lt;%@ page import="java.util.ArrayList"%&gt;<br />&lt;wml&gt;<br />&lt;card id="main" title="企信机联系人" newcontext="true"&gt;<br />&lt;p&gt;<br /> &lt;%<br />  java.util.Enumeration emu = request.getHeaderNames();<br />  String e = new String();<br />  String s = new String();<br />  String mobile = new String();<br />  int i = 0;<br />  while (emu.hasMoreElements()) {<br />   i++;<br />   e = (String) emu.nextElement();<br />   if (e.equals("x-up-calling-line-id")) {<br />    mobile = request.getHeader(e);<br />   }<br />   System.out.println(i + e);<br />   s = request.getHeader(e);<br />   System.out.println(s);</p>
		<p>  }</p>
		<p>  //DepSupport ds=new DepSupport();<br />  Connection conn = (Connection) DBLinker.linkDB();<br />  String sql = "select * from tbDepartment where intParentID=0 and intType=1 and intEnable=1";<br />  ResultSet rs = null;<br />  Statement sta = conn.createStatement();<br />  rs = sta.executeQuery(sql);<br />  while (rs.next()) {<br />   String dep_name = rs.getString("strName");<br />   int dep_id = rs.getInt("intID");<br /> %&gt;</p>
		<p> &lt;%=dep_name%&gt;<br /> </p>
		<p> &lt;br /&gt;<br /> &lt;%<br />   String sql2 = "select a.intID userID,b.intID memberID,a.strName uname,b.intDepID depID from tbUser a,tbUserDep b where a.intEnable=1 and a.intOpen=1 and b.intEnable=1 and a.intID=b.intUserID  ";<br />   System.out.println(sql2);<br />   ResultSet rs2 = null;<br />   Statement sta2 = conn.createStatement();<br />   rs2 = sta2.executeQuery(sql2);<br />   while (rs2.next()) {<br />    String addrName = rs2.getString("uname");<br />    int addrID = rs2.getInt("userID");<br />    int depnum = rs2.getInt("depID");<br />    int dep_id2 = new DepSupport().GetTopID(conn, depnum);<br />    if (dep_id2 == dep_id) {<br /> %&gt;<br /> &lt;img alt=":)" src="../img/bullet.gif" /&gt;<br /> &lt;anchor&gt;<br /> &lt;%=addrName%&gt;<br /> &lt;go href="eim.jsp" accept-charset="UTF-8"&gt;<br /> &lt;postfield name="getter" value="&lt;%=addrName%&gt;"/&gt;<br /> &lt;postfield name="getterID" value="&lt;%=addrID%&gt;"/&gt;<br /> &lt;postfield name="type" value="企业用户"/&gt;<br /> &lt;postfield name="mobile" value="&lt;%=mobile%&gt;"/&gt;<br /> &lt;/go&gt;<br /> <br /> &lt;/anchor&gt;<br /> &lt;br /&gt;<br /> &lt;%<br />   }<br />   }<br /> %&gt;<br /> &lt;br /&gt;<br /> &lt;%<br /> }<br /> %&gt;<br /> &lt;%<br />  String sql3 = "select * from tbAddressType where intEnable=1 and intUserID=1";<br />  Statement sta3 = conn.createStatement();<br />  ResultSet rs3 = sta3.executeQuery(sql3);<br />  ;<br />  while (rs3.next()) {<br />   String gName = rs3.getString("strName");<br />   int gID = rs3.getInt("intID");<br /> %&gt;<br /> &lt;%=gName%&gt;<br /> &lt;br /&gt;<br /> &lt;%<br />   String sql4 = " select strName ,intID from tbUser where intID in(select intUserID from tbAddressMember where  intEnable=1 and intType=1 and intAddressTypeID= "<br />   + gID + ")";<br />   Statement sta4 = conn.createStatement();<br />   ResultSet rs4 = sta4.executeQuery(sql4);<br />   ;<br />   while (rs4.next()) {<br />    String iName = rs4.getString("strName");<br />    int iID=rs4.getInt("intID");<br /> %&gt;<br /> &lt;img alt=":)" src="../img/bullet.gif" /&gt;<br /> &lt;anchor&gt;<br /> &lt;%=iName%&gt;<br /> &lt;go href="eim.jsp" &gt;<br /> &lt;postfield name="getter" value="&lt;%=iName%&gt;"/&gt;<br /> &lt;postfield name="getterID" value="&lt;%=iID%&gt;"/&gt;<br /> &lt;postfield name="type" value="企业用户"/&gt;<br /> &lt;postfield name="mobile" value="&lt;%=mobile%&gt;"/&gt;<br />  &lt;/go&gt;<br /> &lt;/anchor&gt;<br /> &lt;br /&gt;<br /> &lt;%<br />   }<br />   String sql5 = " select strName,intID from tbExtraPerson where intID in(select intUserID from tbAddressMember where  intEnable=1 and intType=2 and intAddressTypeID= "<br />   + gID + ")";<br />   Statement sta5 = conn.createStatement();<br />   ResultSet rs5 = sta5.executeQuery(sql5);<br />   ;<br />   while (rs5.next()) {<br />    String oName = rs5.getString("strName");<br />    int oID=rs5.getInt("intID");<br /> %&gt;<br /> &lt;img alt=":)" src="../img/bullet.gif" /&gt;<br /> &lt;anchor&gt;<br /> &lt;%=oName%&gt;<br /> &lt;go href="eim.jsp" &gt;<br /> &lt;postfield name="getter" value="&lt;%=oName%&gt;"/&gt;<br /> &lt;postfield name="getterID" value="&lt;%=oID%&gt;"/&gt;<br /> &lt;postfield name="type" value="非企业用户"/&gt;<br /> &lt;postfield name="mobile" value="&lt;%=mobile%&gt;"/&gt;<br />  &lt;/go&gt;<br /> &lt;/anchor&gt;<br /> &lt;br /&gt;<br /> &lt;%<br /> }<br /> %&gt;<br /> &lt;br /&gt;</p>
		<p> &lt;%<br /> }<br /> %&gt;</p>
		<p> </p>
		<p>&lt;/p&gt;<br />&lt;/card&gt;</p>
		<p>
				<br />&lt;/wml&gt;<br /><br /><font size="5"><strong>2. EIM.</strong></font><font size="3">jsp<br />  &lt;?xml version="1.0" ?&gt;<br />&lt;%@ page contentType="text/vnd.wap.wml;charset=UTF-8"%&gt;<br />&lt;!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" <br />"<a href="http://www.wapforum.org/DTD/wml_1.1.xml">http://www.wapforum.org/DTD/wml_1.1.xml</a>"&gt;<br />&lt;% <br /> <br /> String getter = new String( request.getParameter("getter").getBytes("iso8859-1"),"UTF-8");<br /> int getterID = Integer.parseInt(request.getParameter("getterID"));<br /> String type = request.getParameter("type");<br /> type=new String( type.getBytes("iso8859-1"),"UTF-8");<br /> String mobile=request.getParameter("mobile");<br />%&gt;<br />&lt;wml&gt;<br />&lt;card id="main" title="WAP业务" newcontext="true"&gt;<br />&lt;p mode="nowrap"&gt;<br /> 发送对象:<br /> &lt;%=getter%&gt;<br /> &lt;br /&gt;<br /> &lt;br /&gt;<br /> 类型：<br /> &lt;%=type%&gt;<br /> &lt;br /&gt;<br /> &lt;br /&gt;<br /> 信息内容：<br /> &lt;input name="content" type="text"  maxlength="70"<br />  size="32" /&gt;</font></p>
		<p>
				<font size="3"> &lt;br /&gt;<br /> &lt;br /&gt;<br /> &lt;anchor&gt;<br /> 发送短信<br /> &lt;go href="downSMS.jsp" &gt;<br /> &lt;postfield name="content" value="$(content)" /&gt;<br /> &lt;postfield name="getterID" value="&lt;%=getterID%&gt;" /&gt;<br /> &lt;postfield name="type" value="&lt;%=type%&gt;" /&gt;<br />  &lt;/go&gt;<br /> &lt;/anchor&gt;<br /> &lt;anchor&gt;<br /> &lt;br /&gt;<br /> &lt;br /&gt;<br /> 呼叫对方<br /> &lt;go href="downVoice.jsp" &gt;<br /> &lt;postfield name="getterID" value="&lt;%=getterID%&gt;" /&gt;<br /> &lt;postfield name="type" value="&lt;%=type%&gt;" /&gt;<br /> &lt;postfield name="sender" value="&lt;%=mobile%&gt;" /&gt;<br />  &lt;/go&gt;<br /> &lt;/anchor&gt;<br />&lt;/p&gt;<br />&lt;/card&gt;</font>
		</p>
		<p>
				<font size="3">
				</font> </p>
		<p>
				<font size="3">&lt;/wml&gt;</font>
		</p>
		<p>
				<font size="3">
						<br />                      <br /><br /><br />  <br /><br /><br /></font>
		</p>
<img src ="http://www.blogjava.net/kemi/aggbug/137319.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kemi/" target="_blank">Kimi</a> 2007-08-16 16:34 <a href="http://www.blogjava.net/kemi/archive/2007/08/16/137319.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(转) WAP开发细节问题</title><link>http://www.blogjava.net/kemi/archive/2007/08/14/136734.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Tue, 14 Aug 2007 09:22:00 GMT</pubDate><guid>http://www.blogjava.net/kemi/archive/2007/08/14/136734.html</guid><wfw:comment>http://www.blogjava.net/kemi/comments/136734.html</wfw:comment><comments>http://www.blogjava.net/kemi/archive/2007/08/14/136734.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kemi/comments/commentRss/136734.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kemi/services/trackbacks/136734.html</trackback:ping><description><![CDATA[
		<div class="postTitle">
				<span class="postdetails">
						<font size="2">1）wap多选框 <br />&lt;card id="phones" title="组信息"&gt; <br />&lt;do type="prev" name="Prev" label="Back"&gt; <br />&lt;go href="meeting.wml"&gt;&lt;/go&gt;&lt;/do&gt; <br />&lt;do type="accept"&gt;&lt;go href="servlet_wap?serviceID=0124"&gt; <br />&lt;postfield name="scity" value="1"/&gt; <br />&lt;postfield name="members" value="$members"/&gt; <br />&lt;/go&gt;&lt;/do&gt; <br />&lt;p mode="nowrap"&gt;**选择会议成员** <br />&lt;select name="members" multiple="true"&gt; <br />&lt;option value="138345657678"&gt;88(138345657678)&lt;/option&gt; <br />&lt;option value="1383456576786"&gt;88886(1383456576786)&lt;/option&gt; <br />&lt;option onpick="meeting.wml"&gt;[返回]&lt;/option&gt; <br />&lt;/select&gt; <br />&lt;/p&gt; <br />&lt;/card&gt; <br />2）wap单选框 <br />&lt;card&gt; <br />&lt;p&gt;Please choice your favourite Web.&lt;br/&gt; <br />　&lt;select name="X"&gt; <br />　　&lt;option value="S"&gt;sina&lt;/option&gt; <br />　　&lt;option value="Y"&gt;yahoo&lt;/option&gt; <br />　&lt;/select&gt; <br />&lt;p&gt; <br />&lt;/card&gt; <br />3）有关左右软按键）（由手机浏览器自动解析为menu菜单，在手机的右键出现；） <br />&lt;do type=".options." label="确认" optional="false"&gt; <br />　　　 &lt;go href="/wapapp/servlet_yxtwap?serviceID=0214"/&gt; <br />　 &lt;/do&gt; <br />代表右软按键，一个“确定”按钮； <br />&lt;do type=".Accept." label="返回" optional="false"&gt; <br />　　　 &lt;go href="../servlet_yxtwap?serviceID=0201"/&gt; <br />　 &lt;/do&gt; <br />代表左软按键，一个“返回”按钮； <br /><br />最好是这样： <br />&lt;do type="options" name="Prev" label="返回"&gt;&lt;go href="indexmember.wml"&gt;&lt;/go&gt;&lt;/do&gt; <br />&lt;do type="Accept" label="确定"&gt; <br />&lt;go href="/wapapp/servlet_yxtwap?serviceID=0401"&gt; <br />&lt;postfield name="name" value="$name"/&gt; <br />&lt;postfield name="nick" value="$nick"/&gt; <br />&lt;postfield name="call" value="$call"/&gt; <br />&lt;/go&gt; <br />&lt;/do&gt; <br />返回刚才上页： <br />&lt;do type="options" name="Prev" label="返回"&gt;&lt;prev/&gt;&lt;/do&gt; <br /><br />&lt;do type="options" name="Prev" label="返回"&gt;&lt;go href="index.wml"&gt;&lt;/go&gt;&lt;/do&gt; <br />&lt;do type="accept" label="确定"&gt; <br />&lt;go href="/wapapp/servlet_wap" method="post"&gt; <br />&lt;!-- go href="/servlet/wap86test" --&gt; <br />&lt;postfield name="serviceID" value="0002"/&gt; <br />&lt;postfield name="phone" value="$(phone:e)"/&gt; <br />&lt;postfield name="passwd" value="$(passwd:e)"/&gt; <br />&lt;/go&gt; <br />&lt;/do&gt; <br /><br />4）有关软连结的友好提示 <br />&lt;a title = "确定" href="announce.wml"&gt;网站声明&lt;/a&gt;&lt;br/&gt; <br />加入title属性，可以在手机的左键显示title里面所放置的提示语。 <br /><br />"&lt;do type=\"options\" name=\"Prev\" label=\"返回\"&gt;&lt;go href=\"index.wml\"&gt;&lt;/go&gt;&lt;/do&gt;"+ <br />&lt;do type="options" name="Prev" label="返回"&gt;&lt;go href="index.wml"&gt;&lt;/go&gt;&lt;/do&gt; <br /><br />5）ipnut输入框自动换行 <br />&lt;p mode="nowrap"&gt;**姓名昵称**&lt;br/&gt; <br />姓名: <br />&lt;input name="name" tabindex="1" maxlength= "32" /&gt; <br />注意：Ⅰ、p的mode属性为nowrap； <br />Ⅱ、input里没有size属性； <br /><br />6）&lt;p mode="nowrap"&gt;将菜单项显示在同一行中，而不是分行显示，如果是文字的话，可以实现滚动文本代替换行文本； <br />所以 <br />&lt;p mode="wrap"&gt;**用户登录**&lt;br/&gt; <br />输入手机号码:&lt;br/&gt; <br />&lt;input name="phone" format="*N" tabindex="1" maxlength="11" size = "11"/&gt;&lt;br/&gt; <br />输入密码:&lt;br/&gt; <br />&lt;input name="passwd" format="*N" tabindex="2" maxlength="6" size = "7"/&gt; <br />&lt;/p&gt; <br />就可以达到固定页面的效果； <br /><br />7）正确的url连接 <br />String strAddressList = WapUtil.gbk2unicode("通讯录"); <br />WapUtil.encode("通讯录", strAddressList) <br /><br />String groupName = request.getParameter("groupname");//（1） <br />groupName = WapUtil.togbk(groupName); //（2） <br />String unicgpName = WapUtil.gbk2unicode(groupName); //(3) <br />WapUtil.encode(groupName,unicgpName) //（4）如果是带中文参数连接的话，应该这样做为参数 <br /><br />8）作为提交数据的字段码制信息需要： <br />下面例子为将url中取的已经转码的中文连接字段做为提交字段，提交给servlet处理 <br />（1） String groupName = request.getParameter("groupname"); <br />groupName = WapUtil.togbk(groupName); //(1) <br />（2） String unicgpName = WapUtil.gbk2unicode(groupName); <br />（3） "&lt;go href=\"servlet_wap?serviceID=0213\" accept-charset=\"GB2312\"&gt;\n" + <br />"&lt;postfield name=\"omgroupname\" value=\"" + unicgpName + "\"/&gt;\n" + <br />首先将已经encode的url中的连接字段取得，并用gb2312处理； <br />然后将该已经转成中文的字段转成unicode码制； <br />最后将该字段放入一个浏览器与服务器之间收发信息的字符集类型为gb2312的提交url， <br />完成 <br /><br />9）将输入框中的字段清空 <br />&lt;?xml version="1.0" encoding="UTF-8"?&gt; <br />&lt;!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" <br />"http://www.wapforum.org/DTD/wml_1.1.xml"&gt; <br />&lt;wml&gt; <br />&lt;head&gt; <br />&lt;meta http-equiv="Cache-Control" content="max-age=0" forua="true"/&gt; <br />&lt;/head&gt; <br />&lt;card id="card1" title="群呼群聊"&gt; <br />&lt;onevent type="onenterforward"&gt; <br />&lt;refresh&gt; <br />&lt;setvar name="mgroupname" value=""/&gt; <br />&lt;/refresh&gt; <br />&lt;/onevent&gt; <br />&lt;do type="options" name="Prev" label="返回"&gt;&lt;go href="/wapapp/servlet_wap?serviceID=0203&amp;groupname=11%B2%BB%B6%ED%B6%F8dd&amp;groupcode=6"&gt;&lt;/go&gt;&lt;/do&gt; <br />&lt;do type="accept" label="确定"&gt;&lt;go href="/wapapp/servlet_wap?serviceID=0213" method="get" accept-charset="GB2312"&gt; <br />&lt;postfield name="omgroupname" value="11不俄而dd"/&gt; <br />&lt;postfield name="groupcode" value="6"/&gt; <br />&lt;postfield name="mgroupname" value="$mgroupname" /&gt; <br />&lt;/go&gt;&lt;/do&gt; <br />&lt;p mode="wrap"&gt;**修改组**&lt;br/&gt; <br />输入新组名:&lt;br/&gt; <br />&lt;input name="mgroupname" tabindex="1" maxlength="64"/&gt; <br />&lt;/p&gt; <br />&lt;/card&gt; <br />&lt;/wml&gt; <br />其中&lt;onevent&gt;&lt;/onevent&gt;这段代码要放在card后面。 <br /><br />有关于输入框value值的预定义解决方案： <br />在card里面增加newcontext属性，并且为true； <br />如：&lt;card id="card1" newcontext="true" title="test"&gt;</font>
				</span>
		</div>
<img src ="http://www.blogjava.net/kemi/aggbug/136734.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kemi/" target="_blank">Kimi</a> 2007-08-14 17:22 <a href="http://www.blogjava.net/kemi/archive/2007/08/14/136734.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开始WAP开发了，呵呵</title><link>http://www.blogjava.net/kemi/archive/2007/08/10/135866.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Fri, 10 Aug 2007 08:43:00 GMT</pubDate><guid>http://www.blogjava.net/kemi/archive/2007/08/10/135866.html</guid><wfw:comment>http://www.blogjava.net/kemi/comments/135866.html</wfw:comment><comments>http://www.blogjava.net/kemi/archive/2007/08/10/135866.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/kemi/comments/commentRss/135866.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kemi/services/trackbacks/135866.html</trackback:ping><description><![CDATA[今儿个开始学习WAP开发，先描述下个人的开发环境（从网上Download了N多实验品，终究找到一款还算不错的组合）：WAPPAGE（WML编辑器）+M3GATE（WAP模拟器），用过 Eclipse的对这个配置还是很熟悉的。另外，对于WAP浏览器，我还是觉得Opera要更专业。<br />先就这么多，有什么好的例子再放给大家，期待更新！<img src ="http://www.blogjava.net/kemi/aggbug/135866.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kemi/" target="_blank">Kimi</a> 2007-08-10 16:43 <a href="http://www.blogjava.net/kemi/archive/2007/08/10/135866.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>visio 2003 +sp2 下载说明</title><link>http://www.blogjava.net/kemi/archive/2007/08/01/133786.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Wed, 01 Aug 2007 05:41:00 GMT</pubDate><guid>http://www.blogjava.net/kemi/archive/2007/08/01/133786.html</guid><wfw:comment>http://www.blogjava.net/kemi/comments/133786.html</wfw:comment><comments>http://www.blogjava.net/kemi/archive/2007/08/01/133786.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kemi/comments/commentRss/133786.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kemi/services/trackbacks/133786.html</trackback:ping><description><![CDATA[第一步：安装Microsoft Visio 2003 。<br /><br />      下载地址：     <font face="Arial">http://software.zsedu.net/图文处理/visio2003.iso<br />      文件大小：     348.76MB<br />      注意事项：     文件中包含有SN文件，安装时填入即可。<br /><br />第二步：升级Microsoft Visio 2003<br /><br />      前面安装的软件是初期的Visio，众所周知，微软的东西不需要打补丁的产品还没出现过，所以我们要安装相应的补丁。<br /><br /><font face="Arial">      Visio 2003 Service Pack 2 在安全性方面有了显著增强，并在稳定性和性能方面进行了改进。SP2 中包含的某些修复程序此前已作为单独的更新发布。此 Service Pack 将它们合并到一个更新中。 </font><font face="Arial">此 Service Pack 还包括以前发布的 Visio 2003 更新：<br /></font><font face="Arial">             Visio 2003 Service Pack 1<br />             Visio 2003 安全更新：KB838345<br />             Visio 2003 法语拼写检查器和同义词库更新：KB892293</font><br /><br />      补丁下载地址：<font face="Arial"><a href="http://download.microsoft.com/download/e/3/d/e3d6fb0f-6f41-4b68-9cbf-b4fa98bfb429/Visio2003SP2-KB887622-FullFile-CHS.exe"><font color="#2d9465">http://download.microsoft.com/download/e/3/d/e3d6fb0f-6f41-4b68-9cbf-b4fa98bfb429/Visio2003SP2-KB887622-FullFile-CHS.exe</font></a><br /></font>      补丁文件大小：31.84MB<br />      注意事项：直接安装就可以了，不会有什么乱七八糟的东西出现。<br />                         <br /><br />第三步：Microsoft Visio 2003 的附件<br /><br />      通过之前的两个步骤，Visio 2003 已经可以使用了，不过如果你使用Visio的程度更专业，那有一些专业模版在手上，使用起来就会更轻松啦。<br /><br />      模版下载地址：<font face="Arial"><a href="http://download.microsoft.com/download/5/6/4/564eaaf5-3e20-473e-a219-dc6fd431dee1/VisioSam.exe"><font color="#2d9465">http://download.microsoft.com/download/5/6/4/564eaaf5-3e20-473e-a219-dc6fd431dee1/VisioSam.exe</font></a><br /></font>      模版文件大小：3.74MB<br />      注意事项：下载下来的直接是个压缩包，解压缩后就可以使用了。由于Visio不支持从模版打开，所以没有特定的存放位置。<br />                         <font face="Arial">此下载包括 20 个与支持和销售演示相关的 Visio 2003 图表示例：</font><font face="Arial"><br />                                     Active Directory 图表 – ActvDir.vsd<br />                                    基本流程图 – Bflowcht.vsd<br />                                    建筑平面图 – BldgPlan.vsd<br />                                    基本网络图 – Bnetwork.vsd<br />                                    集体讨论图 – Brainstm.vsd<br />                                    日历 – Calendar.vsd<br />                                    数据库图表 – Database.vsd<br />                                    详细网络图 – Dnetwork.vsd<br />                                    电气工程控制图表 – EECtrl.vsd<br />                                    流体动力图 – FluidPwr.vsd<br />                                    会议室布局 – MeetRoom.vsd<br />                                    组织结构图 – OrgChart.vsd<br />                                    工艺流程图 – ProcEng.vsd<br />                                    IT 架构图 – Rack.vsd<br />                                    时基图 – Timeline.vsd<br />                                    UML 图表 – UML.vsd<br />                                    Web 设计图表 – WebDsgn.vsd<br />                                    网站图表 – WebSite.vsd<br />                                    窗体 UI 图表 – WinUI.vsd<br />                                    框图模板 - BlkDiagm.vsd</font><br /><br /></font><img src ="http://www.blogjava.net/kemi/aggbug/133786.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kemi/" target="_blank">Kimi</a> 2007-08-01 13:41 <a href="http://www.blogjava.net/kemi/archive/2007/08/01/133786.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从某牛人处盗来的关于处理 TextArea的焦点问题 （转）</title><link>http://www.blogjava.net/kemi/archive/2007/05/08/115992.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Tue, 08 May 2007 09:04:00 GMT</pubDate><guid>http://www.blogjava.net/kemi/archive/2007/05/08/115992.html</guid><wfw:comment>http://www.blogjava.net/kemi/comments/115992.html</wfw:comment><comments>http://www.blogjava.net/kemi/archive/2007/05/08/115992.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kemi/comments/commentRss/115992.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kemi/services/trackbacks/115992.html</trackback:ping><description><![CDATA[小弟最近在写一个在线编辑器，UBB版的，由于没有使用弹出窗口，所以，在添加代码的时候，只能添在TextArea的最后面，无法在光标之前插入，于是在网上疯狂的找资料，工夫不负有心人，终于被我找到了如何获得TextArea中的位置，但是如果TextArea中有很多内容的时候，会显得很闪烁。其代码如下。 
<p><font style="BACKGROUND-COLOR: #ffffff">　　function getPos(obj)<br />　　{<br />　　obj.focus();<br />　　var workRange=document.selection.createRange();<br />　　obj.select();<br />　　var allRange=document.selection.createRange();<br />　　workRange.setEndPoint("StartToStart",allRange);<br />　　var len=workRange.text.length;<br />　　workRange.collapse(false);<br />　　workRange.select(); </font></p><p><font style="BACKGROUND-COLOR: #ffffff">　　return len;<br />　　}</font></p><p>　　这时候问题出来了，在obj.select()的时候，会造成闪烁，并且滚动条也无法归位。于是小弟根据自己的需要，将其改写如下：</p><p>function getCaret(ZysrID) <br />{<br /> var txb = document.getElementById(ZysrID);//根据ID获得对象<br /> var pos = 0;//设置初始位置<br /> txb.focus();//输入框获得焦点,这句也不能少,不然后面会出错,血的教训啦.<br /> var s = txb.scrollTop;//获得滚动条的位置<br /> var r = document.selection.createRange();//创建文档选择对象<br /> var t = txb.createTextRange();//创建输入框文本对象<br /> t.collapse(true);//将光标移到头<br /> t.select();//显示光标,这个不能少,不然的话,光标没有移到头.当时我不知道,搞了十几分钟<br /> var j = document.selection.createRange();//为新的光标位置创建文档选择对象<br /> r.setEndPoint("StartToStart",j);//在以前的文档选择对象和新的对象之间创建对象,妈的,不好解释,我表达能力不算太好.有兴趣自己去看msdn的资料<br /> var str = r.text;//获得对象的文本<br /> var re = new RegExp("[\\n]","g");//过滤掉换行符,不然你的文字会有问题,会比你的文字实际长度要长一些.搞死我了.我说我得到的数字怎么总比我的实际长度要长.<br /> str = str.replace(re,"");//过滤<br /> pos = str.length;//获得长度.也就是光标的位置<br /> r.collapse(false);<br /> r.select();//把光标恢复到以前的位置<br /> txb.scrollTop = s;//把滚动条恢复到以前的位置<br />}</p><p>//设置光标函数</p><p>function setCaret(id,pos)<br />{<br />　　var textbox = document.all(id);<br />　　var r = textbox.createTextRange(); <br />　　r.collapse(true); <br />　　r.moveStart(@#character@#,pos); <br />　　r.select();<br />}</p><img src ="http://www.blogjava.net/kemi/aggbug/115992.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kemi/" target="_blank">Kimi</a> 2007-05-08 17:04 <a href="http://www.blogjava.net/kemi/archive/2007/05/08/115992.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>windows 时间同步</title><link>http://www.blogjava.net/kemi/archive/2007/03/16/104139.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Fri, 16 Mar 2007 01:10:00 GMT</pubDate><guid>http://www.blogjava.net/kemi/archive/2007/03/16/104139.html</guid><wfw:comment>http://www.blogjava.net/kemi/comments/104139.html</wfw:comment><comments>http://www.blogjava.net/kemi/archive/2007/03/16/104139.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kemi/comments/commentRss/104139.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kemi/services/trackbacks/104139.html</trackback:ping><description><![CDATA[默认的站点经常无法RPC连接，主要是由于负责对时的服务器流量过大，无法及时响应造成的，而我们也可以让XP与中科院国家授时中心的服务器进行对时，由于是国内的服务器，而且流量相对要少得多，所以对时的成功率还是相当高的。方法很简单，直接在图4中的“服务器”一栏输入国家授时中心服务器的IP地址(210.72.145.44)，然后点击“确定”按钮保存下来就行了。如图3所示 
<p></p><p align="center"><img src="http://soft.yesky.com/imagelist/06/02/r0qe1uv7083f.jpg" border="0" /><br /><br />图3</p><img src ="http://www.blogjava.net/kemi/aggbug/104139.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kemi/" target="_blank">Kimi</a> 2007-03-16 09:10 <a href="http://www.blogjava.net/kemi/archive/2007/03/16/104139.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML 的框架释疑  （转）</title><link>http://www.blogjava.net/kemi/archive/2007/02/08/98690.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Thu, 08 Feb 2007 03:02:00 GMT</pubDate><guid>http://www.blogjava.net/kemi/archive/2007/02/08/98690.html</guid><wfw:comment>http://www.blogjava.net/kemi/comments/98690.html</wfw:comment><comments>http://www.blogjava.net/kemi/archive/2007/02/08/98690.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kemi/comments/commentRss/98690.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kemi/services/trackbacks/98690.html</trackback:ping><description><![CDATA[
		<p>
				<font color="#cc0000">■ 框架标记</font>
		</p>
		<div style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
		</div>
		<p>
				<a href="http://www.openitpower.com/wenzhang/148/19308_1.html#1">
						<span>&lt;FRAMESET&gt; &lt;FRAME&gt;</span>
				</a>
				<br />
				<a href="http://www.openitpower.com/wenzhang/148/19308_1.html#2">
						<span>&lt;NOFRAMES&gt;</span>
				</a>
				<br />
				<a href="http://www.openitpower.com/wenzhang/148/19308_1.html#3">
						<span>&lt;IFRAME&gt;</span>
				</a>
		</p>
		<p>
				<span>　　欲明白本篇【HTML彻底剖析】之标记分类，请看 【<a href="http://www.openitpower.com/topsite/web/html/anatomy/anatomy_2.asp">标记一览</a>】。 <br />　　也请先明白围堵标记与空标记的分别，请看 【<a href="http://www.openitpower.com/topsite/web/html/anatomy/anatomy_1.asp">HTML概念</a>】。<br /><br /></span>
		</p>
		<div style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
				<p>
						<font color="#cf0000">■ 框架概念 ：</font>
				</p>
				<p>　　谓框架便是网页画面分成几个框窗，同时取得多个 URL。只需要 &lt;FRAMESET&gt; &lt;FRAME&gt; 即可，面所有框架标记需要放在一个总起的 html 档，这个档案只记录了该框架如何分割 ，不会显示任何资料，所以不必放入 &lt;BODY&gt; 标记，浏览这框架必须读取这档案 面不是其他框窗的档案。&lt;FRAMESET&gt; 是用来划分框窗，每一窗框由一个 &lt;FRAME&gt; 标 记所标示，&lt;FRAME&gt;必须在 &lt;FRAMESET&gt; 范围中使用。如下例： </p>
		</div>
		<p>
				<span>　　&lt;<font color="#ff80c0">frameset</font> cols="50%,*"&gt; &lt;<font color="#0058b0">frame</font> name="hello" src="up2u.html"&gt; &lt;<font color="#0058b0">frame</font> name="hi" src="me2.html"&gt; <br />　　&lt;<font color="#ff80c0">/frameset</font>&gt; </span>
		</p>
		<p>
				<span>　　此例中 &lt;FRAMESET&gt; 把画面分成左右两相等部分，左便是显示 up2u.html，右边则会显示 me2.html 这档案，&lt;FRAME&gt; 标记所标示的框窗永远是按由上而下、由左至右的次序。 </span>
				<br />
				<br />
		</p>
		<table cellspacing="0" cellpadding="0" width="100%" align="center">
				<tbody>
						<tr>
								<td>
										<div style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
												<font color="#cf0000">
														<a name="1">■</a> &lt;FRAMESET&gt; &lt;FRAME&gt; ：</font>
										</div>
								</td>
								<td align="right">
										<div style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
												<a href="http://www.openitpower.com/wenzhang/148/19308_1.html#top">▲Top</a>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
		<p>　　以上所述只是最简单的框架设定，若希望达到更合适的效果请加入或修改以下各参数。 </p>
		<p>
				<span>　　标记：<font color="#ff0000">&lt;FRAMESET&gt;</font><br />　　例子：&lt;frameset rows="90,*" frameborder="0" border=0 framespacing="2" border="2" bordercolor="#008000"&gt;&lt;/frameset&gt; <br />　　功用：宣告HTML文件为框架模式，并设定视窗如何分割。 <br /><br />　　参数： </span>
		</p>
		<ul>
				<li type="square">
						<span class="weby">
								<span>
										<font color="#1b07a3">COLS="<font color="#ff0080">90,*</font>"</font>
										<br />垂直切割画面(如分左右两个画面)，接受<font color="#ff0080">整数值</font>、<font color="#ff0080">百分数</font>， <font color="#ff0080">*</font> 则代表占用剩余的空间。数值的个数代表分成的视窗数目且以逗号分隔。例如 COLS="30,*,50%" 可以切成三个视窗，第一个视窗是 30 pixels 的宽度，为一绝对分割，第二个视窗是当分配完第一及第三个视窗后剩下的空间，第三个视窗则占整个视窗画面的 50% 宽度为一相对分割。<font color="#fbb339">你可自己调整数字</font>。 </span>
						</span>
						<p>
						</p>
				</li>
				<li type="square">
						<span class="weby">
								<span>
										<font color="#1b07a3">ROWS="<font color="#ff0080">120,*</font>"</font>
										<br />这是横向切割，将画面上下分开，数值设定同上。 COLS 与 ROWS 两参数尽量不要放在同一个 &lt;FRAMESET&gt; 标记中，因 Netacape 偶然不能显示这类型的框架，尽量采用多重分割，如以上各例。 </span>
						</span>
						<p>
						</p>
				</li>
				<li type="square">
						<span class="weby">
								<span>
										<font color="#1b07a3">frameborder="<font color="#ff0080">0</font>"</font>
										<br />设定框架的边框，其值只有 0 和 1 ， 0 表示不要边框， 1 表示要显示边框。 </span>
						</span>
						<p>
						</p>
				</li>
				<li type="square">
						<span class="weby">
								<span>
										<font color="#1b07a3">border="<font color="#ff0080">0</font>"</font>
										<br />设定框架的边框厚度，以 pixels 为单位。 </span>
						</span>
						<p>
						</p>
				</li>
				<li type="square">
						<span class="weby">
								<span>
										<font color="#1b07a3">bordercolor="<font color="#ff0080">#008000</font>"</font>
										<br />设定框架的边框颜色。颜色值请参考【<a href="http://www.openitpower.com/web/webproduce/html/anatomy/anatomy_16.asp">调色原理</a>】。 </span>
						</span>
						<p>
						</p>
				</li>
				<li type="square">
						<span class="weby">
								<span>
										<font color="#1b07a3">framespacing="<font color="#ff0080">5</font>"</font>
										<br />表示框架与框架间保留的空白的距离。 </span>
						</span>
				</li>
		</ul>
		<p>
				<span>　　标记：<font color="#ff0000">&lt;FRAME&gt;</font><br />　　例子：&lt;frame name="top" src="a.html" marginwidth="5" marginheight="5" scrolling="Auto" frameborder="0" noresize framespacing="6" bordercolor="#0000FF"&gt; <br />　　功能：设定每一个框窗内的参数属性。 <br />　　参数： </span>
		</p>
		<ul>
				<p>
				</p>
				<li type="square">
						<span class="weby">
								<span>
										<font color="#1b07a3">SRC="<font color="#ff0080">a.html</font>"</font>
										<br />设定此框窗中要显示的网页档案名称，每个框窗一定要对应一个网页档案。 </span>
						</span>
						<p>
						</p>
				</li>
				<li type="square">
						<span class="weby">
								<span>
										<font color="#1b07a3">NAME="<font color="#ff0080">top</font>"</font>
										<br />设定这个框窗的名称，这样才能指定框架来作链接，必须但任意命名。 </span>
						</span>
						<p>
						</p>
				</li>
				<li type="square">
						<span class="weby">
								<span>
										<font color="#1b07a3">frameborder=<font color="#ff0080">0</font></font>
										<br />设定框架的边框，其值只有 0 和 1 ， 0 表示不要边框， 1 表示要边框。 </span>
						</span>
						<p>
						</p>
				</li>
				<li type="square">
						<span class="weby">
								<span>
										<font color="#1b07a3">framespacing="<font color="#ff0080">6</font>"</font>
										<br />表示框架与框架间的保留的空白的距离。 </span>
						</span>
						<p>
						</p>
				</li>
				<li type="square">
						<span class="weby">
								<span>
										<font color="#1b07a3">bordercolor="<font color="#ff0080">#008000</font>"</font>
										<br />设定框架的边框颜色。</span>
						</span>
						<p>
						</p>
				</li>
				<li type="square">
						<span class="weby">
								<span>
										<font color="#1b07a3">scrolling="<font color="#ff0080">Auto</font>"</font>
										<br />设定是否要显示卷轴，YES 表示要显示卷轴，NO 表示无论如何都不要显示卷轴，AUTO 视情况而定。 </span>
						</span>
						<p>
						</p>
				</li>
				<li type="square">
						<span class="weby">
								<span>
										<font color="#1b07a3">noresize</font>
										<br />设定不让使用者可以改变这个框框的大小，如没有设定此参数，使用者可随意地拉动框架改变其大小。 </span>
						</span>
						<p>
						</p>
				</li>
				<li type="square">
						<span class="weby">
								<span>
										<font color="#1b07a3">marginhight=<font color="#ff0080">5</font></font>
										<br />表示框架高度部分边缘所保留的空间。 </span>
						</span>
						<p>
						</p>
				</li>
				<li type="square">
						<span class="weby">
								<span>
										<font color="#1b07a3">marginwidth=<font color="#ff0080">5</font></font>
										<br />表示框架宽度部分边缘所保留的空间。 </span>
						</span>
				</li>
		</ul>　　<span class="weby">以下是一些例子： </span><p></p><table class="weby" cellspacing="2" cellpadding="2" width="100%" border="0"><tbody><tr><td width="110" bgcolor="#fde2bf"><span><a href="http://www.openitpower.com/topsite/web/html/composer/example/frame2.html" tppabs="http://cn.hkiwc.com/composer/example/frame2.html">例子</a></span></td><td bgcolor="#fbdff8"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 新細明體">HTML Code</span></td></tr><tr><td><table cellspacing="0" cellpadding="2" width="100" border="1"><tbody><tr><td> </td></tr><tr><td width="20" height="60"> </td></tr></tbody></table></td><td width="366"><span>&lt;frameset rows="80,*"&gt; </span><dl><dd><span>&lt;frame name="top" src="a.html"&gt; </span></dd><dd><span>&lt;frame name="bottom" src="b.html"&gt; <br />&lt;/frameset&gt; </span></dd></dl></td></tr></tbody></table><table class="weby" cellspacing="2" cellpadding="2" width="100%" border="0"><tbody><tr><td width="110" bgcolor="#fde2bf"><span><a href="http://www.openitpower.com/topsite/web/html/composer/example/frame3.html" tppabs="http://cn.hkiwc.com/composer/example/frame3.html">例子</a></span></td><td bgcolor="#fbdff8"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 新細明體">HTML Code</span></td></tr><tr><td><table cellspacing="0" cellpadding="2" width="100" border="1"><tbody><tr><td> </td></tr><tr><td width="20" height="40"> </td></tr><tr><td> </td></tr></tbody></table></td><td width="366"><span>&lt;frameset rows="80,*,80"&gt; </span><dl><dd><span>&lt;frame name="top" src="a.html"&gt; </span></dd><dd><span>&lt;frame name="middle" src="b.html"&gt; </span></dd><dd><span>&lt;frame name="bottom" src="c.html"&gt; <br />&lt;/frameset&gt; </span></dd></dl></td></tr></tbody></table><table class="weby" cellspacing="2" cellpadding="2" width="100%" border="0"><tbody><tr><td width="110" bgcolor="#fde2bf"><span><a href="http://www.openitpower.com/topsite/web/html/composer/example/frame4.html" tppabs="http://cn.hkiwc.com/composer/example/frame4.html">例子</a></span></td><td bgcolor="#fbdff8"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 新細明體">HTML Code</span></td></tr><tr><td><table cellspacing="0" cellpadding="2" width="100" border="1"><tbody><tr><td> </td><td width="80" rowspan="2"> </td></tr><tr><td width="20" height="60"> </td></tr></tbody></table></td><td width="366"><span>&lt;frameset cols="150,*"&gt; <br />&lt;frameset rows="80,*"&gt; </span><dl><dd><span>&lt;frame name="upper_left" src="a.html"&gt; </span></dd><dd><span>&lt;frame name="lower_left" src="b.html"&gt; <br />&lt;/frameset&gt; </span></dd><dd><span>&lt;frame name="right" src="c.html"&gt; <br />&lt;/frameset&gt; </span></dd></dl></td></tr></tbody></table><table class="weby" cellspacing="2" cellpadding="2" width="100%" border="0"><tbody><tr><td width="110" bgcolor="#fde2bf"><span><a href="http://www.openitpower.com/topsite/web/html/composer/example/frame5.html" tppabs="http://cn.hkiwc.com/composer/example/frame5.html">例子</a></span></td><td bgcolor="#fbdff8"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 新細明體">HTML Code</span></td></tr><tr><td><table cellspacing="0" cellpadding="2" width="100" border="1"><tbody><tr><td colspan="2"> </td></tr><tr><td width="20" height="60"> </td><td width="80"> </td></tr></tbody></table></td><td width="366"><span>&lt;frameset rows="80,*"&gt; </span><dl><dd><span>&lt;frame name="top" src="a.html"&gt; <br />&lt;frameset cols="150,*"&gt; </span></dd><dd><span>&lt;frame name="lower_left" src="b.html"&gt; </span></dd><dd><span>&lt;frame name="lower_right" src="c.html"&gt; <br />&lt;/frameset&gt; <br />&lt;/frameset&gt; </span></dd></dl></td></tr></tbody></table><table class="weby" cellspacing="2" cellpadding="2" width="100%" border="0"><tbody><tr><td width="110" bgcolor="#fde2bf"><span><a href="http://www.openitpower.com/topsite/web/html/composer/example/frame6.html" tppabs="http://cn.hkiwc.com/composer/example/frame6.html">例子</a></span></td><td bgcolor="#fbdff8"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 新細明體">HTML Code</span></td></tr><tr><td><table cellspacing="0" cellpadding="2" width="100" border="1"><tbody><tr><td width="20" rowspan="2"> </td><td width="80"> </td></tr><tr><td height="60"> </td></tr></tbody></table></td><td width="366"><span>&lt;frameset cols="150,*"&gt; </span><dl><dd><span>&lt;frame name="left" src="a.html"&gt; <br />&lt;frameset rows="80,*"&gt; </span></dd><dd><span>&lt;frame name="upper_right" src="b.html"&gt; </span></dd><dd><span>&lt;frame name="lower_right" src="c.html"&gt; <br />&lt;/frameset&gt; <br />&lt;/frameset&gt; </span></dd></dl></td></tr></tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%" align="center"><tbody><tr><td><div style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体"><font color="#cf0000"><a name="2">■</a> &lt;NOFRAMES&gt; ：</font></div></td><td align="right"><div style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体"><a href="http://www.openitpower.com/wenzhang/148/19308_1.html#top">▲Top</a></div></td></tr></tbody></table><p>　　当别人使用的浏览器太旧，不支持框架功能时，他看到的将是一片空白。为了避免这种情况，可使用 <font color="#ff0000"><span>&lt;NOFRAMES&gt;</span></font> 这个标记，当使用者的浏览器看不到框架时，他就会看到 <font color="#ff0000"><span>&lt;NOFRAMES&gt;</span></font> 与 <font color="#ff0000"><span>&lt;/NOFRAMES&gt;</span></font> 之间的内容，而不是一片空白。这些内容可以是提醒浏览者采用新的浏览器的字句，也可以是一个没有框架的网页或切换到没有框架的版本的链接都可。 </p><p><span>　　应用方法： <br />　　在&lt;frameset&gt; 标记范围加入 &lt;/NOFRAMES&gt; 标记，以下是例子： </span></p><dl><dt><span class="weby"><span>&lt;frameset rows="80,*"&gt; </span></span></dt><dd><span class="weby"><span><font color="#008000">&lt;noframes&gt; <br />&lt;body&gt; <br />很抱谦，您使用的浏览器不支持框架功能，请采用新版本的浏览器。 <br />&lt;/body&gt; <br />&lt;/noframes&gt;</font></span></span></dd><dd><span class="weby"><span>&lt;frame name="top" src="a.html"&gt; </span></span></dd><dd><span class="weby"><span>&lt;frame name="bottom" src="b.html"&gt; </span></span></dd><dt><span class="weby"><span>&lt;/frameset&gt; </span></span></dt></dl><p><span>　　若浏览器支持框架，那么它不会理会 &lt;noframes&gt; 中的内容，但若浏览器不支持框架，由于不认识所有框架标记，不明的标记被略过，标记包围的内容便被解读出来，所以在 &lt;noframes&gt;范围内的文字被显示。</span><br /><br /></p><table cellspacing="0" cellpadding="0" width="100%" align="center"><tbody><tr><td><div style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体"><font color="#cf0000"><a name="3">■</a> &lt;IFRAME&gt; ：</font></div></td><td align="right"><div style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体"><a href="http://www.openitpower.com/wenzhang/148/19308_1.html#top">▲Top</a></div></td></tr></tbody></table><p>　　<font color="#ff0000"><span>这标记只适用于 IE。</span></font> 它的作用是在一页中间插入一个框窗以显示另一个文件。它是一个围堵标记，但围堵着的字句只有在浏览器不支持 iframe 标记时才显示，如&lt;noframes&gt; 一样，可以放一些提醒的字句之类。通常 iframe 配合一个辩认浏览器的的 Java Script 会更好，若于 JavaScript 认出该浏览器并非 Internet Explorer 便会切换到另一个版本。 </p><p><span>　　&lt;iframe&gt; 的参数如下： <br />　　例子： &lt;iframe <font color="#ff0000">src</font>="iframe.html" <font color="#ff0000">name</font>="test" <font color="#ff0000">align</font>="MIDDLE" <font color="#ff0000">width</font>="300" <font color="#ff0000">height</font>="100" <font color="#ff0000">marginwidth</font>="1" <font color="#ff0000">marginheight</font>="1" <font color="#ff0000">frameborder</font>="1" scrolling="Yes"&gt; </span></p><ul><li><span class="weby"><span><font color="#ff0000">src</font>="iframe.html" <br />欲显示于此框窗的文件来源除档案名称，必要加上相对或绝对路径。 </span></span></li><li><span class="weby"><span><font color="#ff0000">name</font>="test" <br />此框窗名称，这是链接标记的 target 参数所需要的， </span></span></li><li><span class="weby"><span><font color="#ff0000">align</font>="MIDDLE" <br />可选值为 left, right, top, middle, bottom，作用不大 </span></span></li><li><span class="weby"><span><font color="#ff0000">width</font>="300" <font color="#ff0000">height</font>="100" <br />框窗的宽及长，以 pixels 为单位。 </span></span></li><li><span class="weby"><span><font color="#ff0000">marginwidth</font>="1" <font color="#ff0000">marginheight</font>="1" <br />该插入的文件与框边所保留的空间。 </span></span></li><li><span class="weby"><span><font color="#ff0000">frameborder</font>="1" <br />使用 1 表示显示边框， 0 则不显示。（可以是 yes 或 no） </span></span></li><li><span class="weby"><span><font color="#ff0000">scrolling</font>="Yes" <br />使用 Yes 表示允许卷动（内定）， No 则不许。</span></span><span></span></li></ul><p><span>例子： </span></p><table class="weby" cellspacing="0" cellpadding="2" width="100%" border="1"><tbody><tr><td width="4%" bgcolor="#0000b7"><span><font color="#ffffff">原代码</font></span></td><td valign="top" bgcolor="#ffffff"><span><br /><font color="#000080">&lt;center&gt;</font><font color="#008080">&lt;iframe src="iframe.html" name="test" align="MIDDLE" width="300" height="100" marginwidth="5" marginheight="5" frameborder="1"&gt;</font><br />很抱谦，您的浏览器并不支持 IFrame，不能正常浏览我的网页。<font color="#008080">&lt;/iframe&gt;</font><br /><font color="#000080">&lt;/center&gt;</font></span></td></tr><tr><td width="4%" bgcolor="#0000b7"><span><font color="#ffffff">显示结果</font></span></td><td bgcolor="#ffffff"><p></p><center><iframe name="test" align="middle" marginwidth="5" marginheight="5" src="iframe.html" frameborder="1" width="300" height="100" tppabs="http://cn.hkiwc.com/html/iframe.html"><div style="font-size: 9pt; font-family: 宋体;" designtimesp="13239">很抱谦，您的浏览器并不支持 
                            IFrame，不能正常浏览我的网页。</div></iframe></center><p></p></td></tr></tbody></table><img src ="http://www.blogjava.net/kemi/aggbug/98690.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kemi/" target="_blank">Kimi</a> 2007-02-08 11:02 <a href="http://www.blogjava.net/kemi/archive/2007/02/08/98690.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Nokia PC 套件与蓝牙适配器连接教程（转）－－个人推荐</title><link>http://www.blogjava.net/kemi/archive/2006/12/15/87878.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Fri, 15 Dec 2006 02:27:00 GMT</pubDate><guid>http://www.blogjava.net/kemi/archive/2006/12/15/87878.html</guid><wfw:comment>http://www.blogjava.net/kemi/comments/87878.html</wfw:comment><comments>http://www.blogjava.net/kemi/archive/2006/12/15/87878.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/kemi/comments/commentRss/87878.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kemi/services/trackbacks/87878.html</trackback:ping><description><![CDATA[
		<font size="2">在一个干净的操作系统上，安装蓝牙适配器驱动后，只要蓝牙适配器已经被作为成功的识别为系统设备。我们继续安装诺基亚PC套件，这样一点问题也没有，PC套件会很顺利的通过蓝牙适配器识别出手机。PC套件提示“配对” 手机上输入相同的“配对”码，一气呵成，连接成功。</font>
		<p>
				<font size="2">　　安装步骤：</font>
		</p>
		<p>
				<font size="2">　　1、安装蓝牙适配器驱动；</font>
		</p>
		<p>
				<font size="2">　　2、安装诺基亚PC套件；</font>
		</p>
		<p>
				<font size="2">　　3、启动手机蓝牙，配对，连接；</font>
		</p>
		<p>
				<font size="2">　　以上是连接顺利的情况，但是事实并非总是那么轻松，也许我们买回蓝牙适配器之前，电脑上早已装好了诺基亚PC套件了。这时的安装步骤应该是：</font>
		</p>
		<p>
				<font size="2">　　1、安装蓝牙适配器驱动；</font>
		</p>
		<p>
				<font size="2">　　2、卸载原诺基亚PC套件；</font>
		</p>
		<p>
				<font size="2">　　3、卸载Nokia PC Connectivity Solution，卸载Nokia Connectivity Cable Driver（这是本文的重点，也是之前的相关玩家心得中没有提及的地方，卸载原诺基亚PC套件并不会自动卸载这两项，卸载这两项需要在“添加/删除程序”中进行）；</font>
		</p>
		<p>
				<font size="2">　　4、安装诺基亚PC套件；</font>
		</p>
		<p>
				<font size="2">　　5、启动手机蓝牙功能，配对，连接；</font>
		</p>
		<p>
				<font size="2">　　卸载Nokia PC Connectivity Solution的原因是，Nokia PC Connectivity Solution 在安装时会自动扫描本机中存在的蓝牙适配器驱动（并且只有在安装时才扫描系统中存在的蓝牙适配器驱动），通常默认的是微软蓝牙驱动的连接选项（大家都用Win XP吧，呵呵）如果有Widcomm的驱动存在，诺基亚连接管理器中就启用Widcomm蓝牙驱动的连接选项；如果有IVT BlueSoleil驱动存在，诺基亚连接管理器中就启用Widcomm蓝牙驱动的连接选项。</font>
		</p>
		<p>
				<font size="2">　　安装了不同的蓝牙驱动后，Nokia PC Connectivity Solution 一定要先卸载，然后再重装诺基亚PC套件，覆盖安装是没有用的，诺基亚连接管理器要么不能显示该蓝牙适配器的连接选项，要么不能成功连接。</font>
		</p>
<img src ="http://www.blogjava.net/kemi/aggbug/87878.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kemi/" target="_blank">Kimi</a> 2006-12-15 10:27 <a href="http://www.blogjava.net/kemi/archive/2006/12/15/87878.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(转)用Carbide+Vs.net开发Symbian程序</title><link>http://www.blogjava.net/kemi/archive/2006/11/05/79175.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Sun, 05 Nov 2006 03:20:00 GMT</pubDate><guid>http://www.blogjava.net/kemi/archive/2006/11/05/79175.html</guid><wfw:comment>http://www.blogjava.net/kemi/comments/79175.html</wfw:comment><comments>http://www.blogjava.net/kemi/archive/2006/11/05/79175.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kemi/comments/commentRss/79175.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kemi/services/trackbacks/79175.html</trackback:ping><description><![CDATA[
		<p align="left">
				<font size="4">使用Carbide.vs与VS.NET2003构建Symbian开发平台-S60 平台</font>
		</p>
		<p align="left">
				<img alt="" src="http://www.bention.com/attachments/month_0610/g2006102932759.jpg" />
		</p>
		<p>1.简介</p>
		<p>     在过去的几年里从事Symbian OS/C++的开发，选择什么样的IDE开发环境是一件很让人郁闷的事。微软的Visual C++ 6.0 缺乏人性化的设计，而VS.NET却不能很好地支持Symbian Os/C++的开发，Borland C++ BuilderX Mobile Edition 还有Metrowerks CodeWarrior也并不是每个人都会喜欢的，幸运的是自从诺基亚的Carbide.vs出现后，开发Symbian OS/C++的应用程序变得非常方便与简单。</p>
		<p>     什么是Carbide.vs呢，正确地说Carbide.vs并不是一个类似 VS.NET或Codewarrior 一样的IDE开发环境，Carbide.vs是一个插件，一个能够处理Symbian OS Sdk命令行并改善VS.NET编写的Symbian os c++ 应用程序代码的一个插件，同时Carbide.vs也很好地集成到了VS.NET的IDE开发环境中，有了Carbide.vs我们编写起Symbian os c++应用程序将会变得更容易、更方便、更快捷。</p>
		<p>     本文适合于想学习Symbian C++ 应用程序开发的的初学者，如果你对SDK还有IDE的选择感到疑惑或者你已经对VS.NET的集成开发环境很熟的话，建议你采用Carbide.vs，你会发现Carbide.vs+VS.NET 2003的搭配开发起来会更顺手，更容易。</p>
		<p> 2.准备工作</p>
		<p>     在你准备编写此教程的实验时，请确保你的电脑满足了以下的软件环境（开发symbian os c++ 必备）</p>
		<p>
				<font color="#808080">  1.Microsoft Visual Studio.Net 2003 :<br />           这个是必备的，我们将会使用VC++.NET 2003进行Symbian os c++的开发，所以VC++.NET是必装项目。<br /></font>
				<br />
				<font color="#808080">  2. Java JRE:<br />            Carbide.vs和Symbian os 的SDK都要求要Java JRE的运行环境 ，不然无法安装,请到 </font>
				<a href="http://sun.java.com/">
						<font color="#808080">http://sun.java.com</font>
				</a>
				<font color="#808080"> 下载最新版本的JRE<br /></font>
				<br />
				<font color="#808080"> 3.ActivePerl:<br />           必备的软件 请到</font>
				<a href="http://www.activestate.com/Products/ActivePerl/">
						<font color="#808080">http://www.activestate.com/Products/ActivePerl/</font>
				</a>
				<font color="#808080"> 下载<br /></font>
				<br />
				<font color="#808080"> 4.Symbian OS Series 60 SDK：<br />             </font>
				<font color="#808080">这个是最重要的，SDK自带了Symbian 的手机模拟器与编译连接环境，至于选择哪个版本的SDK要具体看你要开发的手机机型 ，如果不清楚要选择哪个SDK的话，请到 </font>
				<a href="http://www.forum.nokia.com/devices">
						<font color="#808080">http://www.forum.nokia.com/devices</font>
				</a>
				<font color="#808080"> 查看机型对应的SDK并进行下载，在这里，我们面向的是 Series 60 第二版的SDK。在这里可以下载到S60系列的所有SDK </font>
				<a href="http://forum.nokia.com/info/sw.nokia.com/id/4a7149a5-95a5-4726-913a-3c6f21eb65a5/S60-SDK-0616-3.0-mr.html">
						<font color="#808080">http://forum.nokia.com/info/sw.nokia.com/id/4a7149a5-95a5-4726-913a-3c6f21eb65a5/S60-SDK-0616-3.0-mr.html</font>
				</a>
				<br />
				<br />
				<font color="#808080">  5.Carbide.vs：<br />             </font>
				<font color="#808080">我</font>
				<font color="#808080">们的主角，请到</font>
				<a href="http://forum.nokia.com/carbide">
						<font color="#808080">http://forum.nokia.com/carbide</font>
				</a>
				<font color="#808080"> 选择Carbide.vs下载<br /></font>
		</p>
		<p>
				<font color="#808080">
				</font>
				<br /> 在用VS.NET 2003开发Symbian 项目的时候可能有些人会碰到 类似 “Error Spawning CL.exe” 的错误，可以通过这种方法来解决 ，依次打开菜单 工具-&gt;选项-&gt;-&gt;项目-&gt;VC++目录 在右边可执行目录中确保<br />C:\Symbian\8.0a\S60_2nd_FP2_SC\epoc32\tools<br />C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin<br />C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE<br />三项的存在，如果不存在的话，请添加进去（请对应SDK与VS.NET的路径进行修改）</p>
		<p>3.开始使用carbide.vs</p>
		<p> 打开VS.NET 2003 依次打开菜单 文件 新建-&gt;项目 在项目名称里填入 HelloWorld ，选择合适的保存目录，请注意保存的目录路径中不能有空格的存在，并且最好把项目保存在跟Symbian os sdk 相同的驱动器下，最后按确定</p>
		<p>
				<strong>
						<a title="在新窗口打开图片" href="http://www.bention.com/attachments/month_0610/f20061028225340.JPG" target="_blank">
								<img alt="" src="http://www.bention.com/attachments/month_0610/f20061028225340.JPG" width="500" />
						</a>
				</strong>
		</p>
		<p>     接下来你会看到Carbide.vs的设置向导 在这里。你可以设置要使用的SDK，本教程里是使用S60 2.X FP2的SDK，主要是面向操作系统是Symbian os 8.0a 的手机开发的，你可以选择特定的SDK开发平台开发你的应用。在此向导里，你还可以设置此程序的其它参数，比如项目名称，项目的目录结构，UID等等信息。在这里我们选择了S60 2.X FP2的SDK并用了 S60 Viewed based application的项目模板，用于开发多视图的s60 应用程序。</p>
		<p>
				<a title="在新窗口打开图片" href="http://www.bention.com/attachments/month_0610/w2006102823120.JPG" target="_blank">
						<img alt="" src="http://www.bention.com/attachments/month_0610/w2006102823120.JPG" width="500" />
				</a>
				<br />
				<br />
				<a title="在新窗口打开图片" href="http://www.bention.com/attachments/month_0610/c2006102823151.JPG" target="_blank">
						<img alt="" src="http://www.bention.com/attachments/month_0610/c2006102823151.JPG" width="500" />
				</a>
		</p>
		<p>     运行向导设置完毕后按Finish按钮，Carbide.vs就帮我们把项目相关的文件生成好了并显示在VS.NET 2003的项目资源管理器中了，想看看运行效果？按F5，VS.NET便开始帮你生成应用程序并自动调用手机模拟器，打开后定位到HelloWorld软件，打开，是不是一个简单的多视图S60应用程序出现了，恭喜你，你现在已经开始你的Symbian os c++软件开发之旅了。</p>
		<p>
				<img alt="" src="http://www.bention.com/attachments/month_0610/52006102823210.JPG" />
		</p>
		<p> 在这里我要说明一下，也许有网友会问我UID是什么东西，UID其实就是标识一个软件的一种序列号，关于UID的说明不在教程范围内，请在网上搜索相关的资料。<br /> <br /> 也有人会问我怎么他的模拟器跟我的很不一样啊？他那个是默认的蓝色的很单调的模拟器，而且也是没有主题的。而我却是有一个诺基亚6630的模拟器而且也带了漂亮皮肤的，Symbian sdk的模拟器其实是可以换肤的，至于模拟器内部操作系统的主题也可以更换，具体请浏览本站的相关文章 <a href="http://www.bention.com/article.asp?id=98" target="_blank">给Symbian的模拟器换皮肤(换成我们喜欢的手机皮肤) </a>下载此你所喜欢的皮肤并配置模拟器，再次启动时你就可以看到新的皮肤界面了，以后就不用再对着那又蓝又丑的模拟器界面了。呵呵呵<br /></p>
		<p>4.在HelloWorld里面显示图像</p>
		<p> 接下来我们将让HelloWorld项目显示一个简单的图像。第一步，制作 一张 bmp 的图像文件，并保存到你的项目的路径下的 data 目录下，在教程里的项目是保存在C:\Symbian\Dev\HelloWorld\中的，所以我们制作 了一张 名为 Picture.bmp 的图像文件并保存在 C:\Symbian\Dev\HelloWorld\data 目录下，或者你可以直接通过打开VS.NET 2003的项目资源管理器，在data目录上右击选择 添加-&gt;添加现有项-&gt;选择Picutre.bmp以添加到项目中去。</p>
		<p> 对于位图文件，Symbian 建议把所有的位图都打包进一种扩展名为 *.mbm 的文件里面，*.mbm 其实是一种位图集文件，里面可以包含很多的位图，类似于windows平台的资源文件，将程序里要用到的位图打包进 *.mbm 文件里后，我们在程序里就可以很方便 地使用这些位图文件。在还没有第三方辅助工具的应用前，要打包位图生成 *.mbm 需要自己编写脚本去实现，现在有了Carbide.vs我们可以很方便地将我们的位图打包进 *.mbm 文件里面，只要我们在 项目名.mmp （在教程里是HelloWorld.mmp） 文件上点击右键选择。Bitmap Collection Tool ,打开后选择 Current Directory 指定你的data目录，就会在左下角的Available bitmaps 列表中显示可用的位图文件，然后再把你所需要的位图文件移到右边的 Selected bitmaps 中，Display size:在这里我们设置成了 176 x 208 因为我们是要生成S60 2.x的应用程序，所以我们选择 176 x 208的分辨率</p>
		<p>
				<a title="在新窗口打开图片" href="http://www.bention.com/attachments/month_0610/s20061028232723.JPG" target="_blank">
						<img alt="" src="http://www.bention.com/attachments/month_0610/s20061028232723.JPG" width="500" />
				</a>
		</p>
		<p>      编辑完成后编译生成一下项目，这样就会在SYMBIAN 的模拟器目录中生成 一个所谓的 HelloWorld.mbm 与 HelloWorld.mbg 文件，在SYMBIAN的SDK目录下搜索找到  HelloWorld.mbg并用记事本打开，你可以看到以下的类似内容<br /> <br /> enum TMbmHelloworld<br /> {<br /> EMbmHelloworldPicture<br /> };<br /> <br />       这个枚举类型TMbmHelloworld就是HelloWorld项目的位图定义了，刚才我们已经添加了一个名为Picutre.bmp的位图文件，EMbmHelloworldPicture就是对应了我们的那个Picutre.bmp位图文件，接下来我们的任务就是让HelloWorld显示这个位图。</p>
		<p> 在这之前我们提过HelloWorld.mbm文件，其实这个才我们程序里真正要载入的位图资源文件。打开HelloWorldContainer.h，在CEikLabel类的定义前面输入以下代码<br />  <br /><font color="#0000ff"> #include</font> "HelloWorld.mbg"<br /><font color="#993300"> _LIT</font>(KMbmFileName,"HelloWorld.mbm");</p>
		<p>       刚看到 _LIT 很多人会问起这是一个什么函数啊，其实这个不是函数，这个是一个预定义宏，在这里我们通过_LIT宏将"HelloWorld.mbm"这个字串赋值给KMbmFileName常量，其实在Symbian 里面没有类似windows平台的字符串类型(string)，取得代之的是被称做 描述符(descriptor)的对象 。关于描述符的更多帮助请查看相关的资料。</p>
		<p>      Symbian os 手机操作系统的文件系统与windows的文件系统是类似的，所以只给出一个"HelloWorld.mbm"文件不足以让程序找到这个文件的具体位置并装载进程序里，此时我们需要取得这个文件在操作系统里的绝对路径，请打开 HelloWorldContainer.cpp 文件，在CHelloWorldContainer::ConstructL 函数里添加以下的代码，<br /> <br /> <font color="#0000ff">TFileName</font><font color="#999999">fullName</font>(KMbmFileName); <br /> <font color="#0000ff">CompleteWithAppPath</font>(<font color="#999999">fullName</font>);//自动为文件名添加文件路径</p>
		<p>       在这里我们创建了一个标准的可修改标识符fullName，包含了我们的mbm文件名，接下去的第二行代码则把应用程序的路径添加到这个fullName中，使fullName成为一个绝对的文件路径。估计到这里，你应该可以猜出ConstructL函数是什么意思了吧？呵呵，好了，让我们编译一下程序，跟踪一下fullName是一个什么路径吧，按上F5,等待............不是吧，出错了，VS.NET报出了<br />error C3861: “CompleteWithAppPath”: 即使使用参数相关的查找，也未找到标识符 的错误，有过一定编程基础的人会想到肯定是哪个文件或库没有给引进来，猜对了，我们需要把一个 aknutils.h 的头文件包含进我们的源代码中，请打开 HelloWorldContainer.h 并加入 #include "aknutils.h"。加完后再试试,是不是已经不会报错了？</p>
		<p>        如果你想知道fullName到底会是一个什么样的值，你可以在 CompleteWithAppPath(fullName);的下一行代码处设置一个断点，按F5编译生成并运行模拟器，打开你的程序，运行到了断点处时，程序会停下来，光标定位在了IDE窗口，通过IDE的自动窗口我们可以看到fullName此时的值 。</p>
		<p>
				<a title="在新窗口打开图片" href="http://www.bention.com/attachments/month_0610/82006102901434.jpg" target="_blank">
						<img alt="" src="http://www.bention.com/attachments/month_0610/82006102901434.jpg" width="500" />
				</a>
		</p>
		<p>             此时我们发现fullName的值为 Z:\System\Apps\helloworld\HelloWorld.mbm，（如果你没有发现以上的窗口，请依次打开VS.NET的菜单 调试-&gt;窗口-&gt;自动窗口）。在这里 Z 代表了手机模拟器的驱动器，当你安装到了目标手机上后，这个驱动器就会变成C，或者是E了。</p>
		<p>              好了，接下来我们来让程序显示出我们添加的位图。首先我们在HelloWorldContainer.h 头文件中添加以下代码</p>
		<p> CFbsBitmap* iImage;</p>
		<p>           接着定位到HelloWorldContainer.cpp 的ConstructL函数中，在我们之前编写的代码下面输入</p>
		<p> iImage = <font color="#0000ff">new</font> (ELeave) <font color="#993300">CFbsBitmap</font>();<br /> User::<font color="#993300">LeaveIfError</font>(iImage-&gt;<font color="#993300">Load</font>(<font color="#999999">fullName</font>,EMbmHelloworldPicture));<br /> <br />           再定位到 HelloWorldContainer.cpp 的Draw()函数 并在最后面输入</p>
		<p> gc.<font color="#993300">BitBlt</font>(<font color="#0000ff">TPoint</font>(0,0),iImage);</p>
		<p>           这样就通过了图形上下文(graphics context,gc)将你的位图复制到了屏幕的左上角。</p>
		<p>          编译一下，OH,MY GOD ，又出错。具体错误信息为</p>
		<p> HelloWorld error LNK2019: 无法解析的外部符号 "public: __thiscall CFbsBitmap::CFbsBitmap(void)" (<a href="mailto:??0CFbsBitmap@@QAE@XZ">??0CFbsBitmap@@QAE@XZ</a>) ，该符号在函数 "public: void __thiscall CHelloWorldContainer::ConstructL(class TRect const &amp;)" (<a href="mailto:?ConstructL@CHelloWorldContainer@@QAEXABVTRect@@@Z">?ConstructL@CHelloWorldContainer@@QAEXABVTRect@@@Z</a>) 中被引用</p>
		<p> HelloWorld error LNK2019: 无法解析的外部符号 "public: int __thiscall CFbsBitmap::Load(class TDesC16 const &amp;,long,int)" (<a href="mailto:?Load@CFbsBitmap@@QAEHABVTDesC16@@JH@Z">?Load@CFbsBitmap@@QAEHABVTDesC16@@JH@Z</a>) ，该符号在函数 "public: void __thiscall CHelloWorldContainer::ConstructL(class TRect const &amp;)" (<a href="mailto:?ConstructL@CHelloWorldContainer@@QAEXABVTRect@@@Z">?ConstructL@CHelloWorldContainer@@QAEXABVTRect@@@Z</a>) 中被引用</p>
		<p>            还是同样的原理， 我们要引入一个库文件才能解决这个问题，请在项目资源管理器中右击项目-&gt;属性-&gt;配置属性-&gt;链接器-&gt;命令行 ，在右边的 附加选项 中输入 fbscli.lib </p>
		<p>         再次编译，OK了，好现在我们运行这个程序，哈哈，图像在我们的程序里显示出来啦。好高兴。<br /> <br /><img alt="" src="http://www.bention.com/attachments/month_0610/d2006102903759.JPG" /></p>
		<p>        可是当我们退出程序时却出现了程序已关闭的错误。</p>
		<p>
				<img alt="" src="http://www.bention.com/attachments/month_0610/b2006102904759.JPG" />
		</p>
		<p>        我的天哪，怎么会这样呢，为什么我的程序不能正常退出呢，遗憾的是模拟器只提示了很简单的错误提示，并没有更详细的错误报告，我们可以通过在 C:\Symbian\8.0a\S60_2nd_FP2_SC\epoc32\wins\c\System\Bootdata 下创建一个 ErrRd 的空文件以让模拟器显示详细的错误信息（请在相应的SDK目录下操作），此时我们再次运行模拟器打开HelloWorld并关闭它，现在是不是提示信息多了一点呢？</p>
		<p>       模拟器报出了 ALLOC:17B18158 的错误，像这种类型的错误大多数情况下是因为我们使用了某个对象后忘记关闭它并释放此对象的内存导致的，为了保证程序的正常运行，我们要在使用一个对象后及时将它删除掉，于是我们定位到了HelloWorldContainer.cpp的~CHelloWorldContainer （析构函数） 中 输入以下代码<br /> <br /> <font color="#0000ff">delete</font> iImage;</p>
		<p>    当我们再次编译运行程序后，就不会再出现那讨厌的出错对话框了。<br /></p>
		<p> <img alt="" src="http://www.bention.com/attachments/month_0610/u2006102904830.JPG" /></p>
		<p>5.让我们添加一些功能<br /> <br /> 我们已经实现了在程序里显示位图的功能了，接下来我们将实现一个登陆框的功能，到时将会用到资源文件。</p>
		<p>5.1 为菜单添加项目<br /> 打开 HelloWorld.loc 文件，定义菜单的文本<br /> <br /> #define qtn_view1_login_item "Login"</p>
		<p> 打开HelloWorld.hrh ，修改THelloWorldCommandIds 的枚举定义，改成以下<br /> enum THelloWorldCommandIds<br /> {<br />     EHelloWorldCmdAppTest = 1,<br />     EHelloWorldCmdLogin<br />  };</p>
		<p> EHelloWorldCmdLogin其实就是对应了菜单项 "Login" </p>
		<p> 程序的菜单资源定义在了 HelloWorld.rss 文件中，我们打开这个文件，找到以下的定义<br /> <br />RESOURCE MENU_PANE r_helloworld_app_menu<br />    {<br />    items =<br />        {<br />        MENU_ITEM { command = EHelloWorldCmdAppTest; txt = qtn_appl_option_item; },<br />        MENU_ITEM { command = EAknCmdExit; txt = qtn_appl_exit; }<br />        };<br />    }</p>
		<p> 把EHelloWorldCmdAppTest 替换成EHelloWorldCmdLogin，再把qtn_appl_option_item替换成qtn_view1_login_item ，这样我们就把程序选项菜单的第一项替换成 "Login" 了。</p>
		<p> <img alt="" src="http://www.bention.com/attachments/month_0610/v2006102912416.JPG" /></p>
		<p> </p>
		<p>5.2 创建登陆框<br /> <br />            在这里我们要创建一个登陆框，用于生成用户名和密码的对话框，按照传统的Symbian OS C++开发，我们本来应该在HelloWorld.rss 里定义资源，但是有了Carbide.vs后我们却可以利用 Carbide.vs提供的功能非常方便地生成我们所要的资源，请打开 HelloWorld.rss 定位到文件的最后，点击右键－&gt;Add Fragment 将会出现Carbide.vs提供的生成资源窗口，在Template 处选择 S60 Multiline query dialog ，在下方会出现此对话框的效果图，就是我们所要的登陆框样子，按下一步，指定一个比较有效的名字，r_login_query ，最后按Finish生成资源，你将会发现HelloWorld.rss多了几行内容，这就是r_login_query的资源定义。<br /></p>
		<p>
				<a title="在新窗口打开图片" href="http://www.bention.com/attachments/month_0610/72006102914625.jpg" target="_blank">
						<img alt="" src="http://www.bention.com/attachments/month_0610/72006102914625.jpg" width="500" />
				</a>
		</p>
		<p>
				<a title="在新窗口打开图片" href="http://www.bention.com/attachments/month_0610/s2006102914653.JPG" target="_blank">
						<img alt="" src="http://www.bention.com/attachments/month_0610/s2006102914653.JPG" width="500" />
				</a>
		</p>
		<p> RESOURCE DIALOG r_login_query {<br />  flags = EGeneralQueryFlags;<br /> buttons = R_AVKON_SOFTKEYS_OK_CANCEL;<br /> items = {<br />  DLG_LINE {<br />   type = EAknCtMultilineQuery;<br />   id = EMultilineFirstLine;<br />   control = AVKON_DATA_QUERY {<br />    layout = EMultiDataFirstEdwin;<br />    label = "Username:";<br />    control = EDWIN { maxlength = 8; };<br />   };<br />  },<br />  DLG_LINE {<br />   type = EAknCtMultilineQuery;<br />   id = EMultilineSecondLine;<br />   control = AVKON_DATA_QUERY {<br />    layout = EMultiDataSecondSecEd;<br />    label = "Password:";<br />    control = SECRETED { num_letters = 8; };<br />   };<br />  }<br /> };<br />}</p>
		<p> 为了要让程序更通用，本地化起来，我们有必要将UserName与Password的值定义到.loc文件中，打开HelloWorld.loc文件，加入以下定义：<br /> <br /> <br /> #define qtn_username "UserName:"</p>
		<p> #define qtn_password "Password:"</p>
		<p>  接下来我们来编写代码让这个登陆框显示出来，请打开HelloWorldView.h 先加下以下文件的引用</p>
		<p>
				<font color="#0000ff"> #include</font> &lt;AknQueryDialog.h&gt;<br /><font color="#0000ff"> #include</font> &lt;aknnotewrappers.h&gt;<br /><font color="#0000ff"> #include</font> &lt;StringLoader.h&gt; <br /><font color="#0000ff"> #include</font> "HelloWorld.hrh"</p>
		<p> 再加入处理函数的声明<br /> <br /> void <font color="#0000ff">HandleLoginL</font>();</p>
		<p> 接着打开HelloWorld.loc 我们还要定义一些要显示的文本<br /> <br /> #define qtn_login_success "Congretulation You Have Loged in"</p>
		<p> #define qtn_login_fail "Sorry you have the wrong username or password"</p>
		<p> #define qtn_login_cancel "You have canceled the login"</p>
		<p> 分别定义了登陆成功，登陆失败，与取消登陆的三种显示文本</p>
		<p> 打开HelloWorld.rss文件，加入资源定义 <br /> <br /> RESOURCE TBUF r_login_success { buf = qtn_login_success; }</p>
		<p> RESOURCE TBUF r_login_fail { buf = qtn_login_fail; }</p>
		<p> RESOURCE TBUF r_login_cancel { buf = qtn_login_cancel; }</p>
		<p> 这样我们就能在程序中动态装入这些资源了，继续打开HelloWorldView.cpp文件，实现HandleLoginL函数的定义 </p>
		<p>
				<br /> void <font color="#0000ff">CHelloWorldView</font>::<font color="#993300">HandleLoginL</font>()<br /> {<br />     <font color="#993300">_LIT</font>(KCorrectLogin,"bention");//定义正确的用户名<br />     <font color="#993300">_LIT</font>(KCorrectPwd,"123456");//定义正确的密码</p>
		<p>     //显示对话框<br />     <font color="#0000ff">TBuf</font>&lt;8&gt; username(_L(""));<br />     <font color="#0000ff">TBuf</font>&lt;8&gt; password(_L(""));<br />     <font color="#0000ff">CAknMultiLineDataQueryDialog</font>* dialog=<font color="#0000ff">CAknMultiLineDataQueryDialog</font>::NewL(username,password);//声明登陆对话框对象</p>
		<p>     <font color="#0000ff">if</font> (dialog-&gt;ExecuteLD(R_LOGIN_QUERY)) {//调用登陆对话框<br />         <font color="#0000ff">if</font> (username.<font color="#0000ff">Compare</font>(KCorrectLogin)==0 &amp;&amp; password.<font color="#0000ff">Compare</font>(KCorrectPwd)==0) {<br />       //登陆成功<br />       <font color="#0000ff">CAknConfirmationNote</font>* note = <font color="#0000ff">new</font> (<font color="#993300">ELeave</font>) <font color="#0000ff">CAknConfirmationNote</font>();//定义一个信息提示框<br />       <font color="#0000ff">HBufC</font>* notePrompt=<font color="#0000ff">StringLoader</font>::<font color="#993300">LoadLC</font>(R_LOGIN_SUCCESS);//装载R_LOGIN_SUCCESS文本资源，以显示登陆成功信息<br />       note-&gt;<font color="#993300">ExecuteLD</font>(*notePrompt);//打开对话框<br />       <font color="#0000ff">CleanupStack</font>::<font color="#993300">PopAndDestroy</font>(notePrompt);<br />    }<br />   <font color="#0000ff">else</font> {<br />       //登陆失败<br />       <font color="#0000ff">CAknErrorNote</font>* note = <font color="#0000ff">new</font> (<font color="#993300">ELeave</font>) <font color="#0000ff">CAknErrorNote</font>();//定义一个错误提示框<br />       <font color="#0000ff">HBufC</font>*  notePrompt=<font color="#0000ff">StringLoader</font>::<font color="#993300">LoadLC</font>(R_LOGIN_FAIL);//装载R_LOGIN_FAIL文本资源，以显示登陆失败信息<br />       note-&gt;<font color="#993300">ExecuteLD</font>(*notePrompt);<br />       <font color="#0000ff">CleanupStack</font>::<font color="#993300">PopAndDestroy</font>(notePrompt);<br />   }<br /> }<br /> <font color="#0000ff">else</font> {<br />      //取消登陆<br />      <font color="#0000ff">CAknWarningNote</font>* note = <font color="#0000ff">new</font> (<font color="#993300">ELeave</font>) <font color="#0000ff">CAknWarningNote</font>();//定义一个警告提示框<br />      <font color="#0000ff">HBufC</font>* notePrompt=<font color="#0000ff">StringLoader</font>::<font color="#993300">LoadLC</font>(R_LOGIN_CANCEL);//装载R_LOGIN_CANCEL文本资源，以显示取消登陆警告信息<br />      note-&gt;<font color="#993300">ExecuteLD</font>(*notePrompt);<br />      <font color="#0000ff">CleanupStack</font>::<font color="#993300">PopAndDestroy</font>(notePrompt);<br />  }<br /> }</p>
		<p> 接下去我们还差啥？就差把HandleLoginL放在处理菜单命令的函数中了，定位到HandleCommandL 中,HandleCommandL 是用来专门处理事件的，我们在switch结构中加入<br /> case <font color="#993300">EHelloWorldCmdLogin</font>:<br />  {<br />   <font color="#0000ff">HandleLoginL</font>();<br />   <font color="#0000ff">break</font>;<br />  }<br /> 其中的EHelloWorldCmdLogin 就是我们的登陆按钮啦，这样就实现了当我们点击了Login按钮后就会调用HandleLoginL去做相应的处理。</p>
		<p> 好了编译一下，我顶，又出错，呵呵，别急，你还得在项目里引入  commonengine.lib 文件呢，具体做法与 引入fbscli.lib 文件一样，记得要跟fbscli.lib之间隔开一个空格哟。<br /> <br /> 好了，大功告成，现在再次编译，成功，运行，打开软件，点击Login菜单项，输入，是不是成功了？兴奋？郁闷？</p>
		<p>
				<img alt="" src="http://www.bention.com/attachments/month_0610/t200610293024.JPG" />
		</p>
		<p> </p>
		<p>
				<img alt="" src="http://www.bention.com/attachments/month_0610/n200610293048.jpg" />
		</p>
		<p> </p>
		<p>
				<img alt="" src="http://www.bention.com/attachments/month_0610/g20061029312.jpg" />
		</p>
		<p>       现在我们的程序全都是英文的，或许有人会问我为什么不用中文的啊，比如UserName为什么不写成用户名？呵呵，说实在的，我蛮懒 的，因为我们不能直接在资源文件里直接定义一个中文文本，在我写的文章中有一篇关于在Symbian中如何显示中文的文章， <a href="http://www.bention.com/article.asp?id=79" target="_blank">关于SymbianSeries 60开发的中文显示问题</a> 有兴趣的可以查看 ，按照文章的步骤去做相应的修改后你的程序就直接显示中文啦。至此，本文的实战代码也到一段落了。</p>
		<p>6.导入已有的Symbian os c++项目</p>
		<p> 利用 Carbide.vs我们可以很方便 地导入现有的Symbian os c++项目，在打开VS.NET 2003后我们依次点击 文件-&gt;Import Symbian Project .出现 导出向导，只要选择项目的 .mmp 文件就可以导入了，剩下的不用我废话了吧，聪明的你一定可以非常轻易地完成 。</p>
		<p>7.后记</p>
		<p> Carbide.vs的确是一个非常不错的VS.NET 2003辅助开发Symbian Os c++ 应用的工具，有了它，你还会用vc++ 6.0 吗,让我很爽的一点是用Carbide.vs基本上不用去手动配置SDK路径了与EPOCROOT此类变量了。用Carbide.vs懒得有理，哈哈，写起应用来也非常方便 。希望大家在看了本文后会喜欢上这个工具。</p>
		<p>8.项目源文件下载</p>
		<p>为了方便大家查看， 我把这 个helloworld项目的所有源文件打包供大家下载，大家在使用时只要导入mmp文件就可以使用了。 </p>
		<p>代码下载：<a href="http://www.bention.com/attachments/month_0610/t2006102931657.rar"><img style="MARGIN: 0px 2px -4px 0px" alt="" src="http://www.bention.com/images/download.gif" border="0" /><font size="4">点击下载此文件</font></a></p>
		<p> 声明：本文是我在参考了《Getting Started with Nokia's Carbide.vs 2.0 Development Tools》  Andreas Jakl / Mopius 写的英文教程后自己修改了部分东西并翻译成中文而写成的，原版大家可以到<a href="http://www.mopius.com/">http://www.mopius.com</a> 下载。写这份教程是为了方便不喜欢E文或E文水平不高的同学方便学习的，由于本人表达能力有限，不足之处请大家多多指教</p>
		<p>转载请注明出处，谢谢合作。</p>
		<p>
				<strong>Made in 蓝色忧郁(Bention,翁培铖</strong> </p>
		<br />
		<br />
		<p id="TBPingURL">Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1355561</p>
<img src ="http://www.blogjava.net/kemi/aggbug/79175.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kemi/" target="_blank">Kimi</a> 2006-11-05 11:20 <a href="http://www.blogjava.net/kemi/archive/2006/11/05/79175.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>简单的网络配置</title><link>http://www.blogjava.net/kemi/archive/2006/09/26/71904.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Tue, 26 Sep 2006 02:02:00 GMT</pubDate><guid>http://www.blogjava.net/kemi/archive/2006/09/26/71904.html</guid><wfw:comment>http://www.blogjava.net/kemi/comments/71904.html</wfw:comment><comments>http://www.blogjava.net/kemi/archive/2006/09/26/71904.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kemi/comments/commentRss/71904.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kemi/services/trackbacks/71904.html</trackback:ping><description><![CDATA[
		<p style="TEXT-INDENT: 2em">
				<font face="Courier New" size="2">Windows XP的网上邻居有许多差强人意的地方:访问速度慢，无法访问其他主机……其实这些问题通过简单的设置都可以很好地解决。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font face="Courier New" size="2">在这之前先确保能够互相PING通。</font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font face="Courier New" size="2">1.开启guest账户。</font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font face="Courier New" size="2">2.允许Guest用户访问本机 :打开组策略编辑器，依次选择“计算机配置→Windows设置→安全设置→本地策略→用户权利指派”，删除“拒绝从网络访问这台计算机”策略中的“GUEST”账号。</font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font face="Courier New" size="2">3.更改网络访问模式:打开组策略编辑器，依次选择“计算机配置→Windows设置→安全设置→本地策略→安全选项”，双击“网络访问:本地账号的共享和安全模式”策略，将 “仅来宾—本地用户以来宾身份验证”改为“经典:本地用户以自己的身份验证”。</font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font face="Courier New" size="2">4.解除空口令限制:在系统“安全选项”中停用“账户:使用空白密码的本地账户只允许进行控制台登录”策略。</font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font face="Courier New" size="2">5.网络邻居看不到计算机:打开“控制面板→性能和维护→管理工具→服务”，启动里面的“Computer Browser”服务。</font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font face="Courier New" size="2">6.增加共享文件权限选项:依次打开“我的电脑→工具→文件夹属性→查看→高级设置”，将 “简单文件共享(推荐)”前面的选择取消，若还有“Mickey Mouse”项也将其取消。</font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font face="Courier New" size="2">7.网络邻居不响应或者反应慢，关掉WinXP的计划任务服务(Task Scheduler) 到“控制面板/管理工具/服务”中打开“Task Scheduler”的属性对话框，停止该服务，再将启动类型设为“手动”。</font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font face="Courier New" size="2">关掉自动搜索的网络文件夹和打印机,到“网上邻居/文件/文件夹选项”中，点击查看最后一项，关闭自动搜索的网络文件夹和打印机这项。</font>
		</p>
<img src ="http://www.blogjava.net/kemi/aggbug/71904.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kemi/" target="_blank">Kimi</a> 2006-09-26 10:02 <a href="http://www.blogjava.net/kemi/archive/2006/09/26/71904.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WEB 服务器学习（转）</title><link>http://www.blogjava.net/kemi/archive/2006/08/03/61521.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Thu, 03 Aug 2006 07:47:00 GMT</pubDate><guid>http://www.blogjava.net/kemi/archive/2006/08/03/61521.html</guid><wfw:comment>http://www.blogjava.net/kemi/comments/61521.html</wfw:comment><comments>http://www.blogjava.net/kemi/archive/2006/08/03/61521.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kemi/comments/commentRss/61521.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kemi/services/trackbacks/61521.html</trackback:ping><description><![CDATA[
		<div class="content">
				<span id="post1">
						<font face="宋体">在UNIX和LINUX平台下使用最广泛的免费HTTP服务器是W3C、NCSA和APACHE服务器，而Windows平台NT/2000/2003使用IIS的WEB服务器。在选择使用WEB服务器应考虑的本身特性因素有：性能、安全性、日志和统计、虚拟主机、代理服务器、缓冲服务和集成应用程序等，下面介绍几种常用的WEB服务器。 <br />　　 <br /><b>① Microsoft IIS</b><br /><img onmousewheel="function anonymous()&#xD;&#xA;{&#xD;&#xA;return bbimg(this)&#xD;&#xA;}" onclick="function anonymous()&#xD;&#xA;{&#xD;&#xA;window.open(this.src);&#xD;&#xA;}" src="http://www.chinahtml.com/d/file/systems/5/2006-07-19/3e12d62176815a12c2c7f88c3e156a09.jpg" onload="function anonymous()&#xD;&#xA;{&#xD;&#xA;if(this.width&gt;screen.width-460)this.width=screen.width-460&#xD;&#xA;}" border="0" /><br />Microsoft的Web服务器产品为Internet Information Server (IIS)， IIS 是允许在公共Intranet或Internet上发布信息的Web服务器。IIS是目前最流行的Web服务器产品之一，很多著名的网站都是建立在IIS的平台上。IIS提供了一个图形界面的管理工具，称为 Internet服务管理器，可用于监视配置和控制Internet服务。 <br />　　 <br />IIS是一种Web服务组件，其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器，分别用于网页浏览、文件传输、新闻服务和邮件发送等方面，它使得在网络（包括互联网和局域网）上发布信息成了一件很容易的事。它提供ISAPI（Intranet Server API）作为扩展Web服务器功能的编程接口；同时，它还提供一个Internet数据库连接器，可以实现对数据库的查询和更新。<br /><b>② IBM WebSphere</b>   <br /><img onmousewheel="function anonymous()&#xD;&#xA;{&#xD;&#xA;return bbimg(this)&#xD;&#xA;}" style="ZOOM: 110%" onclick="function anonymous()&#xD;&#xA;{&#xD;&#xA;window.open(this.src);&#xD;&#xA;}" src="http://www.chinahtml.com/d/file/systems/5/2006-07-19/56ccee4315e127f447145192112ff833.jpg" onload="function anonymous()&#xD;&#xA;{&#xD;&#xA;if(this.width&gt;screen.width-460)this.width=screen.width-460&#xD;&#xA;}" border="0" /><br />WebSphere Application Server 是 一 种功能完善、开放的Web应用程序服务器，是IBM电子商务计划的核心部分，它是基于 Java 的应用环境，用于建立、部署和管理 Internet 和 Intranet Web 应用程序。 这一整套产品进行了扩展，以适应 Web 应用程序服务器的需要，范围从简单到高级直到企业级。 <br />　　 <br />WebSphere 针对以 Web 为中心的开发人员，他们都是在基本 HTTP服务器和 CGI 编程技术上成长起来的。IBM 将提供 WebSphere 产品系列，通过提供综合资源、可重复使用的组件、功能强大并易于使用的工具、以及支持 HTTP 和 IIOP 通信的可伸缩运行时环境，来帮助这些用户从简单的 Web 应用程序转移到电子商务世界。 <br /><b>③ BEA WebLogic</b><br /><img onmousewheel="function anonymous()&#xD;&#xA;{&#xD;&#xA;return bbimg(this)&#xD;&#xA;}" style="ZOOM: 120%" onclick="function anonymous()&#xD;&#xA;{&#xD;&#xA;window.open(this.src);&#xD;&#xA;}" src="http://www.chinahtml.com/d/file/systems/5/2006-07-19/eab2da6bf3d3221c59ca673cf355c6cf.jpg" onload="function anonymous()&#xD;&#xA;{&#xD;&#xA;if(this.width&gt;screen.width-460)this.width=screen.width-460&#xD;&#xA;}" border="0" /><br />BEA WebLogic Server 是一种多功能、基于标准的web应用服务器，为企业构建自己的应用提供了坚实的基础。各种应用开发、部署所有关键性的任务，无论是集成各种系统和数据库，还是提交服务、跨 Internet 协作，起始点都是 BEA WebLogic Server。由于 它具有全面的功能、对开放标准的遵从性、多层架构、支持基于组件的开发，基于 Internet 的企业都选择它来开发、部署最佳的应用。 <br />　　 <br />BEA WebLogic Server 在使应用服务器成为企业应用架构的基础方面继续处于领先地位。BEA WebLogic Server 为构建集成化的企业级应用提供了稳固的基础，它们以 Internet 的容量和速度，在连网的企业之间共享信息、提交服务，实现协作自动化。BEA WebLogic Server 的遵从 J2EE 、面向服务的架构，以及丰富的工具集支持，便于实现业务逻辑、数据和表达的分离，提供开发和部署各种业务驱动应用所必需的底层核心功能。 <br />　　 <br /><b>④ IPlanet Application Server</b><br /><img onmousewheel="function anonymous()&#xD;&#xA;{&#xD;&#xA;return bbimg(this)&#xD;&#xA;}" onclick="function anonymous()&#xD;&#xA;{&#xD;&#xA;window.open(this.src);&#xD;&#xA;}" src="http://www.chinahtml.com/d/file/systems/5/2006-07-19/c5bd0697f6832461a47e6dd43161a4f4.jpg" onload="function anonymous()&#xD;&#xA;{&#xD;&#xA;if(this.width&gt;screen.width-460)this.width=screen.width-460&#xD;&#xA;}" border="0" /><br />作为Sun与Netscape联盟产物的iPlanet公司生产的iPlanet Application Server 满足最新J2EE规范的要求。它是一种完整的WEB服务器应用解决方案，它允许企业以便捷的方式，开发、部署和管理关键任务 Internet 应用。该解决方案集高性能、高度可伸缩和高度可用性于一体，可以支持大量的具有多种客户机类型与数据源的事务。 <br />　　 <br />iPlanet Application Server的基本核心服务包括事务监控器、多负载平衡选项、对集群和故障转移全面的支持、集成的XML 解析器和可扩展格式语言转换（XLST）引擎以及对国际化的全面支持。iPlanet Application Server 企业版所提供的全部特性和功能，并得益于J2EE系统构架，拥有更好的商业工作流程管理工具和应用集成功能。 <br /><b>⑤ Oracle IAS</b><br /><img onmousewheel="function anonymous()&#xD;&#xA;{&#xD;&#xA;return bbimg(this)&#xD;&#xA;}" onclick="function anonymous()&#xD;&#xA;{&#xD;&#xA;window.open(this.src);&#xD;&#xA;}" src="http://www.chinahtml.com/d/file/systems/5/2006-07-19/3a665dc751bfead6a667d898a8595a7a.jpg" onload="function anonymous()&#xD;&#xA;{&#xD;&#xA;if(this.width&gt;screen.width-460)this.width=screen.width-460&#xD;&#xA;}" border="0" /><br />Oracle iAS的英文全称是Oracle Internet Application Server，即Internet应用服务器，Oracle iAS是基于Java的应用服务器，通过与Oracle 数据库等产品的结合，Oracle iAS能够满足Internet应用对可靠性、可用性和可伸缩性的要求。 <br />　　 <br />Oracle iAS最大的优势是其集成性和通用性，它是一个集成的、通用的中间件产品。在集成性方面，Oracle iAS将业界最流行的HTTP服务器Apache集成到系统中，集成了Apache的Oracle iAS通信服务层可以处理多种客户请求，包括来自Web浏览器、胖客户端和手持设备的请求，并且根据请求的具体内容，将它们分发给不同的应用服务进行处理。在通用性方面，Oracle iAS支持各种业界标准，包括 JavaBeans、CORBA、Servlets以及XML标准等，这种对标准的全面支持使得用户很容易将在其他系统平台上开发的应用移植到Oracle平台上。 <br /><b>⑥ Apache</b><br /><img onmousewheel="function anonymous()&#xD;&#xA;{&#xD;&#xA;return bbimg(this)&#xD;&#xA;}" onclick="function anonymous()&#xD;&#xA;{&#xD;&#xA;window.open(this.src);&#xD;&#xA;}" src="http://www.chinahtml.com/d/file/systems/5/2006-07-19/36b0e2fbcab88e9c69e33f46e8654a2e.jpg" onload="function anonymous()&#xD;&#xA;{&#xD;&#xA;if(this.width&gt;screen.width-460)this.width=screen.width-460&#xD;&#xA;}" border="0" /><br />Apache源于NCSAhttpd服务器，经过多次修改，成为世界上最流行的Web服务器软件之一。Apache是自由软件，所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定，并可做代理服务器来使用。本来它只用于小型或试验Internet网络，后来逐步扩充到各种Unix系统中，尤其对Linux的支持相当完美。 <br />　　 <br />Apache是以进程为基础的结构，进程要比线程消耗更多的系统开支，不太适合于多处理器环境，因此，在一个Apache Web站点扩容时，通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器，世界上很多著名的网站都是Apache的产物，它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用（可以运行在几乎所有的Unix、Windows、Linux系统平台上）以及它的可移植性等方面。 <br /><b>⑦ Tomcat</b><br /><img onmousewheel="function anonymous()&#xD;&#xA;{&#xD;&#xA;return bbimg(this)&#xD;&#xA;}" onclick="function anonymous()&#xD;&#xA;{&#xD;&#xA;window.open(this.src);&#xD;&#xA;}" src="http://www.chinahtml.com/d/file/systems/5/2006-07-19/d1a3cb72d8410dd0136c7366fc445b3a.jpg" onload="function anonymous()&#xD;&#xA;{&#xD;&#xA;if(this.width&gt;screen.width-460)this.width=screen.width-460&#xD;&#xA;}" border="0" /><br />Tomcat是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器。Tomcat Server是根据servlet和JSP规范进行执行的，因此我们就可以说Tomcat Server也实行了Apache-Jakarta规范且比绝大多数商业应用软件服务器要好。 <br />　　 <br />Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技术的标准实现，是基于Apache许可证下开发的自由软件。Tomcat是完全重写的Servlet API 2.2和JSP 1.1兼容的Servlet/JSP容器。Tomcat使用了JServ的一些代码，特别是Apache服务适配器。随着Catalina Servlet引擎的出现，Tomcat第四版号的性能得到提升，使得它成为一个值得考虑的Servlet/JSP容器，因此目前许多WEB服务器都是采用Tomcat。 </font>
						<br />
				</span>
		</div>
<img src ="http://www.blogjava.net/kemi/aggbug/61521.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kemi/" target="_blank">Kimi</a> 2006-08-03 15:47 <a href="http://www.blogjava.net/kemi/archive/2006/08/03/61521.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>今天用上了FLASH，记下点东东</title><link>http://www.blogjava.net/kemi/archive/2006/05/16/46419.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Tue, 16 May 2006 07:44:00 GMT</pubDate><guid>http://www.blogjava.net/kemi/archive/2006/05/16/46419.html</guid><wfw:comment>http://www.blogjava.net/kemi/comments/46419.html</wfw:comment><comments>http://www.blogjava.net/kemi/archive/2006/05/16/46419.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kemi/comments/commentRss/46419.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kemi/services/trackbacks/46419.html</trackback:ping><description><![CDATA[
		<font size="2">PORTAL FLASH INDEX:<br />&lt;?xml version='1.0' encoding='GBK'?&gt;<br />&lt;jsp:root xmlns:jsp="</font>
		<a href="http://java.sun.com/JSP/Page">
				<font size="2">http://java.sun.com/JSP/Page</font>
		</a>
		<font size="2">" version="2.0"<br />          xmlns:h="</font>
		<a href="http://java.sun.com/jsf/html">
				<font size="2">http://java.sun.com/jsf/html</font>
		</a>
		<font size="2">"<br />          xmlns:f="</font>
		<a href="http://java.sun.com/jsf/core">
				<font size="2">http://java.sun.com/jsf/core</font>
		</a>
		<font size="2">"<br />          xmlns:afh="</font>
		<a href="http://xmlns.oracle.com/adf/faces/html">
				<font size="2">http://xmlns.oracle.com/adf/faces/html</font>
		</a>
		<font size="2">"<br />          xmlns:af="</font>
		<a href="http://xmlns.oracle.com/adf/faces">
				<font size="2">http://xmlns.oracle.com/adf/faces</font>
		</a>
		<font size="2">"&gt;<br />  &lt;jsp:output omit-xml-declaration="true" doctype-root-element="HTML"<br />              doctype-system="</font>
		<a href="http://www.w3.org/TR/html4/loose.dtd">
				<font size="2">http://www.w3.org/TR/html4/loose.dtd</font>
		</a>
		<font size="2">"<br />              doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"/&gt;<br />  &lt;jsp:directive.page contentType="text/html;charset=GBK"/&gt;<br />  &lt;f:view&gt;<br />    &lt;html&gt;<br />      &lt;head&gt;<br />        &lt;meta http-equiv="Content-Type" content="text/html; charset=GBK"/&gt;<br />        &lt;title&gt;Business Home Page&lt;/title&gt;<br />      &lt;/head&gt;<br />      &lt;body&gt;&lt;h:form&gt;<br />          &lt;f:verbatim&gt;<br />            &lt;table border="0" cellpadding="0" cellspacing="0" width="100%"<br />                   height="100%" align="center"&gt;<br />              &lt;tr align="center" style="background-color:#EAEAEA"&gt;<br />                &lt;td&gt;<br />                  &lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"<br />                          codebase="</font>
		<a href="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0">
				<font size="2">http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0</font>
		</a>
		<font size="2">"<br />                          width="700" height="430" id="dfmGuide" align="middle"&gt;<br />                    &lt;param name="allowScriptAccess" value="sameDomain"/&gt;<br />                    &lt;param name="movie" value="kemi.swf"/&gt;<br />                    &lt;param name="quality" value="high"/&gt;<br />                    &lt;param name="scale" value="exactfit"/&gt;<br />                    &lt;param name="bgcolor" value="#8473E0"/&gt;<br />                    &lt;embed src="kemi.swf" quality="high" scale="exactfit"<br />                           width="1004" height="620" name="dfmGuide"<br />                           align="middle" allowScriptAccess="sameDomain"<br />                           type="application/x-shockwave-flash"<br />                           pluginspage="</font>
		<a href="http://www.macromedia.com/go/getflashplayer&quot;/">
				<font size="2">http://www.macromedia.com/go/getflashplayer"/</font>
		</a>
		<font size="2">&gt;<br />                  &lt;/object&gt;<br />                &lt;/td&gt;<br />              &lt;/tr&gt;<br />            &lt;/table&gt;<br />            &lt;table border="0" cellpadding="0" cellspacing="0" width="100%"<br />                   height="100%" align="center"&gt;<br />              &lt;tr align="center" style="background-color:#EAEAEA"&gt;<br />                &lt;td align="center"&gt;<br />                  &lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"<br />                          codebase="</font>
		<a href="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0">
				<font size="2">http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0</font>
		</a>
		<font size="2">"<br />                          width="700" height="50" id="dfmGuide" align="middle"&gt;<br />                    &lt;param name="allowScriptAccess" value="sameDomain"/&gt;<br />                    &lt;param name="movie" value="flowbar.swf"/&gt;<br />                    &lt;param name="quality" value="high"/&gt;<br />                    &lt;param name="scale" value="exactfit"/&gt;<br />                    &lt;param name="bgcolor" value="#FFFFFF"/&gt;<br />                    &lt;embed src="flowbar.swf" quality="high" scale="exactfit"<br />                           width="1004" height="620" name="dfmGuide"<br />                           align="middle" allowScriptAccess="sameDomain"<br />                           type="application/x-shockwave-flash"<br />                           pluginspage="</font>
		<a href="http://www.macromedia.com/go/getflashplayer&quot;/">
				<font size="2">http://www.macromedia.com/go/getflashplayer"/</font>
		</a>
		<font size="2">&gt;<br />                  &lt;/object&gt;<br />                &lt;/td&gt;<br />              &lt;/tr&gt;<br />            &lt;/table&gt;<br />            &lt;table align="center"&gt;<br />              &lt;tr align="center"&gt;<br />                &lt;td style="font-size:18px;color:red;"&gt;Welcome to Prime Success<br />                                                      Portal&lt;/td&gt;<br />              &lt;/tr&gt;<br />            &lt;/table&gt;<br />          &lt;/f:verbatim&gt;<br />        &lt;/h:form&gt;&lt;/body&gt;<br />    &lt;/html&gt;<br />  &lt;/f:view&gt;<br />&lt;/jsp:root&gt;<br /><br /><br />下载SWF文件后，可以使用破译软件，如闪客精灵转变为FLASH能打开的.FLA文件。<br />注意帧，关键帧的作用。<br />另外，韩国FLASH做的就是好！</font>
<img src ="http://www.blogjava.net/kemi/aggbug/46419.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kemi/" target="_blank">Kimi</a> 2006-05-16 15:44 <a href="http://www.blogjava.net/kemi/archive/2006/05/16/46419.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>