Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
25 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 24 Visitantes :: 1 Motor de busca

Rosangela Pires

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
ListBox

23/5/2017, 10:37 por Rosangela Pires

Ola Amigos.

Para se movimentar na grid com as setas colocamos no Metodo AfterChange da grid …

Comentários: 0

TRY BEGIN E FLOCK()

17/4/2017, 10:32 por AJC

Pessoal estou tendo alguns problemas de gravação em rede, estou usando
try begin, mas vi algo na …

Comentários: 0

Exportar Dados Campo Memo Tabela DBF

10/4/2017, 10:28 por fcampos

Olá bom dia.

Estou tentando exportar os dados de algumas tabelas em formato dbf pelo foxpro.
O …

Comentários: 2

Função EVL()

8/4/2017, 12:18 por Clebervfp

Bom dia a todos.
Vim compartilhar de uma Função do próprio VFP que me benefício muito.
Função …

Comentários: 0

COMO BLOQUEAR REGISTRO OU TABELA NO VISUAL FOXPRO PARA GRAVAÇÃO EM REDE

3/4/2017, 10:29 por AJC

Pessoal estou tendo um problema que acontece sempre busco na minha tabela de clientes o ultimo …

Comentários: 2

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

Os nossos membros postaram um total de 49 mensagens em 26 assuntos

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.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

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... :-)
avatar
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.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

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.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

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!
avatar
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)
avatar
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.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

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

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


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