Busca online em todo site:

Seja bem vindo(a) Visitante, voc no est logado deseja logar
na comunidade ASPNETi.COM e participar de servios e promoes ? clique aqui.




Título do Artigo

Web abrindo aplicações locais


Data Publicação: 2/2/2010 10:31:32
Total de visualizações: 281

comente
 



            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

 



Total de visualizações: 281
voltar   comente  subir

Autor:


Por:Mauricio Junior
Maurício Júnior
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 27 anos e possuo sete livros publicados pela editora Ciência Moderna no ano de 2009. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.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.orgSite pessoal  www.mauriciojunior.org


Comentários:


Comente (dê sua opinião): VOCÊ PRECISA ESTAR LOGADO

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

Vírus - Telegrama Eletrônico
Ophone The Microsoft - Vídeo
Visual SourceSafe 2 / 3 parte
Vídeo - Criptografia e Descriptografia
Como fechar todos os forms de um aplicativo para dispositivo móvel
Ext JS
Microsoft® Expression® Web
Conecte - novidades tecnológicas revolucionam a medicina
Trabalhando com Session
Usando public interface
MSDN Media Center - download de vídeos
Vídeos - Lançamento do Windows 7
Vídeo Aula: Criando e Publicando Site de uma melhor maneira com C#.NET
Vídeo - Sistema de Atendimento de Clientes
Innovation Days
Instalando o .NET Compact Framework 2.0 SP2 em seu Dispositivo Móvel
Novo TechNet Experience Online
Sujeira no Macbook Branquinho Resolvido
Vídeos para download
e-Book Grátis Windows Phone 7 Series
Lançamento do e-Book Dicas DotNet
Mais detalhes sobre o HTC Touch HD 2 com o possível Windows Mobile 7
Como fazer uma enquete - parte 2
Vídeo do Visual SourceSafe - Parte I
Criptografando Senha
Desenvolvendo com Atributos (Javascript) e StringBuilder
NDOC para versão framework 2.0
Vídeo mostrando como validar vários formulários
LER: prevenir ou remediar?
Exemplo do livro Programando em C# para Web
Criando TreeView com Visual Studio.NET 2005 (passo 1)
Aspirador de pó inteligente
Criando Números Aleatoriamente
Web abrindo aplicações locais
Internet Explorer 8 RC em Português

Publicidade:

[sumir] [aparecer]
DEVMEDIA




Informaes Online:

Usurios Online: 753
Artigos:  663
Vdeos:  47
PodCast's:  31
Frum:  3098
Empregos:  1226
Usurios Cadastrados: 5794

Categoria de Artigos

Vdeos

Enquete - D sua opinio

 Os podcasts tem sido proveitoso pra você?

 

Colaboradores

Foto Autor autor: Mauricio Junior   
publicou 382 artigo(s).
Foto Autor autor: Júlio Battisti   
publicou 51 artigo(s).
Foto Autor autor: Fabio Galante Mans   
publicou 28 artigo(s).
Foto Autor autor: Kleber Becerra   
publicou 10 artigo(s).
Foto Autor autor: Ramon Durães   
publicou 6 artigo(s).
Foto Autor autor: Ebenézer de Souza   
publicou 5 artigo(s).
Foto Autor autor: Fabio Aguiar   
publicou 4 artigo(s).
NETITC