LAYERDEV

 Busca Online:

 
Seja bem vindo(a) Visitante, você não está logado deseja logar
no portal para participar de serviços e promoções ? clique aqui.


No caso de perder a senha, acesse aqui e receba por e-mail.
Deseja entrar em contato conosco, acesse aqui e mande-nos um e-mail.

Web abrindo aplicações locais

por Mauricio Junior em 1/1/2011 0


            Olá pessoal, estava no trabalho precisando fazer um portal de produtos criados pelaempresa; fica mais fácil centralizar tudo em um portal. O usuário entra naintranet, loga apenas uma vez e abre os programas que quiser. Porém, bati acabeça na porta quando percebi que a maioria dos produtos são locais; isto é;funciona localmente na máquina do usuário e precisa ser instalado para o devidofuncionamento.

            Bati com acabeça na parede também por perceber que ainda existem programas feitos com alinguagem VB 6.0, Delphi, DOS e outros além de C#.NET.

 

Referências:

Ferramenta de desenvolvimento: Visual Studio .NET 2008

Linguagem: C#.NET

Linguagem Script: JavaScript

Framework 3.5



            Além das referênciasacima, o código pode ser feito em qualquer ferramenta do Visual Studio .NET,uma mais nova ou mais antiga sem problema. Isso serve também para o framework.

            Continuandoa história, estava com problemas, pois precisava passar usuário e senha paraque não precisasse logar novamente dentro do aplicativo. A idéia foi àseguinte: O usuário loga no portal e com isso todos os sistemas aparecem praele de acordo com as permissões. Ao clicar em um programa, o software local aparececom a tela correta e logado.

            Lembrandoque cada software precisa de usuário e senha. Ficou bem complicado fazer comque esse portal funcionasse, porém a empresa só usa IE (Internet Explorer);ficou mais específico. É muito importante fazer software web que funcione emtodos os browsers, mas já que a empresa usa apenas IE, aproveitei!

            Tive quefazer uma alteração nos aplicativos para receber usuário e senha, ou seja, o arquivo.exerecebe usuário e senha criptografados para logar automaticamente.

 

 

Na prática

            Pesquisandona internet e estudando sobre a linguagem C#.NET, me deparei que o portal ficana intranet e os aplicativos ficam localmente. Portanto, não posso usar o Process.Startou qualquer outro comando do C#.NET, porque não existe software instalado noservidor e sim na máquina. Tive que passar para a linguagem script, VBScript ouJavaScript. Achei um código que verifica um caminho específico via javascript efunciona apenas no browser IE (Internet Explorer). Code 1.1

 

 

<script type="text/javascript" language="javascript">

        function AbreAplicacao(caminho, tipo, usuario, senha) {

            var fso = new ActiveXObject('Scripting.FileSystemObject');

            var WshShell = new ActiveXObject('WScript.Shell');

            if (fso.FileExists(caminho))

                WshShell.Exec(caminho+' '+tipo+' ' + usuario+ ' ' +senha);

            else

                alert('A aplicação não está instalada neste computador.')

        }

    </script>

 

Referência: Code 1.1

 

            Em resumo,o código usa ActiveX e acessa o FileSystemObject. Depois disso, uso oWScript.Shelll, se no FileSystemObject existir o arquivo que mandei comocaminho na função, ele chama passando os parâmetros, caso contrário exibe umalerta na tela falando que a aplicação não está instalada.

            No primeiromomento, chamando a função passando os dados via javascript funcionouperfeitamente. Agora o desafio seria executar o mesmo dado pela linguagemC#.NET na plataforma ASP.NET.

            Tentei detudo, mas não estava dando certo. Resumindo, o que deu certo foi criar um Label<asp:label...> dentro da página chamando a função javascript. (Code 1.2)

 

 

//colocar no final da página

<asp:Label ID="lblScript" runat="server"></asp:Label>

 

                    string comando = @"<script>AbreAplicacao('C:\\Caminho da Aplicacao\\Arquivo.exe','DIGITACAO','usuario','senha')</script>";

                    lblScript.Text = comando;

 

Referência: Code 1.2

 

            Assim,mesmo a página web estando no servidor; chama uma aplicação que está localmentena máquina do usuário. Resolveu o meu problema perfeitamente. É lógico queexiste uma regra específica para o tipo da aplicação que não mostrei aqui mas,o importante é que, você pode usar o código explicado acima para chamaraplicativos dentro do seu computador.

            Lembrandoque só funciona se o site tiver HTTPS e no Internet Explorer.

Fico por aqui, espero que tenha gostado.

 

Mauricio Junior

www.mauriciojunior.org

blog.mauriciojunior.org

 

voltar   comente  subir

Download Copy





 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:


Comente (dê sua opinião):

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Trabalhando com Sessão dentro do Windows Forms
DateDiff em C#.NET
Usando o Flash para Desenvolver Game no Microsoft XNA Developer
Converte Imagem em Array e Array em Imagem
Vídeo - Criando um WebBrowser
Forum utilizando VS 2005 e Ajax
Resource e Internacionalização – Parte V Usando Visual Studio.NET 2005
GMaps com ASP.NET
Montando Menu Dinâmico com Banco de Dados
Artigo Criando RSS Xml para o Seu Próprio Site
Windows 7 funciona até no Mac
E-mail Carta de Amor - Vírus
Primeiros passos para um programador - Apple
Lendo Arquivo txt usando Visual Studio.NET 2005
Método MD5
Verifica Browser utilizando C#
Vídeo: Série Atlas.NET - Parte I
Fotos do HTC Mozart
Usando Split no C#
Vídeo: Montando o Windows Phone em NYC
IsWholeNumber
Visual SourceSafe 2 / 3 parte
Vírus do Serasa por E-mail
Vídeo - iGas - Sistema de Gasolina Mobile
Código fonte do livro DESENVOLVENDO WEBSERVICES
Vídeo - Google Earth Live em tempo real
GridView - Valor total no footer
Windows Phone 7 Jump Start
Usando Themes ASP.NET 2.0 (Parte 2)
IsAlpha
Vídeo - Tecla de Atalho
Adicionando Valores no ComboBox
Convertendo String para Guid
Vídeos Online Gratuitos
Instalando o .NET Compact Framework 2.0 SP2 em seu Dispositivo Móvel




eCode10 Magazine 4 Edição

Baixe a sua sem pagar nada, basta apenas ter um cadastro na comunidade aspneti.com ou ser usuário do ecode10.com.



Edições anteriores
LAYERDEV

Notícias *

Notebook 3D ou 4K?

Notebook vem com tudo...

Visão do Futuro - Day of Glass 2

Futuro próximo pode chegar cedo?...

Lenovo de 14 polegadas IdeaPad

Veja o novo notebook Lenovo IdeaPad...

Windows 8 Store

Channel9 publica um vídeo da Windows Store...

Sony Vaio série Z

Novo Vaio Ultrabook? ou não Ultrabook?...

Samsung quer comprar RIM

Imagine se juntar as duas companhias...

Surface 2.0 mostrado

Novo Surface é mostrado de forma incrível...

Skype Tablet

Será que esse skype tablet pega mesmo?...

Lenovo e o seu novo Ultrabook

Ultrabook chega também pela Lenovo...




NETITC