Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / drag drop long file name / 5 сообщений из 5, страница 1 из 1
15.12.2014, 12:01
    #38833964
den_first
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
drag drop long file name
Все привет!
Такой баг вылез, надо пофиксить.
Реализован drag&drop файлов на win форму (C#), все ок, но появился неприятный момент.
Если файл имеет длинное имя и вместе с путем на диске больше 259 символов, то при drag&drop приходит null, а не сам файл, тобишь я не могу взять filename, проверить на длину и показать пользователю сообщение, что оно привышает длину.
Я так понимаю, что это ограничения винды, как можна взять этот файл и чтобы при drag&drop
в (string[]) e.Data.GetData(DataFormats.FileDrop) был файл?
Заранее спасибо!
...
Рейтинг: 0 / 0
15.12.2014, 14:36
    #38834152
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
drag drop long file name
den_first,
максимальный размер пути в windows - 260 символов.
...
Рейтинг: 0 / 0
15.12.2014, 14:54
    #38834167
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
drag drop long file name
ЕвгенийВмаксимальный размер пути в windows - 260 символов.
MSDNThe Windows API has many functions that also have Unicode versions to permit an extended-length path for a maximum total path length of 32,767 characters. This type of path is composed of components separated by backslashes, each up to the value returned in the lpMaximumComponentLength parameter of the GetVolumeInformation function (this value is commonly 255 characters). To specify an extended-length path, use the "\\?\" prefix. For example, "\\?\D:\very long path".
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx
...
Рейтинг: 0 / 0
15.12.2014, 15:12
    #38834199
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
drag drop long file name
den_first, windows поддерживает пути длиной до 32 Кб, но .NET до сих пор работает только с путями длиной до 260 символов. Я бы попробовал получить полный путь к файлу, открыть его с помощью CreateFile , передать полученный дескриптор в FileStream и дальше работать .NET-овскими средствами.
...
Рейтинг: 0 / 0
16.12.2014, 10:14
    #38834769
den_first
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
drag drop long file name
Всем спасибо!
Буду пробовать...
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / drag drop long file name / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]