asp.net 网页怎么添加快捷方式到桌面
--------------------编程问答-------------------- 什么东西啊 收藏夹? --------------------编程问答-------------------- 电脑中毒后桌面会有, --------------------编程问答-------------------- 你这个恐怕实现不了,通过web操作客户端电脑是件很可怕的事情! --------------------编程问答-------------------- 搞个按钮(添加快捷方式),直接下载一个跳转到原网站的页面,然后保存到桌面 这个可以不咯 --------------------编程问答-------------------- 基于安全考虑,是不可能有这样的功能的,否则这个世界就乱套了。除非有浏览器的漏洞可以利用,当然即使有漏洞估计也和用户端的浏览器版本、杀毒软件等有关系,没有通用性。“本地都能添加”,注意是添加到了web服务器所在的操作系统。“发布到服务器就不可以了”,可以的,只是快捷方式创建到了服务器的桌面上,不信你去看看(如果看不到的话那估计就是IIS用户权限的问题了),难道.Net代码运行在服务器端的道理都不懂?这就是不懂原理的程序员的下场。 --------------------编程问答-------------------- 这种可以采用文件下载方式来做,点击创建快捷方式按钮,然后通过httphander方式处理报文,弹出个下载框,将包含URL的快捷方式(应该叫文件更准确)下载到桌面上就OK了。 参考样例网址是http://www.qidian.com/Book/2739250.aspx
楼主说那种方式是不允许的哈,目前浏览器和操作系统交换的可以用Activex控件(这个控件没用好的话,会造成很大的安全问题) --------------------编程问答-------------------- 那就只能用JS生成了。
<input type="button" value="添加百度到桌面" onclick="addShortcut()" />
<script language="Javascript">
function addShortcut(){
var WshShell = new ActiveXObject("WScript.Shell");
strDesktop = WshShell.SpecialFolders("Desktop");
var oUrlLink = WshShell.CreateShortcut(strDesktop + "\\百度.url");
oUrlLink.TargetPath = "http://www.baidu.com";
oUrlLink.Save();
}
</script> --------------------编程问答--------------------
这种只能在IE下有效,而且会警告吧。 --------------------编程问答--------------------
这种方式应该是可以的 --------------------编程问答-------------------- 楼上的可以用,只能在ie下实现, 且会弹出警告 --------------------编程问答-------------------- WIN7下 可以把网页固定到任务栏上,下次点击直接就打开了 --------------------编程问答-------------------- --------------------编程问答-------------------- 换种思路,比如页面有个按钮是“生成左面快捷键方式”,点击它会下载一个html的文件,将其保存到桌面(web的东西,如果浏览器没有默认设定下载地址,这个保存地址应是个弹出对话框让你选择的),这个html的文件内容你自己可以编辑下,直接跳转到目标网址应该有N多中的代码写法 --------------------编程问答-------------------- --------------------编程问答-------------------- Insus.NET叫企业用户常使用的方法,不知是否符合你的要求,由于Insus.NET开发了很多企业内网应用程序(B/S),
用户不太喜欢收藏夹的功能,反而喜欢快捷方法,因此,Insus.NET教他们使用创建文件的快捷方法一样来创建。
下面是Insus.NET列举一个例子给你参考:
--------------------编程问答-------------------- 建个页,然后创建链接按钮或者其它直接调用新建的那个页,页的page_load里写下如下代码
--------------------编程问答--------------------
protected void Page_Load(object sender, EventArgs e)
{
string FileName = Request.Browser.Browser == "IE" ? HttpUtility.UrlEncode("我的web地址.url", System.Text.Encoding.UTF8) : HttpUtility.HtmlEncode("我的web地址.url");
string testStr = "[{000214A0-0000-0000-C000-000000000046}] \n\r Prop3=19,2 \n\r [InternetShortcut] \n\r URL=http://" + Request.Url.Authority + " \n\r";
byte[] byteArry = new byte[0];
Response.Charset = "utf-8";
byteArry = System.Text.Encoding.Default.GetBytes(testStr);
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + FileName);
Response.BinaryWrite(byteArry);
Response.Flush();
Response.End();
}
基于安全考虑,是不可能有这样的功能的,否则这个世界就乱套了。除非有浏览器的漏洞可以利用,当然即使有漏洞估计也和用户端的浏览器版本、杀毒软件等有关系,没有通用性。
“本地都能添加”,注意是添加到了web服务器所在的操作系统。“发布到服务器就不可以了”,可以的,只是快捷方式创建到了服务器的桌面上,不信你去看看(如果看不到的话那估计就是IIS用户权限的问题了),难道.Net代码运行在服务器端的道理都不懂?这就是不懂原理的程序员的下场。
+1
就跟有人想在asp.net调用MessageBox一样啊 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 放在服务器里就不会有警告了。而且,你ASP.NET不是运行在IE里?
那就只能用JS生成了。
<input type="button" value="添加百度到桌面" onclick="addShortcut()" />
<script language="Javascript">
function addShortcut(){
var WshShell = new ActiveXObject("WScript.Shell");
strDesktop = WshShell.SpecialFolders("Desktop");
var oUrlLink = WshShell.CreateShortcut(strDesktop + "\\百度.url");
oUrlLink.TargetPath = "http://www.baidu.com";
oUrlLink.Save();
}
</script>
这种只能在IE下有效,而且会警告吧。
补充:.NET技术 , ASP.NET