program.exe file1 file2 ... file10000
не будет работать.
У Windows есть странное ограничение длины параметров командной строки. Это что-то между 32683 и 32853 символами. Есть ли другой способ передачи параметров?
program.exe file1 file2 ... file10000
не будет работать.
У Windows есть странное ограничение длины параметров командной строки. Это что-то между 32683 и 32853 символами. Есть ли другой способ передачи параметров?
Наиболее практичным решением является заставить вашего поставщика исправить программу.
В противном случае можно (хотя и не просто) перехватить функцию GetCommandLine, чтобы она возвращала строку произвольной длины, хотя это может привести к аварийному завершению программы в зависимости от того, как она обрабатывает командную строку.
Q: "Есть ли другой способ передачи параметров"
A: Да, передайте один файл конфигурации. Пусть ваша программа прочитает конфигурационный файл, чтобы получить все параметры.
Например:
========= Start of "C:\MyConfigFile.txt" =========
file1
file2
...
file10000
=================== End of File ==================
Ваша команда:
program.exe "C:\MyConfigFile.txt"