说说文件的关联

//========================================================================
//TITLE:
//    说说文件的关联
//AUTHOR:
//    norains
//DATE:
//    Saturday  13-October-2007
//Environment:
//        EVC4.0 + Windows CE 5.0 Standard SDK
//========================================================================

    在WinCE下设置未见关联是一件很容易简单的事情,但要将这件简单容易的事情单单用文字来描述却着实不简单.所以,还是老方法,直接上代码,然后注释讲解.
   
    下面这部分代码的意图是将.bmp和.gif这两种文件关联到一个名为imagefile键下,然后在imagefile键中定义了这两种图片在eplorer显示的图标以及双击时用何种程序打开.
   
  文章中出现的CReg类请参考该文章:http://blog.csdn.net/norains/archive/2007/06/20/1659925.aspx
   
  CReg reg;
    
  
//.bmp文件链接到imagefile键  
     reg.Create(HKEY_CLASSES_ROOT,TEXT(".bmp"));
    _tcscpy(szValue,TEXT(
"imagefile"));
    reg.SetSZ(NULL,szValue);
    reg.Reset();
    
    
//.gif文件链接到imagefile键 
    reg.Create(HKEY_CLASSES_ROOT,TEXT(".gif"));
    _tcscpy(szValue,TEXT(
"imagefile"));
    reg.SetSZ(NULL,szValue);
    reg.Reset();
    
    
//创建imagefile键
    reg.Create(HKEY_CLASSES_ROOT,TEXT("imagefile"));
    reg.SetSZ(NULL,TEXT(
"imagefile"));
    reg.Reset();

  
//设置explorer中显示的图标.该图标为UI.exe程序中序号为-183的ico.
    reg.Create(HKEY_CLASSES_ROOT,TEXT("imagefile/DefaultIcon"));
    _stprintf(szValue,TEXT(
"%s,-%d"),TEXT("UI.exe"),-183);
    reg.SetSZ(NULL,szValue);
    reg.Reset();

  
//设置imagefile文件打开的程序为imageeye.exe
    reg.Create(HKEY_CLASSES_ROOT,TEXT("imagefile/shell/open/command"));
    _tcscpy(szValue,TEXT(
"imageeye.exe"));
    _tcscat(szValue,TEXT(
" %1"));
    reg.SetSZ(NULL,szValue);
    reg.Reset();


    该代码创建的注册表结构如下(图一):
   
   
    以上代码是将两个文件归结到imagefile键,然后根据imagefile键值进行相应的操作.如果想.bmp和.gif分别采用不同的设置也同样简单,只要将DefaultIcon和command这两部分代码分别移到各自的键位下即可.
posted @ 2007-10-13 23:16  我的一天  阅读(193)  评论(0)    收藏  举报