Ejecutar dos veces el mismo proceso con C#

Iniciado por Black.scorpion.x, 25 Enero 2018, 17:50 PM

0 Miembros y 1 Visitante están viendo este tema.

Black.scorpion.x

Hola Muchachos del Foro quería preguntar como podría generar ejecutar con C# el mismo procesos dos veces
YA encuentro Trabajando con la api de Gmail para enviar correo en forma de dejarlo como borradores, pero el problema lo tengo ya que también me solicitaron que desde la aplicación WinForm abrir el navegador con cargar el Borrador con la siguiente línea de código

Código (csharp) [Seleccionar]
Process ps = Process.Start("chrome.exe", "https://mail.google.com/mail/u/0/#drafts?compose=" + idBorrador);

El problema es que cuando abro el Chrome no me carga borrador que necesito editar. Lo que me aparece es la bandeja bandeja Entrada con el listado todos los borradores
Para ello necesito volver a ejecutar el mismo proceso dos veces por que la segunda vez me aparece el borrador
Tengo el siguiente código pero se me cae cuando trato de Process.Star()

Código (csharp) [Seleccionar]

using System;
using System.Diagnostics;
using System.ComponentModel;

namespace Gmail
{
    class Procesos
    {


        // Opens urls and .html documents using Internet Explorer.

        // Uses the ProcessStartInfo class to start new processes,
        // both in a minimized mode.
        public void OpenWithStartInfo(String strProceso, String strUrl)
        {
            Process ps = Process.Start("chrome.exe", "https://mail.google.com/mail/u/0/#drafts?compose=16128c6784508721");
// Process ps = Process.Start(strProceso, strUrl)                     
        }



        public int getFileProcessId(string excelFileName)
        {
            String strTituloProceso = String.Empty;
            Int32 intTituloCantidad = 0;
            Process[] localByName = Process.GetProcessesByName(excelFileName);

            var processes = Process.GetProcessesByName(excelFileName);
            var procId = 0;

           
            foreach (var process in processes)
            {
                Console.Write(process.MainWindowTitle + " " + process.ProcessName.ToString() + " " + Convert.ToString(process.Id) + "\n");
               
                if (process.MainWindowTitle == "")
                {
                    procId = process.Id;
                }
                strTituloProceso = process.MainWindowTitle.ToString();
                intTituloCantidad = strTituloProceso.Length;
                if (intTituloCantidad >=  10) {
                    strTituloProceso = strTituloProceso.Substring(0, 10);
                }
                if (strTituloProceso == "Borradores")
                {


                    process.StartInfo.FileName = "chrome.exe";
                    process.StartInfo.Arguments = "https://mail.google.com/mail/u/0/#drafts?compose=16128c6784508721";
                    process.StartInfo.CreateNoWindow = true;
                    process.StartInfo.RedirectStandardOutput = true;
                    process.StartInfo.RedirectStandardError = true;
                   
                    process.Start();
                   
                }
            }

            return procId;
        }

        //helper method to kill zombie excel processes



        public void KillSpecificExcelFileProcess(int anId, string excelName)
        {
            //var processes = from p in Process.GetProcessesByName("Excel");
            var processes = Process.GetProcessesByName(excelName);
            //select p;

            foreach (var process in processes)
            {
                if (process.Id == anId)
                {
                    process.Kill();
                }
            }
        }


    }
}


Eleкtro

#1
Cita de: Black.scorpion.x en 25 Enero 2018, 17:50 PMYA encuentro Trabajando con la api de Gmail

Eso es "trabajar con la API de GMail" pero a un nivel muy superficial digamos... pues solo escribes una simple query en la barra de navegación del Chrome para acceder a un borrador. En la programación .NET, trabajar con la API de Gmail se entiendería como descargarse la API de GMail para .NET Framework, y a partir de ahí utilizar tu API key junto a los miembros de la librería para autorizar y loguearte en tu cuenta, crear un borrador, guardarlo, enviarlo, etcétera.

Cita de: Black.scorpion.x en 25 Enero 2018, 17:50 PMTengo el siguiente código pero se me cae cuando trato de Process.Star()

Eso no hay quien lo entienda, no se que significa "se me cae", por favor trata de dar más detalles. Menciona cual es el tipo de excepción, y cual es el mensaje exacto del error.

Saludos.