Precisa ativar uma janela

Eu tenho uma situação como esta. Eu tenho o identificador de janela de um aplicativo. Eu preciso ativá-lo. Tentei todas essas funções, mas nem sempre funciona. (Na maioria das vezes, não funciona da primeira vez e terei que clicar manualmente para ativá-lo. Na segunda tentativa em diante, funciona bem). Estou fazendo isso é porque eu tenho código escrito no evento Form.Activate do formulário que eu preciso executar. Aplicativo é um aplicativo de instância única. Quando uma nova instância é criada, ela primeiro verifica a existência de qualquer outro processo. Se encontrado, o identificador do processo antigo é passado para essas funções para que o usuário possa trabalhar no formulário antigo. O aplicativo é chamado de um aplicativo C diferente. [DllImport ("user32.dll")] externo estático público int ShowWindow (IntPtr hWnd, int nCmdShow);

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

    [DllImport("user32")]
    public static extern bool PostMessage(IntPtr hwnd, int msg, IntPtr wparam, IntPtr lparam);

questionAnswers(3)

yourAnswerToTheQuestion