作者存档: fred - 第13页

如何在JBuilder 2006中打Jar包,并生成Exe文件

我把文件放在我的网盘上,位于“java书籍”内

http://disk2.718728.cn/?zhufeng1987

java优秀学习站点

http://www.2ed.cn/ 第二课堂 jsp学习
http://www.javaresearch.org/
http://www.54bk.com 我是博客
http://www.java-cn.com java中文网
http://java.sun.com sun官方网站
http://www.comejava.com 动网先锋
http://www.sawin.cn 小龙亭
http://www.java.com.cn java讨论区
http://www.cn-java.com 中文java技术网
http://www.chinajavaworld.com java开发者
http://www-900.ibm.com.developerWorks/cn 技术专区
http://www.sourceforge.net java开源
http://www.jdon.com/ jdon论坛,是一个J2EE专业技术论坛
http://www.cnjsp.org/ jsp技术网站
http://www.javaresearch.org/ java研究组织
http://www.theserverside.com/ 一个著名的面向java server端应用的网站
http://www.huihoolcom 灰狐动力,很专业的J2EE网站,可参考
http://www.javaworld.com 很多新技术的讨论和新闻
httP://dev2dev.bea.com.cn/index.jsp BEA开发园地,在weblogic上做开发的必进
http://www.chinaunix.net ChinaUnix——我们在努力打造一个Unix时代!
http://www.onjava.com O’REILLY ON java.com
http://www.matrix.org.cn Matrix与Java共舞
http://www.javajia.com Java家
http://www.javalobby.org JavaLobby
http://www.java-source.net JavaSource
http://www.cnjsp.org 中国JSP技术网站
http://www.jspcn.net JSP中文
http://www.cnjavaclub.com 中国JAVA俱乐部
http://www.uml.org.cn UML软件工程组织
http://www.xuejava.com 学Java——学习Java的精髓
http://tech.ccidnet.com 赛迪网技术天地
http://dev2dev.bea.com.cn/index.jsp BEAdev2dev在线
http://www.kissjava.com 爪哇流氓
http://java.about.com 来自About.com的Java新闻和技术文章
http://www.chedong.com/ 车东
http://www.javayou.com/ Java自有人
http://www.jcp.org/en/home/index Java Community Process
http://bbs.chinajavaworld.com ChinaJavaWorld技术论坛
http://www.javaworld.com.tw/jute/index.html JavaWorld技术论坛
http://forum.javaeye.com Java视线论坛
http://www.jdon.com/jive/index.jsp J道论坛
http://gceclub.sun.com.cn/NASApp/sme/jive/index.jsp Sun技术社区论坛
http://www.cjsdn.com 中国Java开发网
http://spring.jactiongroup.net SpringFramework中文论坛
http://www.javafan.net/jive/index.jsp JavaFan论坛

计算器源码-java

    import javax.swing.*;
   
    import java.awt.*;
    import java.awt.event.*;
    import java.lang.*;
   
    public class awtQi extends JFrame implements ActionListener
    {
   
     private JButton s1,s2,s3,s4,s5,s6,s7,s8,s9,s0,b1,b2,b3,b4,f1,f2;
     private JTextField resultField;
     private Panel pNorth,pCenter,pSouth;
     private boolean end,add,sub,mul,div;
     private String str;
      private double num1,num2;
       JLabel lblStatusbar;
      
      public awtQi()
       {
           pSouth=new Panel();
           pNorth=new Panel();                    //面板布局
           pCenter=new Panel();
           lblStatusbar=new JLabel(“【小项目系列作品-计算器】     编写者:朱峰      班级:06计信1班 “);
           resultField=new JTextField(“0″);
           JButtonListener();
           add(pNorth,BorderLayout.NORTH);            
           add(pCenter,BorderLayout.CENTER);
           add(pSouth,BorderLayout.SOUTH);
           pNorth.setLayout(new GridLayout(1,1));
           pNorth.add(resultField);
           pSouth.add(lblStatusbar);
           pCenter.setLayout(new GridLayout(4,4));
           addButton();
          
       }
 
      private void addButton()             //改方法在jPanel上添加按钮组
       {                                    
          pCenter.add(s1);
          pCenter.add(s2);
          pCenter.add(s3);
          pCenter.add(b1);
          pCenter.add(s4);
          pCenter.add(s5);
          pCenter.add(s6);
          pCenter.add(b2);
          pCenter.add(s7);
          pCenter.add(s8);
          pCenter.add(s9);
          pCenter.add(b3);
          pCenter.add(s0);  
          pCenter.add(f1);
          pCenter.add(f2);
          pCenter.add(b4);
       }
 
      private void JButtonListener()             //该方法创建按钮,并且注册监听事件到listenerQi类中
       {            
          s1=new JButton(“   1   “);   s1.addActionListener(this);
          s2=new JButton(“   2   “);   s2.addActionListener(this);
          s3=new JButton(“   3   “);   s3.addActionListener(this);   
          s4=new JButton(“   4   “);   s4.addActionListener(this);
          s5=new JButton(“   5   “);   s5.addActionListener(this);
          s6=new JButton(“   6   “);   s6.addActionListener(this);
          s7=new JButton(“   7   “);   s7.addActionListener(this);
          s8=new JButton(“   8   “);   s8.addActionListener(this);
          s9=new JButton(“   9   “);   s9.addActionListener(this);
          s0=new JButton(“   0   “);   s0.addActionListener(this);
          b1=new JButton(“   +   “);   b1.addActionListener(this);
          b2=new JButton(“   -   “);   b2.addActionListener(this);
          b3=new JButton(“   *   “);   b3.addActionListener(this);
          b4=new JButton(“   /   “);   b4.addActionListener(this);
          f1=new JButton(“   .   “);   f1.addActionListener(this);
          f2=new JButton(“   =   “);   f2.addActionListener(this);
       }
      
      public static void main(String[] args)
       {
           awtQi test=new awtQi();
           test.setSize(400,300);
           test.setVisible(true);
       }
      
      
      
      
      public void num(int i)                //决定显示的数值
       {
           String s=null;
           s=String.valueOf(i);
          if(end)
           {
               resultField.setText(“0″);
               end=false;
           }
          if((resultField.getText()).equals(“0″))
               resultField.setText(s);
          else
           {
               s=resultField.getText()+s;
               resultField.setText(s);
           }
       }
      
      public void sign(int s)
       {
          if     (s==1)
           {
               add=true;
               sub=false;
               mul=false;
               div=false;
           }
          else if (s==2)
           {
               add=false;
               sub=true;
               mul=false;
               div=false;
           }
          else if (s==3)
           {
               add=false;
               sub=false;
               mul=true;
               div=false;
           }
          else if (s==4)
           {
               add=false;
               sub=false;
               mul=false;
               div=true;
           }
           num1=Double.parseDouble(resultField.getText());
           System.out.println(“第一个数字已产生:”+num1);
           end=true;
          
       }
      public void actionPerformed(ActionEvent e) {
          if (e.getSource()==s1)                //以下为0-9的输入
               num(1);
          else if (e.getSource()==s2)
               num(2);
          else if (e.getSource()==s3)
               num(3);
          else if (e.getSource()==s4)
               num(4);
          else if (e.getSource()==s5)
               num(5);
          else if (e.getSource()==s6)
               num(6);
          else if (e.getSource()==s7)
               num(7);
          else if (e.getSource()==s8)
               num(8);
          else if (e.getSource()==s9)
               num(9);
          else if (e.getSource()==s0)
               num(0);
          
          
          else if(e.getSource()==b1)            //以下为+,-,*,/的输入
               sign(1);
          else if(e.getSource()==b2)
               sign(2);        
          else if(e.getSource()==b3)
               sign(3);            
          else if(e.getSource()==b4)
               sign(4);
          
          
          else if(e.getSource()==f1)            //判断.的输入
           {
               str=resultField.getText();
              if(str.indexOf(“.”)<=1)
                   str=str+“.”;
               resultField.setText(str);
      
           }
          else if(e.getSource()==f2)                //按下=号时候的计算
               {
                   num2=Double.parseDouble(resultField.getText());        
                   System.out.println(“第二个数字已产生:”+num2);
                  
                  if(add)
                       num1=num1+num2;
                  else if(sub)
                       num1=num1-num2;
                  else if(mul)
                       num1=num1*num2;
                  else if(div)
                       num1=num1/num2;
                  
                          
                   System.out.println(“结果为:”+num1);
                   printQi();
               }                                    
       }
 
      private void printQi() {
           resultField.setText(String.valueOf(num1));            //显示最终的结果
           end=true;
       }
 
  }

JAVA如何调用DOS命令(转载CSDN.NET)

用Java编写应用时,有时需要在程序中调用另一个现成的可执行程序或系统命令,这时可以通过组合使用Java提供的Runtime类和Process类的方法实现。下面是一种比较典型的程序模式:

Process process = Runtime.getRuntime().exec(“.\p.exe”);
process.waitfor( );

在上面的程序中,第一行的“.\p.exe”是要执行的程序名,Runtime.getRuntime()返回当前应用程序的Runtime对象,该对象的exec()方法指示Java虚拟机创建一个子进程执行指定的可执行程序,并返回与该子进程对应的Process对象实例。通过Process可以控制该子进程的执行或获取该子进程的信息。第二条语句的目的等待子进程完成再往下执行。
但在windows平台上,如果处理不当,有时并不能得到预期的结果。下面是笔者在实际编程中总结的几种需要注意的情况:
1、执行DOS的内部命令
如果要执行一条DOS内部命令,有两种方法。一种方法是把命令解释器包含在exec()的参数中。例如,执行dir命令,在NT上,可写成exec(“cmd.exe /c dir”),在windows 95/98下,可写成“command.exe /c dir”,其中参数“/c”表示命令执行后关闭Dos立即关闭窗口。另一种方法是,把内部命令放在一个批命令my_dir.bat文件中,在Java程序中写成exec(“my_dir.bat”)。如果仅仅写成exec(“dir”),Java虚拟机则会报运行时错误。前一种方法要保证程序的可移植性,需要在程序中读取运行的操作系统平台,以调用不同的命令解释器。后一种方法则不需要做更多的处理。
2、打开一个不可执行的文件
打开一个不可执行的文件,但该文件存在关联的应用程序,则可以有两种方式。 以打开一个word文档a.doc文件为例,Java中可以有以下两种写法:
exec(“start .\a.doc”);
exec(” c:\Program Files\Microsoft Office\office\winword.exe .\a.doc”);
显然,前一种方法更为简捷方便。
3、执行一个有标准输出的DOS可执行程序
在windows 平台上,运行被调用程序的DOS窗口在程序执行完毕后往往并不会自动关闭,从而导致Java应用程序阻塞在waitfor( )。导致该现象的一个可能的原因是,该可执行程序的标准输出比较多,而运行窗口的标准输出缓冲区不够大。解决的办法是,利用Java提供的Process 类提供的方法让Java虚拟机截获被调用程序的DOS运行窗口的标准输出,在waitfor()命令之前读出窗口的标准输出缓冲区中的内容。一段典型的程序如下:

String ls_1;
Process process = Runtime.getRuntime().exec(“cmd /c dir \windows“);
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream());
while ( (ls_1=bufferedReader.readLine()) != null)
System.out.println(ls_1);

process.waitfor( );

以上内容为转载~下面内容为原创!

今天在做客户端程序的自动更新,简单描述一下,就是从服务器上将更新包下载下来,然后在本地解压缩,最后删掉~功能很简单~

但是问题出在使用JAVA的ZIP模块做文件的解压缩不是想象的那么简单,资源需要释放,一个不小心就没有办法删除掉原有ZIP文件了~资源的占用确实是个大问题,但是好在,客户端程序更新完是要重启的,一切都烟消云散了~对于删除不掉ZIP文件的问题,我也流氓一下~用DEL硬删除~此处一定要注意!

Process process = Runtime.getRuntime().exec(“cmd /c del f:\aaa.doc”);
这样的调用是没有问题~

Process process = Runtime.getRuntime().exec(“del f:\aaa.doc”);
这样写是不可能对的~

优秀ASP.NET程序员修炼之路(转载)

“为人写程序”

初级的程序员或经验不足的程序员往往只意识到自己的程序是写给计算机的,而不会在意程序其实也是写给人的,或在意得不够、不全面。

写给机器的程序,往往追求的是运行正确、执行效率能满足要求。但程序员的任务仅仅就是把业务逻辑转成机器能编译的计算机语言吗?

其实,程序首先(注意,是首先)是写给人的。第一,程序是写给看代码的人的。第二,程序是写给用程序的人的。了解这一点,才能理解写程序为什么要有代码规范,为什么要有各种文档,为什么写子程序时要命好名,为什么要分层,为什么要学设计模式,为什么要写测试用例,为什么要推敲按钮的摆放,为什么要按XHTML标准写Web界面,为什么要用AJAX … …理解了这一点,才能更好的做好上面种种事情。

谁都在说“细节决定成败”,谁都知道要注意细节。为什么大家都在讲细节,有的人能通过细节打败对手,有的人连细节在哪一方都不知道,这就是水平的高低所在。我们要有心理准备:细节不是喊一声就会出现在你面前的。感知到细节,这是一个需要不断学习和实践,甚至有人指导的过程。这个过程有长有短,要看个人的学习能力,领悟能力。但最起码,我们首先要有一个方向。找程序的细节,方向就是“为人写程序”,在你做设计,写代码,摆弄界面的时候,心里时刻记住这一点,几个项目下来,你自然能看到很多细节了。

“内外兼修”

武侠电影里的高手,往往都是通过奇门心法,内力陡增而成为高手的。但我们做程序的,要成为高手,“内外兼修”才能事半功倍。内,指的是需求把握,设计思想,设计模式等。外,指的是写代码时的规范,做界面时的严谨等。

看武侠看多了的我们,偏内轻外的特点是很明显的。看看书店里写设计模式主题的书籍和指导代码规范的书籍的数量和销量对比就是一个很好的证明。但是就算设计模式一套一套,但写的类却给人看半天也看不出思路的话,一两年之后,你仍将陷入一个个泥潭中。

再举个例子,有的人自称ASP.NET程序员,而且他写出来的后台代码也层次清晰,条理清楚,但是做出来的界面,结构与表现混杂,一大堆IDE自动生成的垃圾代码充斥其中,该用单选框的用文本框,按钮放在谁都想不到的地方,不该用户操作的要用户操作,一步可操作完的搞成几步也不能完成操作……很显然,他不可能做出成功的产品。也许他也知道界面要合理,但是就是因为他不修外功,认为我是搞.NET这种先进技术的,去补习什么HTML、JavaScript、CSS不是自贬身价吗?其实,认真研究过HTML、JavaScript这些技术的人都会体味到,运用这些技术比流行的.NET、Java更有挑战性,而且你获得直接操作用户界面元素的能力后,以前那种做界面效果、接口功能时有心无力的情形将一去不返,这是很痛决的!

如何学习ASP.NET

要成为一个优秀的ASP.NET程序员,不仅要掌握.NET框架,理解ASP.NET的原理,而且要对DHTML架轻就熟,甚至对各种浏览器之间的差异也要有所了解,所以做ASP.NET程序员是一件很有挑战的工作。那么如何学习ASP.NET,并最终成为优秀的ASP.NET程序员呢?

我认为可以分为两个步骤来走:首先,熟悉ASP.NET各种标准控件的用法,了解ASP.NET工作原理。接着,朝“内”和“外”两个方向扩展自己的知识和技能。

在Visual Studio .NET这样优秀的IDE帮助下,我们使用各种ASP.NET控件,掌握ASP.NET基本的工作原理应该是比较容易的。如能辅以几个简单的项目练习一下比较复杂的DataGrid、DataList等数据绑定控件的话,基本掌握ASP.NET是应该没有多大问题的。

之后,我们就可以朝两个进阶方向前进了。“修内”的话,深刻理解面向对象的编程思想是必修的,然后是各种的B/S框架的模式(比如MVC)的理解,最后是设计模式等等软件工程的概念和技术。“修外”则更重实践。首先,做项目时注意把一些可以实现在客户端的逻辑用DHTML在客户端实现出来,以此掌握结合服务端、客户端技术的方法,加深对HTML的DOM对象的理解,熟练常用的JavaScript技巧。进而练习对Web界面的结构、数据、表现三者进行分离的规划、设计与实现。

如此看来,学习ASP.NET也并不是一件很难的事情,注意“为人写程序”,“内外兼修”,自然就能做出合格的应用程序。

关于XP安装SQL2000失败的解决办法!

为了研究数据库。装了个SQL2000.但是貌似XP上不能安装企业版,只好下载了一个4in1的版本,其实也就是个人版!但是安装到程序的最后总是提示“安装程序配置服务器失败,请参阅……日志”,本人在网上海找了半天才找到解决办法,下面我把自己从网上转载加整理后的资料添出来,希望能帮助遇到相同问题的朋友!

本人犯了以下第四个错误!

———————————————————————————————————————————–

sql server 2000安装出错,无法找到动态链接库sqlunirl.dll
安装文件肯定没有错,因为以前安装过,绝对可以用

机子之前有装了sql server 2000,而且可以正常使用,只是今天突然无法连接到本地数据库,打算重装,我删了program files里的ms sql的目录,然后重装sql,结果在最后一步的时候提示,无法完成配置。后来又删除了一些注册表中的sql server信息(有备份注表),再安装时,就出现这样的提示了,更糟的是,备份的注册表却无法还原

============================
现在问题解决了,总结了一些经验

当安装时出现MDAC组件安装失败时,试着修复或重装microsoft office

当你想重装sql server,而安装时又出现“您的机子上已经安装有一个实例”的提示时,可以删除program filesMicrosoft SQL Server文件夹,再安装

当出现某某动态链接文件找不到时,可以试着在sql server的安装文件中找到这个文件,复制到系统目录下的system和system32文件夹中(一般在出现这个错误消息时,都会提示哪几个文件夹下缺少这个文件)

当出现安装程序配置服务器失败时,可以试着用一下方法解决
此错误消息可以在系统目录下找到,例如我的系统是win2000,则该文件在C:WINNTsqlstp.log

失败一:
正在与服务?

driver={sql server};server=ZHL;UID=sa;PWD=;database=master

[Microsoft][ODBC 驱动程序 管理器] 驱动程序的 SQLAllocHandle on SQL_H

driver={sql server};server=ZHL;UID=sa;PWD=;database=master

[Microsoft][ODBC 驱动程序 管理器] 驱动程序的 SQLAllocHandle on SQL_H

driver={sql server};server=ZHL;UID=sa;PWD=;database=master

[Microsoft][ODBC 驱动程序 管理器] 驱动程序的 SQLAllocHandle on SQL_H

SQL Server 配置?

###############################################################################

13:40:06 Process Exit Code: (-1)
13:40:09 安装程序配置服务器失败。参考服务器错误日志和 C:WINNTsqlstp.log 了解更多信息。
13:40:09 Action CleanUpInstall:
当出现这个错误时,试一下重装系统文件
我的机子是win2000,在dos下重新运行win2000的安装,然后选择修复,而不是全新安装
修复系统文件之后,再装sql server,则不会出现此错误消息

失败二:
正在与服务?

driver={sql server};server=ZHL;UID=sa;PWD=;database=master

[Microsoft][ODBC 驱动程序 管理器] 未发现数据源

driver={sql server};server=ZHL;UID=sa;PWD=;database=master

[Microsoft][ODBC 驱动程序 管理器] 未发现数据源

driver={sql server};server=ZHL;UID=sa;PWD=;database=master

[Microsoft][ODBC 驱动程序 管理器] 未发现数据源

SQL Server 配置?

###############################################################################

13:50:07 Process Exit Code: (-1)
13:50:10 安装程序配置服务器失败。参考服务器错误日志和 C:WINNTsqlstp.log 了解更多信息。
13:50:10 Action CleanUpInstall:
当出现这个错误时,是因为在注册表删除了HKEY_LOCAL_MACHINESOFTWAREODBC中有关sql sever的

内容
这时可以选择修复注册表,或安装ODBC修复工具
ODBC修复工具: http://211.101.4.50/download/canyin/tools/MDAC_TYP.EXE

失败三:
在与服务?

driver={sql server};server=ZHL;UID=sa;PWD=;database=master

[Microsoft][ODBC SQL Server Driver][Named Pipes]连接?

[Microsoft][ODBC SQL Server Driver][Named Pipes]ConnectionRead (ReadFile()).

driver={sql server};server=ZHL;UID=sa;PWD=;database=master

[Microsoft][ODBC SQL Server Driver][Named Pipes]连接?

[Microsoft][ODBC SQL Server Driver][Named Pipes]ConnectionRead (GetOverLappedResult()).

driver={sql server};server=ZHL;UID=sa;PWD=;database=master

[Microsoft][ODBC SQL Server Driver][Named Pipes]连接?

[Microsoft][ODBC SQL Server Driver][Named Pipes]ConnectionRead (GetOverLappedResult()).

SQL Server 配置?

###############################################################################

17:17:41 Process Exit Code: (-1)
17:17:45 安装程序配置服务器失败。参考服务器错误日志和
当出现这个错误时,必须安装ODBC修复工具
ODBC修复工具: http://211.101.4.50/download/canyin/tools/MDAC_TYP.EXE

失败四:

在与服务?

… driver={sql server};server=Aurora;UID=sa;PWD=;database=master
[Microsoft][ODBC SQL Server Driver][Shared Memory]一般性网络错误。
[Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionRead (WrapperRead()). driver={sql server};server=Aurora;UID=sa;PWD=;database=master
[Microsoft][ODBC SQL Server Driver][Shared Memory]一般性网络错误。
[Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionRead (WrapperRead()). driver={sql server};server=Aurora;UID=sa;PWD=;database=master
[Microsoft][ODBC SQL Server Driver][Shared Memory]一般性网络错误。
[Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionRead (WrapperRead()).

SQL Server 配置?

####################################################################

17:17:41 Process Exit Code: (-1)

17:17:45 安装程序配置服务器失败。参考服务器错误日志和C:WINDOWSsqlstp.log 了解更多信息。

___________________________________________________________________

此问题属于sql server的bug, GetComputerName 用于获取本地计算机名。客户端网络库组件 (DBMSLPCn.dll) 将该名称转换为全部大写。服务器网络库组件 (SSMSLPCn.dll) 保留返回时的名称。

当 Windows 计算机名称包含大写字母和小写字母或者都是小写字母时安装会失败,提示一般性网络错误!

解决办法 就是将计算机名称改为全部大写!重启安装成功。(本人就是这里错了!)


木马病毒的通用解法

由于很多新手对安全问题了解不多,所以并不知道自己的计算机中了“木马”该怎么样清除。虽然现在市面上有很多新版杀毒软件都可以自动清除“木马”,但它们并不能防范新出现的“木马”程序,因此最关键的还是要知道“木马”的工作原理,这样就会很容易发现“木马”。相信你看了这篇文章之后,就会成为一名查杀“木马”的高手了。

“木马”程序会想尽一切办法隐藏自己,主要途径有:在任务栏中隐藏自己,这是最基本的只要把Form的Visible属性设为False、ShowInTaskBar设为False,程序运行时就不会出现在任务栏中了。在任务管理器中隐形:将程序设为“系统服务”可以很轻松地伪装自己。 当然它也会悄无声息地启动,你当然不会指望用户每次启动后点击“木马”图标来运行服务端,,“木马”会在每次用户启动时自动装载服务端,Windows系统启动时自动加载应用程序的方法,“木马”都会用上,如:启动组、win.ini、system.ini、注册表等等都是“木马”藏身的好地方。下面具体谈谈“木马”是怎样自动加载的。

  在win.ini文件中,在[WINDOWS]下面,“run=”和“load=”是可能加载“木马”程序的途径,必须仔细留心它们。一般情况下,它们的等号后面什么都没有,如果发现后面跟有路径与文件名不是你熟悉的启动文件,你的计算机就可能中上“木马”了。当然你也得看清楚,因为好多“木马”,如“AOL Trojan木马”,它把自身伪装成command.exe文件,如果不注意可能不会发现它不是真正的系统启动文件。

  在system.ini文件中,在[BOOT]下面有个“shell=文件名”。正确的文件名应该是“explorer.exe”,如果不是“explorer.exe”,而是“shell= explorer.exe 程序名”,那么后面跟着的那个程序就是“木马”程序,就是说你已经中“木马”了。

在注册表中的情况最复杂,通过regedit命令打开注册表编辑器,在点击至:“HKEY-LOCAL-MACHINE Software Microsoft Windows CurrentVersionRun”目录下,查看键值中有没有自己不熟悉的自动启动文件,扩展名为EXE,这里切记:有的“木马”程序生成的文件很像系统自身文件,想通过伪装蒙混过关,如“Acid Battery v1.0木马”,它将注册表“HKEY-LOCAL-MACHINE SOFTWARE Microsoft Windows CurrentVersion Run”下的 Explorer 键值改为Explorer=“C:WINDOWSexpiorer.exe”,“木马”程序与真正的Explorer之间只有“i”与“l”的差别。当然在注册表中还有很多地方都可以隐藏“木马”程序,如:“HKEY-CURRENT-USER Software Microsoft Windows CurrentVersion Run”、“HKEY-USERS **** Software Microsoft Windows CurrentVersion Run”的目录下都有可能,最好的办法就是在"HKEY-LOCAL-MACHINE Software Microsoft Windows CurrentVersion Run”下找到“木马”程序的文件名,再在整个注册表中搜索即可。

  知道了“木马”的工作原理,查杀“木马”就变得很容易,如果发现有“木马”存在,最安全也是最有效的方法就是马上将计算机与网络断开,防止黑客通过网络对你进行攻击。然后编辑win.ini文件,将[WINDOWS]下面,“run=“木马”程序”或“load=“木马”程序”更改为“run=”和“load=”;编辑system.ini文件,将[BOOT]下面的“shell=‘木马’文件”,更改为:“shell=explorer.exe”;在注册表中,用regedit对注册表进行编辑,先在“HKEY-LOCAL-MACHINE Software Microsoft Windows CurrentVersion Run”下找到“木马”程序的文件名,再在整个注册表中搜索并替换掉“木马”程序,有时候还需注意的是:有的“木马”程序并不是直接将“HKEY-LOCAL-MACHINE SoftwareMicrosoft Windows CurrentVersion Run”下的“木马”键值删除就行了,因为有的“木马”如:BladeRunner“木马”,如果你删除它,“木马”会立即自动加上,你需要的是记下“木马”的名字与目录,然后退回到MS-DOS下,找到此“木马”文件并删除掉。重新启动计算机,然后再到注册表中将所有“木马”文件的键值删除。至此,我们就大功告成了.

你活得比他好,就是對他最大的報復

昨晚看一篇文章,大概內容是這樣的:LU人的博客*F)r4U(g%O:V m

她出生在一個幹部家庭,他是她從小到大的同學。LU人的博客5F b6B r!w |+c

他想開金礦,可家裏拿不出錢,於是她父母把退休後開的公司賣了,得來的錢一半借他開金礦,一半買房養老。LU人的博客,v O a q

她們家對於他可謂是恩重如山。LU人的博客 ^+w Z q {

他亦爭氣,金礦運營蒸蒸日上,甚至準備再買一個金礦,她幫他打理。LU人的博客+F"q+m2u!R6s"K

朋友知道他們有錢,紛紛來借,而且經常拖著不還。年底,兩人決定去討債。
5[/| i I h Y+Q0

朋友謝某欠下5萬塊債款不肯還,他與謝某發生衝突,將謝踢下山崖。崖深百米,謝某命保住但終身癱瘓。
a+{ o P P2z r N4M%Q0

他與她同時被拘留。謝某只指控了他。他通過律師給她傳紙條:金礦你一人無法支撐,如果你替我進去,我來經營,你出來後我們起碼有一百萬的家產,可以立即完婚,兩人未來都有保證。LU人的博客 ~)p M1c E d c

癡情的她答應了。被判入獄8年。LU人的博客 E,c y I B m v O

入獄期間他從未探監,還將她年邁的父母養老的錢以請律師爲由全部騙光,其父後來得知女兒被冤且花出去的錢全入狼口,氣急之下撒手人寰。辦喪事欠下三萬多元債務。LU人的博客 d v [*j H d ^

她決定出獄後要殺了他。LU人的博客+Q t u T g `&s w

因他的自私,朋友們紛紛疏遠他。她被判8年,他卻像判無期徒刑,壓力之下,隱姓埋名。逃至西安。
;Y f’e&x#F;V!d P/[ L0

他沒料到這個結局。
:L |$`6i5Y l-x0

8年後,她出獄。找到當初深愛的那個男人。他身體已有些發福,住高級住宅小區,有個胖兒子及頭髮捲曲的摩登老婆。看到自己與他生活的天壤之別,仇恨像烈火般在她心中燃燒。
q z:S+L;M o0

但是她並未殺他。因爲另一個男人的出現。LU人的博客2h P y b*F1^)A’L z

他對她說:人不是爲了一口氣活著,是爲了更多口氣活著。LU人的博客1C ] | Z T$V

他還說:你活得比他好,就是對他最大的報復。LU人的博客 ~ K t a+S k |

咦,好男人原來是一所好學校,嘿!

C语言杨辉三角的算法

#include 
main()
{
int a[10][10];
int i,j;
for(i=0;i<10;i++)
a[i][0]=1;
for(i=0,j=0;i<10,j<10;i++,j++)
a[i][j]=1;
for(i=2;i<10;i++)
for(j=1;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<10;i++)
{
for(j=0;j
		

关于十进制转十六进制的算法!

#include 
main()
{
char a[]="0123456789abcdef",b[50];
int n,i=0;
printf("请输入您要转换的数!n");
scanf("%d",&n);
while(n)
{
b[i++]=a[n%16]; //我最欣赏的一句
n=n/16;
}
for(n=i-1;n>=0;n–) //把N重新初始化
printf("%c",b[n]);
printf("n");
}