wince中文件关联的问题

来源:互联网 发布:网络专业就业前景 编辑:程序博客网 时间:2024/06/14 06:37

Platform Builder for Microsoft Windows CE 5.0

1、通常情况下,点击一个mp3文件,会自动地调用Mediaplayer播放。

  如果需要,我们也可以实现当点击一个特定格式的文件时,调用我们自己的程序来处理。

  先对注册表进行一些处理。

  比如我们要把后缀名为.dat的文件进行关联。首先在HKEY_CLASSES_ROOT下建一子目录.dat,Name为Default,Data为datfile。接着还是在HKEY_CLASSES_ROOT下建一子目录datfile,datfile下建两个子目录:DefaultIcon和Shell,如果对文件显示图标没有要求,DefaultIcon采用默认值,Shell往下再建Open目录,Open往下再建Command目录,在这里来指定文件关联到哪个程序,如"Program Filestest.exe" "%1",注意,必须要加上引号。

  注册表的改动告一段落。

  现在我们点击.dat文件,就可以把关联的程序激活了。

  但是,程序如何知道关联哪个文件呢?GetCommandLine()这个函数将会返回文件的路径。值得注意的是,每次点击.dat文件,都会激活一个新的程序实例。也就是说GetCommandLine()只是在mian入口处起作用。所以当一个程序实例A已经激活时,此时若点击.dat文件,如何使A得到文件路径呢?相信大家会想出各种聪明的方法来实现。

2、
Registering a File Filter
里面有详细的说明怎么加一个file filter

基本上修改注册表就可以了,如
[HKEY_CLASSES_ROOT/.bmp]
@="bmpimage"
"Content Type"="image/bmp"

[HKEY_CLASSES_ROOT/bmpfile]
@="BMP 图像 "

[HKEY_CLASSES_ROOT/bmpfile/CLSID]
@="{25336920-03F9-11cf-8FD0-00AA00686F13}"

[HKEY_CLASSES_ROOT/bmpimage]
@="BMP 图像 "

[HKEY_CLASSES_ROOT/bmpimage/DefaultIcon]
@="iexplore.exe,-1005"

[HKEY_CLASSES_ROOT/bmpimage/Shell]

[HKEY_CLASSES_ROOT/bmpimage/Shell/Open]

[HKEY_CLASSES_ROOT/bmpimage/Shell/Open/Command]
@="iexplore.exe file:%1"

 

下面是WMV文件与Windows Media Player 的文件关联:

; ---------------------------------------------------------------------------
; Windows Media Player helper/sample registry settings
;----------------------------------------------------------------------------
; @CESYSGEN IF DIRECTX_MODULES_CEPLAYER

[HKEY_CLASSES_ROOT/videofile/shell/open/command]
@="ceplayer.exe %1"

[HKEY_CLASSES_ROOT/videofile/DefaultIcon]
@="ceplayer.exe,-211"

[HKEY_CLASSES_ROOT/videofile]
@="Video File"
;"EditFlags"=hex:00,00,01,00

 

下面是WMV文件与TMPCP播放器的文件关联:

; ---------------------------------------------------------------------------
; TCPMP registry settings
;----------------------------------------------------------------------------
; @CESYSGEN IF DIRECTX_MODULES_CEPLAYER

[HKEY_CLASSES_ROOT/videofile/shell/open/command]
"TCPMP.bak"=""
"Default"="
//ResidentFlash//TCPMP//PLAYER.EXE/"%1/""

[HKEY_CLASSES_ROOT/videofile/DefaultIcon]
"TCPMP.bak"=""
"Default"="
//ResidentFlash//TCPMP//PLAYER.EXE, -1000"

[HKEY_CLASSES_ROOT/videofile]
@="Video File"
;"EditFlags"=hex:00,00,01,00

原创粉丝点击