Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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

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

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

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

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

Цитата:
Сообщение от 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 в 02:56.
12345qwerty12345 вне форума   Ответить с цитированием
Старый 25.03.2016, 00:53   #15
12345qwerty12345
Форумчанин
 
Регистрация: 19.03.2016
Сообщений: 77
Репутация: -7
По умолчанию

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

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

ничего умного не делал, просто папки создавал. вот это максимум который разрешила моя винда.
в последнюю папку копируются файлы с именем короче 14 символов.
Изображения
 

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

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

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

По поводу подстановки суффикса ".\" в концы названий папок и файлов то в графическом интерфейсе это вообще физически не возможно так как эти символы зарезервированы и системой не воспринимаются, только в CMD.
Миниатюры
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 61
Размер:	98.1 Кб
ID:	80444   Нажмите на изображение для увеличения
Название: 2.jpg
Просмотров: 57
Размер:	96.6 Кб
ID:	80445   Нажмите на изображение для увеличения
Название: 3.jpg
Просмотров: 59
Размер:	83.9 Кб
ID:	80446   Нажмите на изображение для увеличения
Название: 4.jpg
Просмотров: 57
Размер:	84.0 Кб
ID:	80447  

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

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

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

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

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

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

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запись слова в список с условием ограничения на его длину 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 17.02.2008 00:36


09:38.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.