Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2016, 21:09   #11
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
А вот проводник всё находит и открывает
Это в какой ОС? У меня в WIndows XP файлы с длинными целевыми именами (путями) не получалось открывать, хотя путь можно было сократить, конечно, и тогда всё шло хорошо.
Вадим Мошев вне форума Ответить с цитированием
Старый 24.03.2016, 23:12   #12
12345qwerty12345
Пользователь
 
Регистрация: 19.03.2016
Сообщений: 77
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Как связана служба активации винды и ваш вопрос про длину пути? Если не нравится ограничания юзайте, не нравившиеся вам, пути с \\?\
это я у вас хотел спросить. имеет ли хоть один из ее субкомпонентов (в частности "интерфейсы API настройки") отношение к самодельным изменениям в Win API (в частности к изменениям в файловом обработчике который совершает операции создания, копирования и перемещения с файлами) ?
по поводоу этой службы в сети очень мало информации. это все что мне удалось найти в сети (см. приложение)
Вложения
Тип файла: zip СЛУЖБА АКТИВАЦИИ ПРОЦЕССОВ WINDOWS.zip (816.8 Кб, 8 просмотров)
12345qwerty12345 вне форума Ответить с цитированием
Старый 24.03.2016, 23:30   #13
12345qwerty12345
Пользователь
 
Регистрация: 19.03.2016
Сообщений: 77
По умолчанию

Цитата:
Сообщение от f.hump Посмотреть сообщение
что я делал не так?
судя по вашему скриншоту у вас получился абсолютный путь 592 символа и символьный 576 символов (без слэшей). теперь пожалуйста по подробнее :
1) каким образом вам это удалось ?
2) это максимальный предел который у вас получился или можете создавать еще больше ?
3) на каком диске это вышло - на системном или логическом ?
4) удалось ли вам в конечной папке этого каталога создать какой-нибудь файл и потом скопировать или переместить его в другой каталог на этом же локальном диске и в другой каталог на другом локальном диске ?

попробовал создать такую же папку "Temp" c вложенными подпапками с символами "{}" в каждой, вышло еще меньше чем было - срезало на 234 символах (см. скриншот).
Изображения
Тип файла: jpg СКРИНШОТ.jpg (104.4 Кб, 130 просмотров)
12345qwerty12345 вне форума Ответить с цитированием
Старый 24.03.2016, 23:44   #14
12345qwerty12345
Пользователь
 
Регистрация: 19.03.2016
Сообщений: 77
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Не юзаете проводник от вин 3.1...
я уже писал по поводу таких предложений в начале темы, повторяться не буду.
по поводу файловых менеджеров : не во всех файловых менеджерах можно использовать контекстное меню и распаковывать образы ISO через WinRAR или WinZIP или AnyToISO, распаковывать EXE и MSI установщики через 7-ZIP. из всех файловых менеджеров c интерфейсом максимально приближенным к проводнику которые я пробовал только в "Directory Opus" можно использовать контекстное меню и соответственно все установленные в нем программы с полным функционалом, но он все равно точно так же срезает путь (несмотря но то чтно он кроссплатформенный).

По поводу cmd я повторяться тоже не буду - там вообще о контекстном меню и речи быть не может.

Но проблема в том что срезка идет не только при создании новых папок с длинными именами или их копировании и перемещении. В уже созданных папках с программами вписавшився в лимит по длине невозможно в полном объеме распаковать образы ISO через WinRAR или WinZIP или AnyToISO и распаковать EXE и MSI установщики через 7-ZIP для их последующей проверки на вирусы. Только активированные версии WinRAR, WinZIP и AnyToISO выдают предупреждение о невлязящих по длине файлах а неактивированные без всяких предупреждений тупо по умолчанию срезают эти файлы. В безплатном 7-ZIP вообще никаких предупреждений по длине нет (и быть не может так как он безплатный) и тоже без всяких предупреждений тупо по умолчанию срезает эти файлы с еще незасеченными троянами. А на архиваторных разпаковках как вы сами понимаете путь укоротить можно только если выбрать местом распаковки корневую папку диска, но после проверки на вирусы в папку с исходным ISO, EXE или MSI ее уже не переместиш из-за длины.

Последний раз редактировалось 12345qwerty12345; 25.03.2016 в 01:56.
12345qwerty12345 вне форума Ответить с цитированием
Старый 24.03.2016, 23:53   #15
12345qwerty12345
Пользователь
 
Регистрация: 19.03.2016
Сообщений: 77
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
В Windows API таких проблем нет.
"Проводник" != "Windows API", то, что проводник чего-то не умеет это не значит, что опреационка этого не может.

Далее, в вашем конкретном случае, раз вам обязательно нужно использовать проводник то ваше единственное решение это писать плагин для проводника, правда и это не совсем поможет но может обойти проблему, укорачивая пути на уровне проводника.
писать проги я не умею. для этого я и обратился на этом форум к программистам. если можете создать такой плагин к проводнику либо модуль к WinAPI (который реально будет решать проблему !) тогда жду предложения в личный кабинет. так как в Windows закрытый программный код то внести самодельные изменения в файловый обработчик в API (переклепать его с UTF-8 на UTF-16) наверное врядли удастся. поэтому я и спрашивал по поводу "службы активации" и ее субкомпонентов...
12345qwerty12345 вне форума Ответить с цитированием
Старый 25.03.2016, 00:16   #16
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

ничего умного не делал, просто папки создавал. вот это максимум который разрешила моя винда.
в последнюю папку копируются файлы с именем короче 14 символов.
Изображения
Тип файла: png folders.png (33.5 Кб, 188 просмотров)

Последний раз редактировалось f.hump; 25.03.2016 в 00:20.
f.hump вне форума Ответить с цитированием
Старый 25.03.2016, 00:22   #17
12345qwerty12345
Пользователь
 
Регистрация: 19.03.2016
Сообщений: 77
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Если не нравится ограничания юзайте, не нравившиеся вам, пути с \\?\
По поводу cmd с подстановкой префиксов "\\?\" и "\\.\" а также суффикса ".\" - это уже вершина садомазохизма. В коммандной строке не пробовал и пробовать не собираюсь. Выкладывать за все их лицензионные операционки Windows 7 от 150 до 330 баксов за штуку (в зависимости от версии) и при этом еще и использовать коммандную строку со вставкой различных спецсимволов и комманд по совету производителя этой ос на его же оффсайте только для того что бы совершать такие элементарные функции как "создание", "копирование", "перемещение" в графической операционной системе в 2016 году - это вообще вершина идиотизма. Ладно если бы эта проблема была только в безплатом Linux и ему подобными я бы это еще понял, но в коммерческой операционке при таком колличестве жалоб на эту проблему это сильно удивляет. Сколько раз я им писал на их офсайт но так ни разу ни одного ответа и не пришло. Там теперь и написать претензию написать большая проблема - такой дерьмосайт склепали что попробуй найди e-mail и "обратную связь". И сколько сотен тысяч писем со всего мира за всю историю существования интернета и электронной почты c просьбой решить эту проблему путем переклепки своего API было написано на их офсайт. И вместо этого они дают такие вот советы в службе поддержки своего офсайта продолжая дальше клепать свои новые операционки с тем же API с точно таким же ограничением. С точки зрения маркетинга это вообще непонятно - лишняя потеря клиентов и объемов продаж. При желании эти изменения можно было сделать еще в Windows XP в 2002 году, но я так понял мелкомягкие такого желания не изъявляют, продолжая брать такие деньги непонятно за что и игнорируя безконечные жалобы пользователей со всего мира уже второй десяток лет.

По поводу подстановки префиксов "\\?\" и "\\.\" в графическом интерфейсе через панель "управление компьютером" - результат тот же самый 243 символа максимум (см.вложения).

По поводу подстановки суффикса ".\" в концы названий папок и файлов то в графическом интерфейсе это вообще физически не возможно так как эти символы зарезервированы и системой не воспринимаются, только в CMD.
Изображения
Тип файла: jpg 1.jpg (98.1 Кб, 130 просмотров)
Тип файла: jpg 2.jpg (96.6 Кб, 125 просмотров)
Тип файла: jpg 3.jpg (83.9 Кб, 131 просмотров)
Тип файла: jpg 4.jpg (84.0 Кб, 127 просмотров)

Последний раз редактировалось 12345qwerty12345; 25.03.2016 в 01:27.
12345qwerty12345 вне форума Ответить с цитированием
Старый 25.03.2016, 00:49   #18
12345qwerty12345
Пользователь
 
Регистрация: 19.03.2016
Сообщений: 77
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Это в какой ОС? У меня в WIndows XP файлы с длинными целевыми именами (путями) не получалось открывать, хотя путь можно было сократить, конечно, и тогда всё шло хорошо.
В Windows 7 Ultimate. Эта проблема существует во всех операционных системах Microsoft начиная от Windows 95 и заканчивая Windows 10.
Можете на брать на яндексе или гугле запрос "ограничение длины пути к файлу или папке" или "ограничение на длину пути к файлу или папке" или "MAX_PATH" и найдете много писулек на эту тему по всему интернету (и русскоязычному и англоязычному) за все годы. Но решения этой проблемы нет до сих пор и Microsoft исправлять ее упорно не желает.

Последний раз редактировалось 12345qwerty12345; 25.03.2016 в 12:40.
12345qwerty12345 вне форума Ответить с цитированием
Старый 25.03.2016, 02:24   #19
12345qwerty12345
Пользователь
 
Регистрация: 19.03.2016
Сообщений: 77
По умолчанию

Вот еще немного информации, может кому-то будет полезна для решения этой проблемы (см. приложения)

P.S. Ограничения на размер и параметры вложений в вашем форуме меня удивляют еще больше чем ограничения WinAPI.
Вложения
Тип файла: zip UTF-8.zip (331.0 Кб, 8 просмотров)
Тип файла: zip UTF-16.zip (220.7 Кб, 7 просмотров)
Тип файла: zip UTF-32.zip (127.5 Кб, 7 просмотров)
Тип файла: zip ИМЯ ФАЙЛА.zip (213.2 Кб, 9 просмотров)
Тип файла: zip СИМВОЛЬНЫЙ ТИП ДАННЫХ.zip (138.2 Кб, 10 просмотров)
Тип файла: zip СТРОКОВЫЙ ТИП ДАННЫХ.zip (231.9 Кб, 7 просмотров)
Тип файла: zip ЮНИКОД В ОС СЕМЕЙСТВА WINDOWS.zip (199.6 Кб, 10 просмотров)
Тип файла: zip ЮНИКОД.zip (677.6 Кб, 9 просмотров)

Последний раз редактировалось 12345qwerty12345; 25.03.2016 в 03:37.
12345qwerty12345 вне форума Ответить с цитированием
Старый 25.03.2016, 03:45   #20
12345qwerty12345
Пользователь
 
Регистрация: 19.03.2016
Сообщений: 77
По умолчанию

Цитата:
Сообщение от f.hump Посмотреть сообщение
ничего умного не делал, просто папки создавал. вот это максимум который разрешила моя винда.
в последнюю папку копируются файлы с именем короче 14 символов.
Какая именно у вас винда ?
Эти папки были созданы автоматически операционной системой или вы их вручную делали ?
Это временная папка из системной папки "Windows" или из папки "Users" ? Напишите полный путь к ней.

Последний раз редактировалось 12345qwerty12345; 25.03.2016 в 06:58.
12345qwerty12345 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запись слова в список с условием ограничения на его длину emdroof C# (си шарп) 1 09.03.2013 22:39
Отслеживание обращений к файлу или папке (C++) Аня_Ф Помощь студентам 6 02.10.2012 21:05
как посчитать длину пути? lisa007x Помощь студентам 0 30.09.2010 11:36
Функция CallWndProc. Получить путь к папке или файлу к которому преднозначено сообщение Irat Помощь студентам 1 16.02.2008 23:36