当前位置:编程学习 > C#/ASP.NET >>

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> --------------------编程问答--------------------
引用 7 楼 rikie 的回复:
那就只能用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下有效,而且会警告吧。 --------------------编程问答--------------------
引用 4 楼 zhuyinshengNo1 的回复:
搞个按钮(添加快捷方式),直接下载一个跳转到原网站的页面,然后保存到桌面   这个可以不咯


这种方式应该是可以的 --------------------编程问答-------------------- 楼上的可以用,只能在ie下实现,    且会弹出警告 --------------------编程问答-------------------- WIN7下 可以把网页固定到任务栏上,下次点击直接就打开了 --------------------编程问答--------------------
引用 6 楼 Dydengyang 的回复:
这种可以采用文件下载方式来做,点击创建快捷方式按钮,然后通过httphander方式处理报文,弹出个下载框,将包含URL的快捷方式(应该叫文件更准确)下载到桌面上就OK了。 参考样例网址是http://www.qidian.com/Book/2739250.aspx


楼主说那种方式是不允许的哈,目前浏览器和操作系统交换的可以用Activex控件(这个控件没用好的话,会造成很大的安全问题)
--------------------编程问答-------------------- 换种思路,比如页面有个按钮是“生成左面快捷键方式”,点击它会下载一个html的文件,将其保存到桌面(web的东西,如果浏览器没有默认设定下载地址,这个保存地址应是个弹出对话框让你选择的),这个html的文件内容你自己可以编辑下,直接跳转到目标网址应该有N多中的代码写法 --------------------编程问答--------------------
引用 12 楼 await2013 的回复:
Quote: 引用 6 楼 Dydengyang 的回复:

这种可以采用文件下载方式来做,点击创建快捷方式按钮,然后通过httphander方式处理报文,弹出个下载框,将包含URL的快捷方式(应该叫文件更准确)下载到桌面上就OK了。 参考样例网址是http://www.qidian.com/Book/2739250.aspx


楼主说那种方式是不允许的哈,目前浏览器和操作系统交换的可以用Activex控件(这个控件没用好的话,会造成很大的安全问题)
--------------------编程问答-------------------- 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();
        }

--------------------编程问答--------------------
引用 5 楼 cownew 的回复:
基于安全考虑,是不可能有这样的功能的,否则这个世界就乱套了。除非有浏览器的漏洞可以利用,当然即使有漏洞估计也和用户端的浏览器版本、杀毒软件等有关系,没有通用性。
“本地都能添加”,注意是添加到了web服务器所在的操作系统。“发布到服务器就不可以了”,可以的,只是快捷方式创建到了服务器的桌面上,不信你去看看(如果看不到的话那估计就是IIS用户权限的问题了),难道.Net代码运行在服务器端的道理都不懂?这就是不懂原理的程序员的下场。

+1

就跟有人想在asp.net调用MessageBox一样啊 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 放在服务器里就不会有警告了。而且,你ASP.NET不是运行在IE里?

引用 8 楼 findcaiyzh 的回复:
Quote: 引用 7 楼 rikie 的回复:

那就只能用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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,