FILESYSTEMWATCHER X WEBBROWSER
Estou utilizando o FileSystemWatcher apenas para pegar o caminho e nome do arquivo.
Atualmente estou utilizando assim.
Imports System.IO
Public Class Form1
Private WB As New WebBrowser()
Public Event DocumentCompleted As WebBrowserDocumentCompletedEventHandler
Dim WithEvents Arquivo As New FileSystemWatcher()
Public Sub inFile_All(ByVal sender As Object, ByVal e As FileSystemEventArgs) Handles Arquivo.Created
Try
pathfile = e.FullPath
Me.WebB.Url = New System.Uri(pathfile, System.UriKind.Absolute)
Me.WebB.Show()
Catch ex As Exception
MessageBox.Show(ex.Message.ToString)
End Try
End Sub
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Arquivo.Path = [Ô]C:\BOLETO[Ô]
Arquivo.IncludeSubdirectories = False
Arquivo.Filter = [Ô]*.html[Ô]
Arquivo.NotifyFilter = NotifyFilters.FileName
Arquivo.EnableRaisingEvents = True
System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = False
End Sub
End Class
Dessa forma ele não abre diversos forms, exibe o boleto, porém não é possivel comandar a impressão automática.
Ontem havia necessiade de eu comandar apenas uma impressão e depois o sistema comandava automaticamente(descontrolada)
Sendo assim não está sendo criado uma nova instancia do FSW.
E a duplicidade estava relacionada a outro teste que fiz que não deu certo.
Citação:Mas JABA, aqui funciona, ele abre corretamente o arquivo colocado na pasta. Lembrando que Me.WebB.Show() esta se referindo ao objeto webbrowser e não ao formulario. No caso o .Show() do objeto webbrowser mostra o html no objeto, e não uma nova instancia do formulário.
Sendo assim não está sendo criado uma nova instancia do FSW.
E a duplicidade estava relacionada a outro teste que fiz que não deu certo.
pois é, eu percebi isso depois. Eu retirei o codigo pensando que você não tinha visto ainda.
vlw
Citação::
FOXMAN, e se você usar JavaScript para imprimir assim que a pagina for carregada. Dai o VB só vai tratar de jogar o HTML no WebBrowser e javascript contido na pagina faz o resto.
Tem algum exemplo ????
Fazer uma chamada a :
rundll32.exe mshtml.dll,PrintHTML [Ô]c:\boleto\p9660.html[Ô]
Essa linha de comando, abre a janela de dialogo de impressão. Teria alguma forma de não abrir o Dialogo e enviar diretamente para impressora ?
Fiz alguns comentarios no form2.
vlw
Citação::
Dá uma olhada agora e vê se isso te atende.
Fiz alguns comentarios no form2.
vlw
Jaba, testei aqui e não imprimiu nada quando joguei um arquivo em c:\boleto
Por acaso você conseguiu imprimir ai ????? pois pode ser outro problema e eu não estou detectando.
Citação::
:
Dá uma olhada agora e vê se isso te atende.
Fiz alguns comentarios no form2.
vlw
Jaba, testei aqui e não imprimiu nada quando joguei um arquivo em c:oleto
Por acaso você conseguiu imprimir ai ????? pois pode ser outro problema e eu não estou detectando.
Bem, como eu estava começando a desconfiar, me parece algum bug, ou algum erro do windows.
E eu aqui me matando desde ontem....
Seguinte.
Reiniciei o pc, e excutei o seu exemplo novamente, funcionou nos primeiros boletos, depois , não funcionou mais. Cheguei jogar de uma unica vez uns 4 boletos e imprimiu normal, porém depois não imprimiu mais.
Não é nada relacionado com o sistema, pois abri o boleto com o IE e não consegui imprimir.
Naquele msgbox dentro do Form2 que está comentado, ele me mostra todo o html certinho. Se voce tiver um rotina para imprimir, é só substituir a mensagem pela rotina.
A ideia no segundo exemplo é essa mesmo?
vlw