众所周知,程序中可用ParamCount获得参数数目并可用ParamStr()函数获得参数,但我遇到一个问题用此办法无法解决,现象如下:
首先建立文件类型关联,然后在文件浏览器中选中一批文件双击,结果每个文件都调用一次被关联的程序,所以说程序中获得的参数总是一个,而不是这一批文件,但我要求选中这一批文件只调用程序一次,也就是说要把这一批文件名做为参数传递给被调用的程序,如何才能做到这样呢?求各位高人指点!
首先建立文件类型关联,然后在文件浏览器中选中一批文件双击,结果每个文件都调用一次被关联的程序,所以说程序中获得的参数总是一个,而不是这一批文件,但我要求选中这一批文件只调用程序一次,也就是说要把这一批文件名做为参数传递给被调用的程序,如何才能做到这样呢?求各位高人指点!
我的程序是单实例的。如多次运行主程序,始终只有一个实例;多次双击所关联的文件类型中的任一文件也只有一个实例在运行;但是如果双击所关联的文件类型中的已经选中的多个文件,将会同时打开多个实例。至于是单实例还是多实例并不重要,重要的是不管用什么手段,在程序中要获取被关联的文件(有可能是一个或者多个)的名字。微软处理这种情况似乎是用DLL。也就是当同时选中多个文件,这时调用的不是主程序,而是一个DLL。由这个DLLL来处理这批参数并最后调用主程序向主程序传递这批参数来完成。我不想加DLL,想用一个主程序搞定,所以期待高手帮我解决此问题
给你一个思路:
打开多个文件,把打开的多个文件名保存成一个临时的txt文件。参数就传这个临时文件名,剩下的你自已知道如何处理吧。