Login

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
10 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 10 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Brasília
Estamos no Twitter
Nossa Comunidade
Nosso Grupo
Últimos assuntos
Minimizar , Maximizar e Restaurar

17/5/2012, 13:46 por FERNANDOMATRELLA

Olá gostaria de saber se alguem ja se deparou com uma dificuldade que eu estou tendo:
Ao minimizar …

Comentários: 8

Fundo do PROJETO Transparente??

7/5/2012, 20:31 por thiag0ms

Ola, por favor alguem como faz pra deixar o fundo do PROJETO transparente ?? acredito que o …

Comentários: 7

Scroll EditBox Automatico

11/5/2012, 09:55 por renatojunior2009

Bom dia Galera,

Como fazer para que um editbox ao receber mensagens o scroll vai subindo …

Comentários: 2

Erro no Projeto Chat

2/5/2012, 08:37 por renatojunior2009

Bom dia Pessoal,

Estou desenvolvendo um chat , só que estou com dois erros o qual eu não sei …

Comentários: 4

Select Nexval do FoxPro no OracleXE

8/5/2012, 20:05 por anakeila

Olá pessoal, vejam se pode me ajudar, estou no meio do TCC e um pouco preocupada, sem conhecer …

Comentários: 5

Estatísticas
Temos 4025 usuários registrados
O último usuário registrado atende pelo nome de fhpvga

Os nossos membros postaram um total de 14399 mensagens em 2043 assuntos

Trazer para frente uma aplicação em execução 5 5 2

Trazer para frente uma aplicação em execução

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido Trazer para frente uma aplicação em execução

Mensagem por Marcos Guedes em 30/7/2010, 12:01

Amigos, estou com mais uma dúvida.

Em algumas aplicações, preciso permitir apenas uma execução por vez...
Então para verificar se o aplicativo já está sendo executado, utilizo o seguinte código no método Main.
Código:
static void Main(string[] args)
{
   /* Verifica se o programa já está em execução */
    Process[] ListaProcessos = Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName);
    foreach (Process P in ListaProcessos)
      if (P.Id != Process.GetCurrentProcess().Id)
        {
         Console.Write("Este processo já está sendo executado.\nPressione uma tecla para encerrar...");
            Console.ReadKey();
            return;
        }
    /* Fim - Verifica se o programa já está em execução */

    continuaExecuacao(); // Método chamado para executar a aplicação, caso não esteja em uso
}


O que ocorre, é que se o programa estiver em execução, é exibido apenas uma mensagem para o usuário, porém eu gostaria de trazer a aplicação para frente.
Alguém saber como faço isto?

Desde já, agradeço.


Última edição por Marcos Guedes em 30/7/2010, 14:31, editado 1 vez(es)

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Trazer para frente uma aplicação em execução

Mensagem por cabeludo em 30/7/2010, 13:01

Vasculhando os métodos de 'Process', vi que tem o método Start(), que de acordo com o help, inicia ou "reutiliza" o processo...
Talvez nessa "reutilização" ele venha para frente, não?

ps: Também tenho esse mesmo problema... :-)

_________________
[Você precisa estar registrado e conectado para ver esta imagem.]
Lucy - Hallelujah (Alexandra Burke) --> D.Maria cantando!!!
PalcoMP3/RatoMG
RIK - CD Demo

cabeludo
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Trazer para frente uma aplicação em execução

Mensagem por Marcos Guedes em 30/7/2010, 13:36

Testei, mas não funciona.
Estou tentando encontrar uma solução com API do Windows, utilizando a função BringWindowToTop()

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Trazer para frente uma aplicação em execução

Mensagem por Marcos Guedes em 30/7/2010, 14:30

Aew, pessoal, consegui!!!
cheers

Adaptei o código que postei na primeira mensagem para o seguinte:
Código:
static void Main()
{
   /* Verifica se o programa já está em execução */           
   Process[] ListaProcessos = Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName);
    foreach (Process P in ListaProcessos)
    {
      if (P.Id != Process.GetCurrentProcess().Id)
        {                   
         SetForegroundWindow(P.MainWindowHandle);                   
            return;
      }
   }
   /* Fim - Verifica se o programa já está em execução */

    continuaExecuacao(); // Método chamado para executar a aplicação, caso não esteja em uso
}

[DllImport("user32.dll")]
public static extern bool SetForegroundWindow(IntPtr hWnd);


Namespaces necessários:
Código:
using System.Runtime.InteropServices;
using System.Diagnostics;


Última edição por Marcos Guedes em 3/8/2010, 11:22, editado 1 vez(es)

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Trazer para frente uma aplicação em execução

Mensagem por cabeludo em 30/7/2010, 15:02

Parabens bonitão! Essa vai pra biblioteca!

_________________
[Você precisa estar registrado e conectado para ver esta imagem.]
Lucy - Hallelujah (Alexandra Burke) --> D.Maria cantando!!!
PalcoMP3/RatoMG
RIK - CD Demo

cabeludo
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Trazer para frente uma aplicação em execução

Mensagem por cabeludo em 30/7/2010, 15:13

A mesma coisa, mas utilizando LINQ afro

Código:
Program.cs

static class Program
{
[STAThread]
static void Main()
{
   Application.EnableVisualStyles();
   Application.SetCompatibleTextRenderingDefault(false);
   if (checkPreviousRunning() == false) Application.Run(new frmMain());
}

static bool checkPreviousRunning()
{
   var process =
      (from p in Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName)
       where p.Id != Process.GetCurrentProcess().Id
       select p).FirstOrDefault();

   if (process != null)
   {
      SetForegroundWindow(process.MainWindowHandle);
      return true;
   }
   else
      return false;
}
[DllImport("user32.dll")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
}


Última edição por cabeludo em 30/7/2010, 15:33, editado 2 vez(es) (Razão : Faltou a declaração da classe, para facilitar um CTRL+C CTRL+V)

_________________
[Você precisa estar registrado e conectado para ver esta imagem.]
Lucy - Hallelujah (Alexandra Burke) --> D.Maria cantando!!!
PalcoMP3/RatoMG
RIK - CD Demo

cabeludo
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Trazer para frente uma aplicação em execução

Mensagem por Marcos Guedes em 30/7/2010, 15:31

Valeu, cabeludo!

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


Permissão deste fórum:
Você não pode responder aos tópicos neste fórum