none
Criando variáveis de Ambiente

    Question

  • Olá pessoal,

    Alguém sabe como fazer para que pudesse criar uma aplicação onde eu pudesse criar variáveis de ambiente com C#?

    Agradeço toda a ajuda.

    Thursday, August 24, 2006 8:42 PM

Answers

  • Glebe,

    Você tem como identificar o usuário logado usando as classes contidas no namespace System.Security.Principal. Ex.:

    using System.Security.Principal;

    // dentro da tua classe

    WindowsIdentity identity = WindowsIdentity.GetCurrent();

    Console.WriteLine(identity.Name);

    O WindowsIdentity possui propriedades e métodos que te permitem trabalhar com o usuário atualmente logado.

    []

    Friday, August 25, 2006 1:36 PM
  • Vc também pode resgatar o usuário logado através do comando:

    String usuario = Environment.UserName;

    Espero ter ajudado.

    Friday, August 25, 2006 1:45 PM

All replies

  • Olá Glebe,

    Você pode fazer isto no Framework 2.0 usando o método SetEnvironmentVariable da classe System.Environment. Ex.:

    Environment.SetEnvironmentVariable("variavel", "valor", EnvironmentVariableTarget.Machine);

    É possível especificar ainda o escopo da variável para Processo, usuário ou Máquina conforme pode ser visto no exemplo acima.

    []

    Thursday, August 24, 2006 8:54 PM
  • Valeu Alfred,

    Muito obrigado mesmo. Agora para completar...

    Eu preciso criar estas variáveis assim que o usuário se logar na máquina windows. Eu vou setar para rodar esta aplicação na inicialização do perfil do usuário. Agora, como eu faço para poder identificar o usuário e de acorodo com esta identificação eu poder criar a variável?

    Muito grato desde já

    Friday, August 25, 2006 1:22 PM
  • Glebe,

    Você tem como identificar o usuário logado usando as classes contidas no namespace System.Security.Principal. Ex.:

    using System.Security.Principal;

    // dentro da tua classe

    WindowsIdentity identity = WindowsIdentity.GetCurrent();

    Console.WriteLine(identity.Name);

    O WindowsIdentity possui propriedades e métodos que te permitem trabalhar com o usuário atualmente logado.

    []

    Friday, August 25, 2006 1:36 PM
  • Muito orbigado pela ajuda Alfred, e pela agilidade também. O tópico já está respondido, mas se tiver mais alguma dúvida relacionada eu posto aqui de novo.

     

    Abraços.

    Friday, August 25, 2006 1:43 PM
  • Vc também pode resgatar o usuário logado através do comando:

    String usuario = Environment.UserName;

    Espero ter ajudado.

    Friday, August 25, 2006 1:45 PM
  • Pessoal e como é que eu faço para excluir as variáveis?

    Eu consigo apenas deixar com outro valor, zero por exemplo, ams queria remover de vez mesmo. Como faço?

    Tuesday, August 29, 2006 6:09 PM
  • Olá Glebe,

    Não sei como excluir, mas você pode alterar o escopo da variável passando o parâmetro apropriado:

    Environment.SetEnvironmentVariable(variavel, valor, EnvironmentVariableTarget.User)

    EnvironmentVariableTarget.User, limita o escopo da variável para o usuário atualmente logado. Não afetará outros usuários.

    Dependendo do que você está querendo fazer, isto já pode resolver o teu problema. Porque você quer exluir as variáveis?

    []

    Wednesday, August 30, 2006 2:04 PM
  • Olá Alfred, também não encontrei uma maneira de excluir. Sei que se eu alterar seus valores para vazio, elas desparacem da interface que visualiza as variáveis, porém elas não saem do registro do windows.

    O que eu digo é que queria que cada vez que um usuário logasse eu fizesse uma verificação e só a partir desta verificação eu criaria as variáveis. Fiz isso no escopo do usuário, e quando ele se loga as varáveis estão sempre lá, onde na verdade queria que fossem apagadas antes de serem criadas.

    Mas tudo bem, já resolvi por enquanto de outra forma.

     

    Obrigado

    Wednesday, August 30, 2006 7:41 PM