Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

Dotinho

Abrir documentos em vb

Mensagens Recomendadas

Dotinho    1
Dotinho

Boas, eu sei que para iniciar um programa, usa-se a shell(<caminho do programa>), mas infelizmente nao funciona para documentos tipo C:\luis.doc, alguem tem alguma sugestão?

inclusive ja esprimentei shell(C:\programas\...\winword.exe C:\luis.doc), isto de várias maneiras e nunca consegui..

cmps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
jpaulino    106
jpaulino

Usando API's tens de usar o ShellExecute() e não o Shell().  Mas em .NET podes fazer:

Process.Start("caminho + nome do ficheiro")

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Dotinho    1
Dotinho

mas é necessário username e password, e para um programa que poderá nao server só para mim, é chato..e não encontrei o ShellExecute, apenas tenho o shell e o Process.Start()

cmps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
jpaulino    106
jpaulino

O ShellExecute() é uma API que tens de declarar e não está disponível directamente no codigo. Se pesquisares encontras vários exemplos na net (alguns até meus :) )

Não entendi a parte do username e da password

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Dotinho    1
Dotinho

Boas, afinal não funciona muito bem, encontrei um link da MS : http://support.microsoft.com/kb/170918

Está lá como se declara a API, e as constantes..

Mas da um erro entre 100000000 e 800000000

e ainda nao encontrei nada sobre isso..

Aqui fica o codigo :



    Const SW_SHOWNORMAL = 1
    Const SE_ERR_FNF = 2&
    Const SE_ERR_PNF = 3&
    Const SE_ERR_ACCESSDENIED = 5&
    Const SE_ERR_OOM = 8&
    Const SE_ERR_DLLNOTFOUND = 32&
    Const SE_ERR_SHARE = 26&
    Const SE_ERR_ASSOCINCOMPLETE = 27&
    Const SE_ERR_DDETIMEOUT = 28&
    Const SE_ERR_DDEFAIL = 29&
    Const SE_ERR_DDEBUSY = 30&
    Const SE_ERR_NOASSOC = 31&
    Const ERROR_BAD_FORMAT = 11&

Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
                    (ByVal hwnd As Long, ByVal lpszOp As String, _
                     ByVal lpszFile As String, ByVal lpszParams As String, _
                     ByVal LpszDir As String, ByVal FsShowCmd As Long) _
                     As Long

Private Declare Function GetDesktopWindow Lib "user32" () As Long

' e no botão tenho:

Try
            Dim r As Long = StartDoc(LV.SelectedItems(0).SubItems(2).Text)
            MsgBox("RES=" & r) : Dim msg As String
  Catch ex As Exception
            MsgBox(ex.ToString)
   End Try



Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade