易截截图软件、单文件、免安装、纯绿色、仅160KB

C#实现文件关联

和其他语言一样,C#实现文件关联同样需要直接操作注册表,即按规则分别设置文件扩展名,文档类型说明,友好名称,图标,调用方法等键值即可,网上随便查查就可以写出以下的代码。 using Microsoft.Win32; RegistryKey key = Registry.ClassesRoot.OpenSubKey(".jb");
if (key == null)
{
    key = Registry.ClassesRoot.CreateSubKey(".jb");
    key.SetValue("", "Jeebook.Reader.jb");
    key.SetValue("Content Type", "application/jb");     key = Registry.ClassesRoot.CreateSubKey("Jeebook.Reader.jb");
    key.SetValue("", "Jeebook Document");     RegistryKey keySub = key.CreateSubKey("DefaultIcon");
    keySub.SetValue("", System.Windows.Forms.Application.StartupPath + "Jeebook.ico");
    keySub = key.CreateSubKey("shell\\open\\command");
    keySub.SetValue("", "\"" + System.Windows.Forms.Application.ExecutablePath + "\" \"%1\"");
} 相对来说,C#实现比较麻烦的是图标路径,一般文件类型注册的都是执行文件的资源,格式如下: 格式:,   // 资源ID为正数,表示资源的索引号,否则为资源ID 在C++中很容易获取资源ID,但C#中还没搞清楚如何取道资源的ID,所以索性在程序执行目录下附带一个图标文件用于注册,这样倒也方便随时修改:) 此外,就是如何验证图标是否设置正确。现在的系统超爱缓存,除非LOG OFF级别的操作,否则手工修改注册表很难马上响应,当然通过程序调用应该刷新系统状态,这个下次有时间再研究吧 如果只是用于XP以下的程序,以上的代码就已经足够了。可惜的是,Vista以后引入了UAC,上面的代码在UAC下会弹出异常,这肯定不是我们希望的。 一种解决方法是通过创建一个Mainifest文件,添加以下脚本:








这样程序图标上会出现一个小盾牌,表示该程序需要在管理员模式下运行,每次运行都会自动弹出UAC的验证窗口。但这个对某些只是需要书写一次注册表的程序来说,每次都弹出提示是无法忍受的,那么如何能够通过代码弹出UAC验证窗口呢?


相关文档:

c# enmu 枚举小结(1)

 
枚举
  枚举类型声明为一组相关的符号常数定义了一个类型名称。枚举用于“多项选择”场合,就是程序运行时从编译时已经设定的固定数目的“选择”中做出决定。
  枚举类型(也称为枚举)为定义一组可以赋给变量的命名整数常量提供了一种有效的方法。例如,假设您必须定义一个变量,该变量 ......

c#实现下载代码收集

//TransmitFile实现下载
    protected void Button1_Click(object sender, EventArgs e)
    {
        /*
        微软为Response对象提供了一个新的方法TransmitFile来解决使用Respo ......

C#画线控件的开发应用实例解析

C#画线控件的应用实例介绍之前我们要明白在C#中没有画线的控件,这里写了一个,大家分享。共有两个控件分别是画横线和画竖线的,关于怎么画斜线有兴趣的可以做一个大家分享。
    C#画线控件之横线
using System;  
using System.Collections;  
using System.ComponentModel; ......

使用C#正则表达式匹配相关字符串

C#正则表达式匹配字符串的方法如下:
1.使用C#中使用正则表达式System.Text.RegularExpressions命名空间;
2.使用C#中使用正则表达式Matches()方法匹配字符串,格式如下:
MatchCollection Matches = Regex.Matches(Str, Pattern, RegexOptions.IgnoreCase | RegexOptions.ExplicitC ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号