Если определять таким образом имя EXE из DLL, то это не сработает. Универсальный способ (хотя и менее изящный) — использовать GetCommandLine + CommandLineToArgvW, и в нулевом элементе получить искомое.
Здравствуйте, Sergey Ten, Вы писали:
ST>Универсальный способ (хотя и менее изящный) — использовать GetCommandLine + CommandLineToArgvW
Как раз этот способ не всегда дает правильный результат.
Командная строка не обязана начинаться с имени исполняемого файла, она даже вовсе может его не содержать.
Поищите в форуме по Delphi по строкам argc и argv, там это было.
Здравствуйте, alexqc, Вы писали:
A>А как узнать имя ехе НЕ СВОЕГО процесса (по process_id)? GetModuleFileNameEx как я понял, катит только для NT/2000...
Использовать EnumerateLoadedModules из библиотеки DbgHelp. Она работает и в 9х, только ее надо вместе с
программой тащить.