Ir para conteúdo
Fórum Script Brasil
  • 0

Comparar diretório de um processo


apvsalvado

Pergunta

Sou totalmente novato no C++, estou fazendo uma DLL usando o visual studio. Estou tentando comparar o diretório do processo com um nome que eu dou, segue o exemplo abaixo:

unsigned int ipath = 0;

    ipath = game.GetProcessPathByName("Dell");

    if ( ipath )
    {
        // Acho que vai fechar kkkkk
        MessageBox(0, L"Ok", L"Encontrado", MB_OK);
    }
Simplesmente se eu tiver o processo com o diretório "C:\Dell\Updater.exe" essa função não consegue encontra-lo, agradeço a ajuda.
unsigned long CProject::GetProcessPathByName(char *pathanme)
{
        HANDLE hProcSnapshot = ::CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
        if( INVALID_HANDLE_VALUE != hProcSnapshot )
        {
            PROCESSENTRY32 procEntry = {0};
            procEntry.dwSize = sizeof(PROCESSENTRY32);
            if( ::Process32First( hProcSnapshot, &procEntry ) )
            {
                do
                {
                    HANDLE hModSnapshot = ::CreateToolhelp32Snapshot( TH32CS_SNAPMODULE, procEntry.th32ProcessID );
                    if( INVALID_HANDLE_VALUE != hModSnapshot )
                    {
                        MODULEENTRY32 modEntry = {0};
                        modEntry.dwSize = sizeof( MODULEENTRY32 );
                        if( Module32First( hModSnapshot, &modEntry ) )
                        {
                char* converted = new char[wcslen(modEntry.szExePath) + 1];
                wcstombs( converted, modEntry.szExePath, wcslen(modEntry.szExePath) );

                            if( _stricmp(pathanme, converted) )
                            {
                                ::CloseHandle( hModSnapshot );
                                return 1;
                            }
                        }
                        ::CloseHandle( hModSnapshot );
                    }
                }
                while( ::Process32Next( hProcSnapshot, &procEntry ) );
            }
            ::CloseHandle( hProcSnapshot );
        }
    
        return 0;
}

Editado por apvsalvado
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...