Имя исполняемого файла

Здесь можете задавать любые вопросы и не бойтесь даже глупых вопросов!
Ответить
Аватара пользователя
Андрей
продвинутый
Сообщения: 19
Зарегистрирован: 01 июн 2009, 22:30

Имя исполняемого файла

Сообщение Андрей » 08 дек 2011, 00:11

Здравствуйте!

Серфинг по интернету, навел на мысль, что получить имя исполняемого файла не так то просто...
В VBS например, это можно сделать через WScript.ScriptName - но для LangMF это не подходит(объект WScript создает только сервер сценариев CScript.exe или WScript.exe)
Народным методом, через API - тоже получается только на половину: если файл скомпилирован без модуля LangMF_Real.exe - можно получить только имя исполняющего файла %ProgramFiles%\LangMF\LangMF.exe и только при полной компиляции в EXE через LangMF_Real.exe, функция API вернет имя запущеного файла.
Использовалась функция

Код: Выделить всё

Declare Function GetModuleFileName Lib "kernel32.dll" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long
Вопрос - как еще можно получить имя запущенного (не компилированного) файла, и сразу предложение если этой опции в LangMF не предусмотрено может быть стоит ее реализовать?

Аватара пользователя
Atomix
Admin
Сообщения: 95
Зарегистрирован: 19 янв 2005, 17:00
Контактная информация:

Re: Имя исполняемого файла

Сообщение Atomix » 08 дек 2011, 16:32

msgbox sys.file.getfilename(sys.path(true))

Аватара пользователя
Андрей
продвинутый
Сообщения: 19
Зарегистрирован: 01 июн 2009, 22:30

Re: Имя исполняемого файла

Сообщение Андрей » 08 дек 2011, 18:13

Спасибо! Все работает.

Ответить