我一直认为用一个“活动桌面”html页面替换普通的Windows桌面图标,该页面可以启动我的程序,以及通过链接打开目录和文件。这将是一种非常酷的自定义桌面的方式。
使用“file://”protocal是我的第一种方法,但这不能正常工作。在another SO Post我找到this link,但它有点过头了。这是正确的方法吗?
我无法想象我是第一个考虑这个的人;这似乎是个好主意(不是吗?)。你们都在想什么?
答案 0 :(得分:2)
我喜欢桌面自定义的活动桌面的想法。你可以做的是注册你自己的架构
添加注册表项。 这是我合作的第一个例子。
将此项添加到.reg文件并导入到注册表中。
更改“myschema”以及可执行文件的位置以满足您的需求
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\myschema]
@="URL:My Schema Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\myschema\DefaultIcon]
@="C:\\Program Files\\MySchemaProgram\\MySchema.exe,1"
[HKEY_CLASSES_ROOT\myschema\shell]
[HKEY_CLASSES_ROOT\myschema\shell\open]
[HKEY_CLASSES_ROOT\myschema\shell\open\command]
@="\"C:\\Program Files\\MySchemaProgram\\MySchema.exe\" \"%1\""
现在,如果你创建一个超链接
<a href="myschema://Whatever+i+want" >Click Here</a>
您的计算机将在命令行中使用href打开MySchema应用程序。
请注意,因为Ervironment.CommandLine将因此被UTF解码
//This Link
<a href="myschema://Something%20Here">Click Here</a>
//Will Result in This Command Line Execution.
"C:\Program Files\MySchemaProgram\MySchema.exe" myschema://Something Here
您也可以在ShellExecute命令和Run Dialog中使用此模式。
这是我以前开始使用的示例程序。你应该能够很快得到这个想法
using System;
using System.Collections.Generic;
using System.Text;
namespace Alert
{
class Program
{
static string ProcessInput(string s)
{
// TODO Verify and validate the input
// string as appropriate for your application.
return s;
}
static void Main(string[] args)
{
Console.WriteLine("Alert.exe invoked with the following parameters.\r\n");
Console.WriteLine("Raw command-line: \n\t" + Environment.CommandLine);
Console.WriteLine("\n\nArguments:\n");
foreach (string s in args)
{
Console.WriteLine("\t" + ProcessInput(s));
}
Console.WriteLine("\nPress any key to continue...");
Console.ReadKey();
}
}
}
祝您的申请顺利。我很想在它完成时看到它。
编辑:我正在为此添加一些匹配的字符串,因为它是一个很酷的功能,更多的人可能想要将这种技术用于他们想要做的事情。这些是我寻找的东西它下面,(不成功)让我知道是否有人再想。
自定义网址/ uri处理程序
自定义架构程序<br/>
注册局网址程序
处理网站链接
从网址启动应用
答案 1 :(得分:1)
我已经调查过你曾经问过的一些问题,但从来没有找到任何效果很好的东西。
最终如果目标是完全自定义您的桌面,我认为您可以通过研究类似的结果获得类似的结果:http://rainmeter.net/RainCMS/和http://kaelri.deviantart.com/art/Enigma-103823591 Lifehacker有很多关于如何获得的链接/教程一切都在运行。在桌面上使用HTML时,我能够运行远远超出我目标的桌面。
答案 2 :(得分:1)
我得到一些非常有趣的结果的一种方式(虽然我已经多年没试过但现在无法确认它仍适用于现代操作系统和现代闪存播放器)是使用运行a的活动桌面页面flash swf文件包含我创建的用户界面(当时我使用它)可以从swf中启动程序。
答案 3 :(得分:1)
我在网吧中运行了一个设置,每个桌面都通过运行Flash应用程序的活动桌面进行控制。使用python编写的迷你网络服务器处理启动和关闭操作。操作系统是XP。
我的经验是Active Desktop不可靠。它会严重泄漏内存并经常崩溃。他们可能已经在以后的版本中修复了它,但由于几乎没有使用它,我怀疑已经付出了很多努力来修复它明显的瑕疵。