关于双击文件,用对应的软件打开的时候,软件是如何知道文件的路径的

我有个问题,我自己做了个软件,然后想双击一个特定文件的时候用这个软件打开,
但是我不是很清楚是如何实现的。
主要就是,我双击一个文件,比如是test.tak,然后默认用test.exe打开,我想知道test.exe是
怎么获取test.tak的文件路径的呢,

启动的时候,添加路径的参数

要在注册表中注册一个类型,比如扩展名 .tak , 用test.exe 打开
winrar 就是这样做的。