У меня небольшое приложение WPF, которое принимает пути к файлам в качестве аргументов командной строки.
Если пользователь перетаскивает слишком много файлов с длинными путями, оно превысит максимальную длину командной строки, по крайней мере, на 32-bit WinXP.
В результате появляется окно с сообщением:
Windows не может получить доступ к указанному устройству, пути или файлу.У вас могут отсутствовать соответствующие разрешения для доступа к элементу.
Это похоже на ошибку
Имя файла или расширение слишком длинное.
В этих случаях кажется, что процесс никогда не запускается.
Я думал, что перетаскиваемые файлы фактически просто передают свои пути в виде строк, но эти ошибки указывают на обратное, и что некоторая частьOS / shell / framework выполняет какую-то проверку, основанную на том факте, что это пути к файлам / каталогам, и когда это не удается, процесс не запускается.
Кто-нибудь знает, что происходит между временем этой команды?строковые аргументы передаются в .NET .exe и когда этот .exe запускается, если вообще?