Моя программа принимает имена входных файлов либо как параметры командной строки, либо в операции перетаскивания, либо в проводнике, щелкая имена файлов с расширением, связанным с моей программой.
Командная строка и перетаскивание работают нормально, но щелчок по именам файлов в проводнике вызывает проблемы, когда в путях к файлам, по которым был выполнен щелчок, есть пробелы, например:
c:\temp\file one.txt
c:\my directory\filetwo.txt
c:\my directory\file three.txt
тогда функция ParamStr дает мне назад:
Я установил расширение файла в реестре для моей программы , как того требует Windows .
В реестре в разделе shell / open / command у меня есть:
"C:\MyProgramPath\MyProgram.exe" "%1"
У меня это отлично работает. Когда кто-то щелкает один или несколько файлов, связанных с моим приложением, мое приложение правильно открывает файл (ы), но каждый из них открывается в отдельном экземпляре программы.
Есть ли способ сделать это и открыть все файлы в один экземпляр программы?