Показано с 1 по 6 из 6.

Аналог GetModuleFileNameEx() в win 9x

  1. #1
    External Specialist Репутация Репутация Репутация Репутация
    Регистрация
    12.12.2004
    Сообщений
    818
    Вес репутации
    79

    Аналог GetModuleFileNameEx() в win 9x

    Господа программеры, подскажите, плиз, по сабжу. Имеется хэндл процесса, нужно получить полный путь к бинарнику. В NT на этот случай есть psapi, а чем бы воспользоваться в 98х ? Вот такой вот вопрос возник в моей больной после вчерашнего голове...


    P.S.
    О мудрейший Гесер! предлагаю создать раздел на форуме для разработчиков. Вот под такие вот топики...

  2. Будь в курсе!
    Реклама на VirusInfo

    Надоело быть жертвой? Стань профи по информационной безопасности, получай самую свежую информацию об угрозах и средствах защиты от ведущего российского аналитического центра Anti-Malware.ru:

    Anti-Malware Telegram
     

  3. #2
    Global Moderator Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Регистрация
    12.10.2004
    Адрес
    Смоленск
    Сообщений
    6,241
    Вес репутации
    3412

    Re:Аналог GetModuleFileNameEx() в win 9x

    Цитата Сообщение от Xen
    Господа программеры, подскажите, плиз, по сабжу. Имеется хэндл процесса, нужно получить полный путь к бинарнику. В NT на этот случай есть psapi, а чем бы воспользоваться в 98х ? Вот такой вот вопрос возник в моей больной после вчерашнего голове...

    P.S.
    О мудрейший Гесер! предлагаю создать раздел на форуме для разработчиков. Вот под такие вот топики...
    В Win98 есть аналог PSAPI - Toolhelp32. Соответственно CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, PID) создает для заданного PID список библиотек, а CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0) создает список процессов. Перемещение по спискам - Module32First/Module32Next и Process32First/Process32Next. В полученных списках есть PID всех процессов и модулей.
    С другой стороны, что у нас на входе - хендл процесса (полученный после OpenProcess) или все-аки его PID ??
    Просто
    HANDLE OpenProcess(
    DWORD dwDesiredAccess,***// access flag
    BOOL bInheritHandle,***// handle inheritance flag
    DWORD dwProcessId ***// process identifier
    );***
    требует знания PID процесса ... поэтому скорее всего PID известен и все решаемо описанными выше функциями

  4. #3
    Geser
    Guest

    Re:Аналог GetModuleFileNameEx() в win 9x

    Цитата Сообщение от Xen
    О мудрейший Гесер! предлагаю создать раздел на форуме для разработчиков. Вот под такие вот топики...
    А нужно? Есть же вроде крутые форумы по С++

  5. #4
    External Specialist Репутация Репутация Репутация Репутация
    Регистрация
    12.12.2004
    Сообщений
    818
    Вес репутации
    79

    Re:Аналог GetModuleFileNameEx() в win 9x

    С тулхелпом вроде все понятно, только соответствующее поле структуры PROCESSENTRY32 (или как-то так, пишу по памяти) заполняется именем файла, а не полным именем, включающим path к нему...

  6. #5
    Visiting Helper Репутация
    Регистрация
    03.10.2004
    Сообщений
    699
    Вес репутации
    76

    Re:Аналог GetModuleFileNameEx() в win 9x

    под ХП тебе придется для кожлого процесса считывать еще и MODULEENTRY32 и уже там 1 модулем будет полное имя процесса

  7. #6
    Aizek
    Guest

    Re:Аналог GetModuleFileNameEx() в win 9x

    Цитата Сообщение от Xen
    С тулхелпом вроде все понятно, только соответствующее поле структуры PROCESSENTRY32 (или как-то так, пишу по памяти) заполняется именем файла, а не полным именем, включающим path к нему...
    typedef struct tagPROCESSENTRY32 {
    DWORD dwSize;
    DWORD cntUsage;
    DWORD th32ProcessID;
    DWORD th32DefaultHeapID;
    DWORD th32ModuleID;
    DWORD cntThreads;
    DWORD th32ParentProcessID;
    LONG pcPriClassBase;
    DWORD dwFlags;
    char szExeFile[MAX_PATH];
    } PROCESSENTRY32;
    szExeFile Path and filename of the executable file for the process.
    тебе нужен именно szExeFile

Похожие темы

  1. sisgbi32 аналог monoca32
    От TimBerLen в разделе Помогите!
    Ответов: 16
    Последнее сообщение: 27.08.2010, 21:33
  2. Аналог CommView?
    От XiTri в разделе Софт - общий
    Ответов: 3
    Последнее сообщение: 20.02.2008, 10:42
  3. Аналог System Restore
    От Pandus в разделе Софт - общий
    Ответов: 5
    Последнее сообщение: 16.07.2007, 18:48
  4. Аналог CureIT?
    От Sibir в разделе Антивирусы
    Ответов: 7
    Последнее сообщение: 21.05.2007, 10:03
  5. Аналог msconfig в Win2000 ?
    От Палыч в разделе Microsoft Windows
    Ответов: 8
    Последнее сообщение: 21.04.2006, 16:01

Свернуть/Развернуть Ваши права в разделе

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Page generated in 0.01097 seconds with 17 queries