1、首先读取注册表中本地软件安装的位置,如果未安装则无就跳转到下载页面。

2、启动软件,关闭页面。

3、如报错提示。

<SCRIPT language=javascript>  
<!--   
function killErrors(){  
alert("请将您浏览器Internet选项中的“对没有标记为安全的ActiveX控件进行初始化和脚本运行”设置为“启用”!/n/n然后刷新本页登陆!");  
return true;}   
window.onerror = killErrors;  
var WshNetwork = new ActiveXObject("WScript.Network");  
ComputerName=WshNetwork.ComputerName+"/"+WshNetwork.UserName;  
alert(ComputerName);  
//读注册表中的计算机名 
var obj = new ActiveXObject("WScript.Shell"); 
var str="HKLM//System//CurrentControlSet//Control//ComputerName//ComputerName//ComputerName"; 
alert(obj.RegRead(str)); 
//写入启动项 
//str2="HKEY_CURRENT_USER//Software//Microsoft//Windows//CurrentVersion//Run//eip"; 
//obj.RegWrite(str2,"C://eip//eip.lnk","REG_SZ"); 
//alert(obj.RegRead(str2));

//禁用任务管理器1,否0 
str3="HKEY_CURRENT_USER//Software//Microsoft//Windows//CurrentVersion//Policies//System//DisableTaskMgr" 
obj.RegWrite(str3,"0","REG_DWORD"); 
alert(obj.RegRead(str3));//-->   
</SCRIPT>

var str1="HKEY_LOCAL_MACHINE\\SOFTWARE\\Notesystem1.0\\Location";

//alert(obj.RegRead(str1));

var link = "file:///"+obj.RegRead(str1)+"NoteSystemV1.0.exe";

link = link.replace(/\\/g,"/");

var regS = new RegExp(" ","gi");

link = link.replace(regS,"%20")

Run(link,'File');

替换第一个匹配的字符串,相信这个大家都已经很精通了。在这里就不举例子了。

1.替换所有要替换字符 零度科技

<script type="text/javascript">
var str = "$Hello World!$Hello World!$Hello World!";
//把所有的“Hello World!”替换为“Welcome you!”。“/g”是替换全部。
alert(str.replace(/Hello World!/g,"Welcome you!"));
</script>

2.替换所有要替换的特殊字符。

<script type="text/javascript">
var str = "$Hello World!$Hello World!$Hello World!";
//利用正则表达式把所有的“$”替换为“#”。“$”为特殊字符,所以前面要加“\\”。
var regS = new RegExp("\\$","g");
alert(str.replace(regS,"#"));
</script>
如下为简单示例:
<script language="javascript">
var strM = "javascript is a good script language";
//在此我想将字母a替换成字母A
alert(strM.replace("a","A"));
</script>
只能替换第一个“a”字母 
<script language="javascript">
var strM = "javascript is a good script language";
//在此将字母a全部替换成字母A
alert(strM.replace(/a/g,"A"));
</script>
可以替换所有“a”字母
javascript字符串替换所有要替换字符
javascript替换函数使用正则表达式
//将字母i全部替换成5
<script language="javascript">
var txt = "sjfisjfisdjfijsidfjioalfjewofjjgs";
alert(txt .replace(/i/g,"5"));
</script>
//只将第一个字母i替换成5
<script language="javascript">
var txt = "sjfisjfisdjfijsidfjioalfjewofjjgs";
alert(txt .replace("i","5"));
</script>
<script language="JavaScript">
<!--
var s = "testtest" ;

//第二个参数中的 g 表示全部匹配,i表示忽略大小写
var regS = new RegExp("test","gi");

alert(s.replace("test","Hello")); //只替换一个
alert(s.replace(regS,"Hello")); //全部替换
//-->
</script>

用javascript技术读取注册表中软件安装位置并启动本地软件的更多相关文章

  1. NSIS:在注册表中记录安装路径以便重装或升级时读取

    原文 NSIS:在注册表中记录安装路径以便重装或升级时读取 在NSIS中,这个功能是非常有用的,可以避免用户把程序安装到多个位置的尴尬. 第1步:在“安装目录选择页面”前面加入以下代码: 1 !def ...

  2. C#读取注册表中二进制类型的值(REG_BINARY)

    如需要读取注册表中某个键的值, 例如读取DriverDesc对应的值,一般情况下为String类型,读取代码如下: RegistryKey driverKey = Registry.LocalMach ...

  3. UAC在注册表中的对应位置

    UAC在注册表中的对应位置 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System 相关键值设置: U ...

  4. WinCE下读取注册表获得SD路径

    WinCE下读取注册表获得SD路径 [要点]WinCE注册表中[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory\] 下键Folde ...

  5. inno setup读取注册表遇到的一个坑

    一.背景 目前,公司针对PR开发的一个插件需要发布到64位系统上.该插件包括一个prm格式的文件和若干个DLL文件.其中,prm文件需要复制到PR公共插件目录下,DLL需要复制到Windows系统目录 ...

  6. C#读取注册表信息

    注册表是视窗系统的一个核心的数据库,在这个数据库中存放中与系统相关的各种参数,这些参数直接控制中系统的启动.硬件的驱动程序安装信息以及在视窗系统上运行的各种应用程序的注册信息等.这就意味着,如果注册表 ...

  7. java如何操作注册表(Preferences类)(在windows的注册表中保存、读取)

    我们经常需要将我们的程序运行中的一些信息(比如在选项对话框中的设置)记录下来,以做便再次运行的时候不用再重写填写这些数据.这对改善软件的人机可用性方面是很有用的.比如:数据库监控.日志工具,JDBMo ...

  8. JS 通过注册表调用启动本地软件

    (关键点:所有软件安装的注册表路径是不会变化的,这个注册表路径需沟通软件商家获取或者通过自己安装在注册表中查找得到) // 调用 注册表编辑类 方法 function run_jxpgj(){//进项 ...

  9. Java Windows下读取注册表的工具类

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

随机推荐

  1. 广州高清卫星地图 用百度卫星地图server下载 含标签、道路数据叠加 可商用

    广州高清卫星地图的地图展示图片各自是15级别.17级别.19级别的地图.一般来说17级别的地图图片就行用于商用.地图包包括一整张高级别的图片,如要全图浏览请用专业图片处理软件PS等打开. 一般来说互联 ...

  2. system返回值校验

    int xsystem(const char *cmd){    int err; err = system(cmd); if (err == -1) {    fprintf(stderr, &qu ...

  3. vb.net 鼠标控制

    Public Class Form1 Public Declare Sub mouse_event Lib "user32" Alias "mouse_event&quo ...

  4. UNIX网络编程学习笔记:值-结果(value-result)参数

    前言 当把套接口地址结构传递给套接口函数时,总是通过指针来传递的,即传递的是一个指向结构的指针.结构的长度也作为参数来传递,其传递的方式取决于结构的传递方向:从进程到内核,还是从内核到进程. 1.从进 ...

  5. 总想自己动动手系列·1·本地和外网(Liunx服务器上部署的web项目)按照自定义的报文格式进行交互(准备篇)

    一.准备工作 (1)有一台属于自己的云服务器,并成功部署和发布一个web项目(当然,本质上来说Java-Project也没问题),通过外网IP可以正常访问该web项目. 需要说明的是:任何web项目, ...

  6. Dynamic Proxy (动态代理模式)

    动态代理(运行期行为)主要有一个 Proxy类 和一个 InvocationHandler接口 动态代理角色: 1. 抽象主题角色 2. 真实主题角色(实现了抽象主题接口) 3. 动态代理主题角色(实 ...

  7. ionic 调用手机的打电话功能

    1.需求描述 在ionic项目用调用手机的打电话功能.开始还想找cordova和ng-cordova的插件那,现在H5实现起来特别方便. 2.准备 在cordova中所有的URL Schemes 都是 ...

  8. 一个字符串是否在另外一个字符串数组里 Array.Exists 的用法 Array.IndexOf 用法

    转: using System; class Program { static void Main() { string[] array = { "cat", "dot& ...

  9. [odroid-pc] ubuntu12.04 64bit Android4.0.3 源码编译报错及解决的方法

    第一个错误:         host Executable: cmu2nuance (out/host/linux-x86/obj/EXECUTABLES/cmu2nuance_intermedia ...

  10. Android系统示例分析之AndroidBeamDemo

    在这个示例工程中,只有一个Activity: public class Beam extends Activity implements CreateNdefMessageCallback,      ...