Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: GetShortPath Добавлено: 03.09.04 22:55  

Автор вопроса:  AgentFire | ICQ: 192496851 
Здравствуйте!
Кто знает, подскажите, где можно достать такую ф-цию, ну типа "GetShortPath", которая возвращает путь к файлу, но как в DOS'е, то есть длина папки или файла(без расширения) не больше восьми?

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 shareman



Вопросов: 11
Ответов: 37
 Профиль | | #1 Добавлено: 03.09.04 23:26
Declare Function SHGetShortPathName Lib "shell32" Alias "#92" _
                            ;(ByVal szPath As String) As Long

Ответить

Номер ответа: 2
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #2
Добавлено: 04.09.04 11:33
Только путь обязательно должен существовать... Иначе не сработает...

Ответить

Номер ответа: 3
Автор ответа:
 Comanche



Вопросов: 87
Ответов: 459
 Профиль | | #3 Добавлено: 04.09.04 13:14
В принципе, исчерпывающий ответ уже дан, но есть ещё одна API-функция (коль пошла такая пьянка):

Public Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" _
    ;(ByVal lpszLongPath As String, _
    ByVal lpszShortPath As String, _
    ByVal cchBuffer As Long) As Long

Пример использования:

Public Function fGetShortName(ByVal stLongPath As String) As String
    ;Dim stShortPath As String
    ;Dim lngBuffer As Long, lngRet As Long
    
    lngBuffer = 260& ' << константа MAX_PATH, на самом деле
    stShortPath = String$(lngBuffer, Chr$(0))
    lngRet = GetShortPathName(stLongPath, stShortPath, lngBuffer)
    fGetShortName = Left$(stShortPath, lngRet)
End Function

Ответить

Номер ответа: 4
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #4 Добавлено: 04.09.04 20:36
Однако! Ну все равно, большое спасибо!

Ответить

Номер ответа: 5
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #5 Добавлено: 08.09.04 18:29
Блин, чо-то ни одна не пашет...

Ответить

Номер ответа: 6
Автор ответа:
 Comanche



Вопросов: 87
Ответов: 459
 Профиль | | #6 Добавлено: 08.09.04 18:57
А поконкретнее?

Ответить

Номер ответа: 7
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #7 Добавлено: 08.09.04 21:34
Comanche, я понял, вчем у меня глюк, теперь все работает. :~)
Но вот SHGetShortPathName что-то ни под твой пример(fGetShortName), ни под ни одну из моих попыток... ну ладно будем пользоваться fGetShortName :~)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам