Jump to content

[Resolvido] Novo processo explorer.exe


Hugao

Recommended Posts

Boas.

Eu tenho uma dúvida e agradecia se alguém ma podia tirar.

Eu numa pequena aplicação tentei fazer um novo processo do explorador do Windows usando o código System.Diagnostics.Process.Start("explorer.exe"); mas apenas consegui abrir a janela das bibliotecas. Resumindo fiquei com a janela das bibliotecas e o fundo do ambiente de trabalho. Eu cria que ele fizesse como criamos um novo processo no gestor de tarefas.

Nota que o explorador não está a correr

Desde já o meu obrigado.

Cumprimentos,

Hugo

PS:Desculpem não meter o código com BBCode mas não consegui :O

Link to comment
Share on other sites

Para que queres duplicar o explorer.exe? Por norma o explorer.exe está sempre a correr (o teu ambiente de trabalho é uma pasta, sabias?). Aliás se experimentares terminar esse processo, vais ver que vais ficar muito limitado no que o o pc pode fazer via UI. Depois o que acontece é que o processo está optimizado para ser sempre o mesmo, simplesmente vai lidando com o teu pedido de abertura de janelas e assim (penso eu que para melhorar a interoperabilidade).

Por isso dificilmente conseguirás duplicar o explorer.exe do Windows (pelo menos sem andares a tentar alterar o executável seja em memória seja antes do carregamento)

"Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."
Não respondo a questões por PM que possam ser colocadas no fórum!

Link to comment
Share on other sites

anolsi a ideia não é duplicar o processo mas sim inicia-lo. É como tu disses-te com o processo terminado o uso do windows fica limitado mas a ideia é abrir um novo processo do explorer.exe sem ele estar a correr.

Eu quero isto para a minha PAP pois a ideia é depois de um utilizador iniciar sessão no Windows (através de um servidor AD) ter de iniciar sessão na aplicação para contar o tempo que está ligado. No servidor está configurado para o explorer.exe não arrancar no inicio para o utilizador ser obrigado a fazer o login na app e depois sim pode usar o Windows porque o explorer.exe é iniciado.

Link to comment
Share on other sites

Ah. Ok tu não queres duplicar, queres simplesmente arrancar o processo.

Experimenta este código:

If OskProcess Is Nothing Then

  OskProcess = New Process()
  OskProcess.StartInfo.UseShellExecute = True
  OskProcess.StartInfo.CreateNoWindow = True
  OskProcess.StartInfo.FileName = "C:\Windows\explorer.exe"
  OskProcess.StartInfo.WorkingDirectory = Application.StartupPath
  OskProcess.Start()

End If

Está em vb só tens que adaptar para C#. Creio que não é muito difícil de adaptar.

"Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."
Não respondo a questões por PM que possam ser colocadas no fórum!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.