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: 20420
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 20420
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 568
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