none
Problemas ao carregar processo RRS feed

  • Pergunta

  • <object height="0" id="6b184ab9-db09-898f-e9e8-1ba6aaa397bf" type="application/gas-events-cef" width="0"></object>

    Boa tarde

    Criei um programa teste para carregar outros programas ou fechar a partir dos processos do windows, fiz isso porque criei um outro programa que carregar um hardware(sensor), e preciso monitorar esse programa de modo que se esse programa cair esse aplicativo teste carregue ele. O problema é o seguinte, se eu carregar o programa do sensor clicando nele diretamente no ícone na área de trabalho ele carrega e funciona perfeitamente, porém se eu chamado ele pelo aplicativo teste que fiz ele carrega o programa do sensor mas o sensor não funciona. Tudo no programa funciona menos os sensor.

    Alguém sabe o que poderia ser?

    Abaixo segue o programa teste que fiz:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Diagnostics;
    using System.ComponentModel;
    using System.Windows.Forms;
    //link referÊncia: http://msdn.microsoft.com/pt-br/library/system.diagnostics.process(v=vs.80).aspx
    namespace verificar_processo
    {
        class ClassVerificaProcessos
        {
            // These are the Win32 error code for file not found or access denied.
            const int ERROR_FILE_NOT_FOUND = 2;
            const int ERROR_ACCESS_DENIED = 5;
    
            /// <summary>
            /// Prints a file with a .doc extension.
            /// </summary>
            public void PrintDoc()
            {
                
                Process myProcess = new Process();
    
                try
                {
                    // Get the path that stores user documents.
                    string myDocumentsPath =
                        Environment.GetFolderPath(Environment.SpecialFolder.Personal);
    
                    myProcess.StartInfo.FileName = "C:\\deals\\modulo_192_168_1_30\\Modulo_192_168_1_100.exe";
                    //myProcess.StartInfo.Verb = "Print"; //imprime o arquivo aberto
                    
                    myProcess.StartInfo.CreateNoWindow = true;
                    myProcess.Start();
                }
                catch (Win32Exception e)
                {
                    if (e.NativeErrorCode == ERROR_FILE_NOT_FOUND)
                    {
                        MessageBox.Show(e.Message + ". verifique se o caminho para o arquivo esta correto.");
                    }
    
                    else if (e.NativeErrorCode == ERROR_ACCESS_DENIED)
                    {
                        // Note that if your word processor might generate exceptions
                        // such as this, which are handled first.
                        MessageBox.Show(e.Message +
                            ". Você não tem permissão para imprimir esse arquivo.");
                    }
                }
            }
        }
    }
    

    private void button2_Click(object sender, EventArgs e)
            {
                ClassVerificaProcessos myProcess = new ClassVerificaProcessos();
                myProcess.PrintDoc();
            }

    quinta-feira, 27 de junho de 2013 20:15