Abrir arquivo com programa padrao
Moderador: Moderadores
Abrir arquivo com programa padrao
Ola a todos,
Preciso abrir um arquivo com o PROGRAMA PADRÃO que está configurado no windows, seja ele qual for. Exemplo: Se o windows estiver configurado para abrir arquivos .doc no BrOffice, que abra pelo BrOffice sem que seja necessário uma intervenção do usuário informando qual programa deve abrir o arquivo.
Quero pedir ao windows para abrir um arquivo e o windows escolha qual programa vai abrir aquele arquivo.
Alguem tem ideia?
Preciso abrir um arquivo com o PROGRAMA PADRÃO que está configurado no windows, seja ele qual for. Exemplo: Se o windows estiver configurado para abrir arquivos .doc no BrOffice, que abra pelo BrOffice sem que seja necessário uma intervenção do usuário informando qual programa deve abrir o arquivo.
Quero pedir ao windows para abrir um arquivo e o windows escolha qual programa vai abrir aquele arquivo.
Alguem tem ideia?
Editado pela última vez por Maligno em 10 Fev 2011 08:58, em um total de 1 vez.
Razão: O presente tópico foi movido da seção Ferramentas de Apoio, uma vez que seu conteúdo não tem relação com os objetivos daquela seção.
Razão: O presente tópico foi movido da seção Ferramentas de Apoio, uma vez que seu conteúdo não tem relação com os objetivos daquela seção.
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Re: Abrir arquivo com programa padrao
Fala Jânio.
Essa eu peguei do Leonardo Machado.
Essa eu peguei do Leonardo Machado.
Código: Selecionar todos
********************************************************************************
***************INCIO DA FUNCAO DE ABRIR ARQUIVOS********************************
********************************************************************************
// Open help file with associated viewer application
FUNCTION Abre_arquivo( cHelpFile )
LOCAL nRet, cPath, cFileName, cFileExt
HB_FNameSplit( cHelpFile, @cPath, @cFileName, @cFileExt )
nRet := _OpenHelpFile( cPath, cHelpFile )
RETURN nRet
#pragma BEGINDUMP
#pragma comment( lib, "shell32.lib" )
#include "hbapi.h"
#include "windows.h"
HB_FUNC( _OPENHELPFILE )
{
HINSTANCE hInst;
LPCTSTR lpPath = (LPTSTR) hb_parc( 1 );
LPCTSTR lpHelpFile = (LPTSTR) hb_parc( 2 );
hInst = ShellExecute( 0, "open", lpHelpFile, 0, lpPath, SW_SHOW );
hb_retnl( (LONG) hInst );
return;
}
#pragma ENDDUMP
********************************************************************************
***************FIM DA FUNCAO DE ABRIR ARQUIVOS**********************************
********************************************************************************Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
Re: Abrir arquivo com programa padrao
deu só o filé aqui!
Valeu!
Janio
Valeu!
Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Re: Abrir arquivo com programa padrao
Amiguinhos,
Após reinstalar meu Windows tentei abrir um .DBF por várias vezes e o mesmo só era aberto pelo Notepad, mesmo eu tendo forçado a abertura pelo DBFViewer(utilitario que eu uso).
Então analisando o registro do Windows retirei o conjunto de chaves que agreguei no meu .REG pessoal de tunagem para instalação.
Depois fiz a seguinte alteracao de forma que pudesse abrir imagem .BMP com meu programa favorito:
Após reinstalar meu Windows tentei abrir um .DBF por várias vezes e o mesmo só era aberto pelo Notepad, mesmo eu tendo forçado a abertura pelo DBFViewer(utilitario que eu uso).
Então analisando o registro do Windows retirei o conjunto de chaves que agreguei no meu .REG pessoal de tunagem para instalação.
Código: Selecionar todos
Windows Registry Editor Version 5.00
;------------------------------------------------------------------------------
;Abertura de DBF pelo DBFViewer
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.DBF]
"Application"="C:\\meus arquivos\\DBFViewer2000\\dbview.exe"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.DBF\OpenWithList]
"a"="dbview.exe"
"MRUList"="a"
"a"="dbview2.exe"
Código: Selecionar todos
Windows Registry Editor Version 5.00
;------------------------------------------------------------------------------
;Abertura de BMP pelo IrfanView
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.BMP]
"Application"="C:\\meus arquivos\\IrfanView\\i_view32.exe"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.BMP\OpenWithList]
"a"="i_view32.exe"
"MRUList"="a"
"a"="i_view32.exe"
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Re: Abrir arquivo com programa padrao
Esqueceram de comentar um detalhe importante para os leigos. É apenas uma lembrança para aqueles que virem muitas possibilidades nesse tipo de artifício: um programa só pode se tornar padrão para a abertura de um determinado tipo de arquivo se ele próprio tiver sido construído para aceitar um argumento de linha de comando. Sem isso, nada feito. Não basta apenas "escolher" que programa abrirá certo tipo de arquivo.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
-
MARCELOG
- Usuário Nível 4

- Mensagens: 546
- Registrado em: 15 Mar 2005 16:54
- Localização: Divinópolis/MG
Re: Abrir arquivo com programa padrao
Olá combatente,
por padrão, quando se digita um nome de arquivo e extensão no prompt do Windows(R), ele abre o arquivo com o programa associado.
Se, por exemplo, em associações, o usuário definiu que o arquivo com extensão .xls vai ser aberto com o Excel, ao digitar arquivo.xls no msdos o programa será chamado automaticamente e tentará abrir o arquivo.
Simples assim.
Então, com base em postagens dos colegas, adaptei a função a seguir de modo que executar vários comandos de linha no prompt msdos do Window(R).
Inclusive a simples entrada do nome de arquivo que chama automaticamente o programa associado.
Ex:
MYRUN("teste.doc") abre o arquivo teste.doc com o Word se os documentos .doc estiverem associados ao mesmo.
MYRUN("teste.doc",1,.t.) faz a mesma coisa, mas mantém a janela msdos ativa e aguarda até fechar o documento Word (teste.doc) que foi aberto.
MarceloG
Ps: O arquivo tem que existir!
por padrão, quando se digita um nome de arquivo e extensão no prompt do Windows(R), ele abre o arquivo com o programa associado.
Se, por exemplo, em associações, o usuário definiu que o arquivo com extensão .xls vai ser aberto com o Excel, ao digitar arquivo.xls no msdos o programa será chamado automaticamente e tentará abrir o arquivo.
Simples assim.
Então, com base em postagens dos colegas, adaptei a função a seguir de modo que executar vários comandos de linha no prompt msdos do Window(R).
Inclusive a simples entrada do nome de arquivo que chama automaticamente o programa associado.
Ex:
MYRUN("teste.doc") abre o arquivo teste.doc com o Word se os documentos .doc estiverem associados ao mesmo.
MYRUN("teste.doc",1,.t.) faz a mesma coisa, mas mantém a janela msdos ativa e aguarda até fechar o documento Word (teste.doc) que foi aberto.
MarceloG
Ps: O arquivo tem que existir!
Código: Selecionar todos
FUNCTION MYRUN(cAcao,nExibe,lEspera)
LOCAL oShell, lRetorno
DEFAULT nExibe TO 0
DEFAULT lEspera TO .F.
oShell := CREATEOBJECT('WSCRIPT.SHELL')
lRetorno := oShell:RUN(cAcao,nExibe,lEspera)
oShell := NIL
RETURN lRetorno
Editado pela última vez por Toledo em 10 Fev 2011 22:33, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Água mole em pedra dura tanto bate que até espirra!
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Re: Abrir arquivo com programa padrao
Amiguinhos,
Como o Maligno postou, só haverá a abertura de um determinado e extensão se o programa que o abrirá, tiver a capacidade de receber parametros de linha de comando.
Ao compilar-mos o codigo acima, e executar-mos na linha de comandos, por exemplo:
TESTE CLIENTES
O programa será executado mas não abrirá nenhum arquivo, pois nao tem a capacidade de receber parametros, mesmo que o façamos via registro, etc.
Neste segundo exemplo ao executar-mos o mesmo comando obteremos a abertura do arquivo que foi passado como parametro.
Se fizermos a associação deste aplicativo com uma extensão o Windows o reconhecerá como um dos programas que poderá abrí-lo.
Exemplo de associação que apresentará no menu de contexto mais de uma opção para abertura de um mesmo tipo de arquivo por mais de uma ferramenta:
Vejam que em "MRUList" vemos "cab" que é a ordem de prioridade de abertura do arquivo associado, ou seja, a primeira opção de abertura será "TESTE.EXE", a segunda "dbview.exe" e a terceira "dbu.exe"
Como o Maligno postou, só haverá a abertura de um determinado e extensão se o programa que o abrirá, tiver a capacidade de receber parametros de linha de comando.
Código: Selecionar todos
FUNCTION MAIN()
USE &( PARAMETRO ) SHARED
RETURN .T.
TESTE CLIENTES
O programa será executado mas não abrirá nenhum arquivo, pois nao tem a capacidade de receber parametros, mesmo que o façamos via registro, etc.
Código: Selecionar todos
FUNCTION MAIN( PARAMETRO )
USE &( PARAMETRO ) SHARED
RETURN .T.
Se fizermos a associação deste aplicativo com uma extensão o Windows o reconhecerá como um dos programas que poderá abrí-lo.
Exemplo de associação que apresentará no menu de contexto mais de uma opção para abertura de um mesmo tipo de arquivo por mais de uma ferramenta:
Código: Selecionar todos
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.DBF\OpenWithList]
"c"="TESTE.EXE"
"MRUList"="cab"
"a"="dbview.exe"
"b"="dbu.exe"
"c"="TESTE.EXE"
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Re: Abrir arquivo com programa padrao
E é!? Dessa eu naum sabia!MarceloG
por padrão, quando se digita um nome de arquivo e extensão no prompt do Windows(R), ele abre o arquivo com o programa associado.
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
