右键单击任何一个文件,弹出莱单<用XXX打开...>,此文件名返回到COMMAND()函数。
但,当选多个文件时,VB的COMMAND()函数返回的命令行参数只能有一个文件!
什么方法可以连续获得多个选择的文件内容?是COMMAND()的问题还是注册表写入的位置不对?
我写入的是HKEY_CALSSES_BOOT\*\SHELL\下,恳请指教!
UP有¥ 

解决方案 »

  1.   

    这不是你的问题,也不是注册表写入的不对,而是系统的规则。
    当多选文件并打开时,系统会对每个选定的文件分别用关联程序打开一次。基于这个特点,若你不想启动多个实例,可用以下办法:
    让自己程序可以互相传递信息,当已有一个实例在运行时,便向它传递一下自己收到的COMMAND,退出,前一实例收到后打开。
      

  2.   

    WINRAR、所有的杀毒软件等,不都可以这样吗。
    相信一定有方法的
      

  3.   

    以前做了这程序,但是现在代码不在了,我记得具体的使用就是在窗体启动前的SUB里先找看这个程序是否启动过,如果启动过的话,就把当前程序接收到的COMMAND发送到启动的程序里边。然后退出这样就能保证在一次拖多个文件的时候,只启动一个EXE了,而且所有的文件都接收到了
      

  4.   

    其实是可以用2中方法实现的一个是修改注册表,注册表的修改是不要指定为你的EXE %1而是指定一个类自己单独的做一个类,这个类就是接受所有的文件名 在注册表加菜单 和自动注册的功能....