您的位置:首页 > 其它

wince中文件关联的问题

2011-06-03 13:38 176 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: