Страница: 1 |
Страница: 1 |
Вопрос: Определение полного пути до моей программы
Добавлено: 16.02.05 16:01
Автор вопроса: freeloader | Web-сайт:
Вообщем задача такова, жаль что в ПБ нету что то типа APPPath или еще чего нибудь...
Поискал нашел функцию GetModuleFileNameEx возвращает все как надо, создал буффер под полный путь, получил хандл процесса и модуля хэндл, вызываю функцию ничего не возвращает, то есть в Буффер пусто :(
К сожалению сейчас тот код скинуть немоуг, нахожусь не под Windows...
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #1
Добавлено: 16.02.05 17:03
GLOBAL szAppPath AS ASCIIZ * %MAX_PATH
GetModuleFileName hInstance, szAppPath, 260
Номер ответа: 2
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #2
Добавлено: 16.02.05 18:58
попробуй ссылку на szAppPath отдать... Функция должна возвратить кол-во символов...
Заместо hInstance можно использовать NULL, это не суть важно...
Номер ответа: 3
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #3
Добавлено: 17.02.05 10:23
Я себе такую сделал:
Function APP_Path() As String
Dim App_ExeNameZ As Asciiz*%MAX_PATH, App_ExeName As String
Dim SlashPos As Long
If GetModuleFileName(0&,App_ExeNameZ,255) Then
App_ExeName=App_ExeNameZ
If Len(App_ExeName)=0 Then Exit Function
SlashPos=InStr(-1,App_ExeName,"\"
If SlashPos=0 Then SlashPos=InStr(-1,App_ExeName,":"
If SlashPos=0 Then Exit Function
APP_Path=Left$(App_ExeName,SlashPos)
End If
End Function
PS: Чёто мусорноватая она, но работает точно.