como pegar o usuário do win e a pasta user ?

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

paiva_dbdc
Usuário Nível 3
Usuário Nível 3
Mensagens: 342
Registrado em: 12 Nov 2012 09:58
Localização: uberlandia mg

como pegar o usuário do win e a pasta user ?

Mensagem por paiva_dbdc »

Boa noite

tem users usuários etc

como saber o nome da pasta e o nome do usuario para se poder posicionar uma busca la pasta download ?

ex:

c:\usuários\paiva\download\*.xml ?


desde ja agradeço

Paiva
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

como pegar o usuário do win e a pasta user ?

Mensagem por JoséQuintas »

Dentre muitas opções, incluindo API Windows, a mais simples é pegar variáveis de ambiente.
No prompt digite SET e vai ver as variáveis que existem.
Depois é só usar GetEnv()
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
paiva_dbdc
Usuário Nível 3
Usuário Nível 3
Mensagens: 342
Registrado em: 12 Nov 2012 09:58
Localização: uberlandia mg

como pegar o usuário do win e a pasta user ?

Mensagem por paiva_dbdc »

Valeu

HOMEPATH=\Users\paiva
USERPROFILE=C:\Users\paiva
windir=C:\Windows


essa mata tudo rs USERPROFILE=C:\Users\paiva

e para executar o set destro do sistema

crio uma bat e no sistema mando executar ?

ou tem uma forma melhor ?

ob

Paiva
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

como pegar o usuário do win e a pasta user ?

Mensagem por JoséQuintas »

não entendi.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

como pegar o usuário do win e a pasta user ?

Mensagem por asimoes »

Definindo uma variável de ambiente em tempo de execução

SetEnvironmentVariable( "TESTE", "12345" )

hwg_MsgInfo( hb_GetEnv( "TESTE" ) ) Vai retornar 12345

Código: Selecionar todos

#pragma BEGINDUMP
#include <Windows.h>
#include <hbApi.h>

HB_FUNC( SETENVIRONMENTVARIABLE )
{
   hb_retl( SetEnvironmentVariableA( (LPCSTR) hb_parcx( 1 ),
                                     (LPCSTR) hb_parcx( 2 )
                                     ) ) ;
}

#pragma ENDDUMP
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

como pegar o usuário do win e a pasta user ?

Mensagem por asimoes »

Observações:

A função SetEnvironmentVariable() define a variável de ambiente em tempo de execução mas só é vista pela aplicação que a define.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

como pegar o usuário do win e a pasta user ?

Mensagem por asimoes »

Lendo melhor esse tópico acho que eu entendi o que você quer, listar as variáveis de ambiente do windows então deve ser isso:

Código: Selecionar todos

FUNCTION GetVariaveisAmbiente()
LOCAL oLocator, oWMI, cVarAmb
   
   oLocator   := CreateObject( "wbemScripting.SwbemLocator" )
   oWMI       := oLocator:ConnectServer()
   cVarAmb    := ""
   
   FOR EACH oEnvVar IN oWmi:ExecQuery( "SELECT * FROM Win32_Environment" )
      cVarAmb += oEnvVar:Name + "=" + oEnvVar:VariableValue + Hb_Eol()
   NEXT
   
RETURN cVarAmb   
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
paiva_dbdc
Usuário Nível 3
Usuário Nível 3
Mensagens: 342
Registrado em: 12 Nov 2012 09:58
Localização: uberlandia mg

como pegar o usuário do win e a pasta user ?

Mensagem por paiva_dbdc »

opa

no DOS .... SET > arq.txt
dentro do arq.txt achei essas linhas

HOMEPATH=\Users\paiva
USERPROFILE=C:\Users\paiva
windir=C:\Windows

essa mata tudo rs USERPROFILE=C:\Users\paiva

e para executar o set destro do sistema

crio uma bat e no sistema mando executar ?

ou tem uma forma melhor ?

ob

Paiva
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

como pegar o usuário do win e a pasta user ?

Mensagem por asimoes »

paiva_dbdc escreveu:opa

no DOS .... SET > arq.txt
dentro do arq.txt achei essas linhas

HOMEPATH=\Users\paiva
USERPROFILE=C:\Users\paiva
windir=C:\Windows

essa mata tudo rs USERPROFILE=C:\Users\paiva

e para executar o set destro do sistema

crio uma bat e no sistema mando executar ?

ou tem uma forma melhor ?

ob

Paiva
A resposta já foi postada.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Claudio Soto
Colaborador
Colaborador
Mensagens: 566
Registrado em: 27 Ago 2012 12:31
Localização: Uruguay
Contato:

como pegar o usuário do win e a pasta user ?

Mensagem por Claudio Soto »

cUP:= hb_GetEnv( "USERPROFILE" )
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Responder