通常情况下,点击一个mp3文件,会自动地调用Mediaplayer播放。
如果需要,我们也可以实现当点击一个特定格式的文件时,调用我们自己的程序来处理。
先对注册表进行一些处理。
比如我们要把后缀名为.dat的文件进行关联。首先在HKEY_CLASSES_ROOT下建一子目录.dat,Name为Default,Data为datfile。接着还是在HKEY_CLASSES_ROOT下建一子目录datfile,datfile下建两个子目录:DefaultIcon和Shell,如果对文件显示图标没有要求,DefaultIcon采用默认值,Shell往下再建Open目录,Open往下再建Command目录,在这里来指定文件关联到哪个程序,如"/Program Files/test.exe" "%1",注意,必须要加上引号。
注册表的改动告一段落。
现在我们点击.dat文件,就可以把关联的程序激活了。
但是,程序如何知道关联哪个文件呢?GetCommandLine()这个函数将会返回文件的路径。值得注意的是,每次点击.dat文件,都会激活一个新的程序实例。也就是说GetCommandLine()只是在mian入口处起作用。所以当一个程序实例A已经激活时,此时若点击.dat文件,如何使A得到文件路径呢?相信大家会想出各种聪明的方法来实现。