草稿箱里放了很久了,具体自己都不记得了,只是知道该怎么做。
可能除了我自己别人都看不懂,只能记给自己看了。
preface
原创,带有长期以来多次自己的各种摸索和探索,其中也一一揭示了知识的很多内容,如果按部就班完成而且步骤都理解了之后,应该会对Windows桌面程序的相关内容有一个本质的理解。
-----
background
1.有如图一个文件夹,做项目时公司的设计师会给我们很多的PSD文件和png文件,每个文件都有两个psd和png的各一份。于是文件夹就变成了这样。
2.文件太多,难以分辨,找得好烦,于是我写了一个exe文件,每次都toggle Hide/show psd文件。
3.我想必须得有一个exe文件,这多low啊。如果我能做成右键菜单的形式多好呢,是吧、
4.于是就开始了漫漫研究琢磨之路,多次尝试,多次不了了之。
----
演化步骤:
1.
1.1,怎样在Windows里各种情况下出现相应的右键菜单?
注册表
具体见另一篇博文。
1.2 怎样制作带有多个安装step的那种桌面程序安装包?
InstallShield Limited Edition for Visual Studio
1.3 InstallShield Limited Edition for Visual Studio要怎么安装?怎么激活?
****
1.4 InstallShield要怎么使用?各个项分别是做什么的?
******
1.5 做成的安装包怎样写写入注册表,以实现可以出现右键菜单的功能?
写入注册表
1.6 右键菜单确实出来了,我怎样使我点击菜单的这个项,就可以触发我写的程序?
*****
toggle/command
里面的(Default) E:/ddddddddd.exe
1.7 1.6里面是不是少了一些什么?
确实少了,少了很重要的东西,参数。 E:/ddddddddd.exe %1
1.8 我看懂了后面是软件执行的参数,那么,不同的信息,用什么参数来表示。?
%v. %1等。具体我暂时还不知道很多。
1.9 理解到这里,真的就这么完成了吗?
wocao,真的什么都完成了,全程走下来什么都懂了。
1.10 应该还有点什么延伸或者遗漏的吗?
当然有,比如关于InstallShield里面的environment variables(环境变量)的相关设置。
这个写好后应该注册表里面的value值就不用写死的了,写死显然是很愚蠢的。
1.10.2 C#里怎样读写注册表?然后根据注册表的配置内容,程序执行不同的操作
这个。。。 其实只要如何读写注册表即可。
实例代码如下:
//RegistryKey subKey = Registry.LocalMachine.OpenSubKey(@"HKEY_CLASSES_ROOT\Directory\Background\shell\TogglePSD");