Página 1 de 1

Nome do EXE no Harbour 3.2

Enviado: 21 Nov 2012 13:48
por JoséQuintas
No Harbour 3.0, hb_argv(0) retorna o nome do EXE completo com path
No Harbour 3.2, hb_argv(0) retorna o nome exatamente como foi digitado na linha de comando.

Como posso pegar o nome do EXE no harbour 3.2?

Nome do EXE no Harbour 3.2

Enviado: 21 Nov 2012 14:22
por JoséQuintas
Isto funcionou, mas.... usei a forma correta?

Código: Selecionar todos

FUNCTION WAPI_GetModuleFileName()
   LOCAL lpFileName := Space(100), nSize := 100, nHandleDll
   nHandleDll := hb_LibLoad("kernel32.dll")
   hb_DynCall( { "GetModuleFileNameA", nHandleDll, HB_DYN_CALLCONV_STDCALL }, /* hModule */, @lpFileName, nSize )
   lpFileName := Substr( lpFileName, 1, Rat(".exe",Lower(lpFileName))+3)
   HB_LibFree( nHandleDll)
   RETURN lpFileName

Nome do EXE no Harbour 3.2

Enviado: 21 Nov 2012 17:46
por Toledo
Já tentou usar a função hb_ProgName()?

Abraços,

Nome do EXE no Harbour 3.2

Enviado: 21 Nov 2012 18:25
por JoséQuintas
Era um bug no Harbour 3.2.
Foi corrigido.
Inclusive HB_ProgName() também retornava em branco.