62,242
社区成员




Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.CreateNoWindow = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.UseShellExecute = false;
p.Start();
p.StandardInput.WriteLine("sc start service1");
p.StandardInput.WriteLine("exit");
p.WaitForExit();
p.StandardOutput.ReadToEnd();
<a href="">启动本地QQ</a>
你点击之后 要启动QQ
前提你是安装了QQ.
那么安装QQ的时候 他会自动写入注册表里
var rootName = "ZOpenClientFile";
var root = Registry.ClassesRoot;
root.CreateSubKey(rootName + "\\DefaultIcon");
root.CreateSubKey(rootName + "\\Shell");
root.CreateSubKey(rootName + "\\Shell\\Open");
root.CreateSubKey(rootName + "\\Shell\\Open\\Command");
var a = root.OpenSubKey(rootName, true);
a.SetValue("", "");
a.SetValue("URL Protocol", full);
var b = root.OpenSubKey(rootName + "\\DefaultIcon", true);
b.SetValue("", full);
var c = root.OpenSubKey(rootName + "\\Shell\\Open\\Command", true);
c.SetValue("", "\"" + full + "\"" + " %1");
root.Close();
正常我们的超链接都是这样的
http://
但是我们写到注册表里东西了.
所以我们使用ZOpenClientFile
比如
<a href="ZOpenClientFile://1">启动本地QQ</a>
那么就会自动打开注册表ZOpenClientFile对应的 full 的路径了..
当然了 会弹出一个提示.不过点击确定就OK了.
很多迅雷下载或者网页游戏带mini客户端 都是采用这种方式..
不信你看看迅雷下载地址 为什么会打开本地迅雷 一样的道理.