CRIAR UM DRIVE DE IMPRESSÃO
Já fiz uma pergunta aqui antigamente sobre montar no vb uma impressora virtual e agora este problema que não consegui resolver voltou !!!
o Problema é o seguinte:
Quando um programa de terceiro imprimir (exemplo: programa da receita federal (irpf)) eu quero que este seja impresso em um
drive de impressora virtual que eu criei, pois vou mostrar uma relação de nomes para o usuário selecionar e daà sim... de acordo com a
seleção vou salvar o relatório no caminho onde eu quero.
Alguém tem alguma ideia de como fazer isto ?
Obrigado.
o Problema é o seguinte:
Quando um programa de terceiro imprimir (exemplo: programa da receita federal (irpf)) eu quero que este seja impresso em um
drive de impressora virtual que eu criei, pois vou mostrar uma relação de nomes para o usuário selecionar e daà sim... de acordo com a
seleção vou salvar o relatório no caminho onde eu quero.
Alguém tem alguma ideia de como fazer isto ?
Obrigado.
JEVILLACA,
Com certeza tem jeito de fazer!
Primeiro é preciso (1*) criar o drive virtual, depois é preciso (2*) ler os nomes dos arquivos que estão lá dentro ... vamos pesquisar!
(1*) Criar um drive virtual:
==============================================
methods in Visual Basic
http://reboot.pro/topic/18828-methods-in-visual-basic/
==============================================
How to develop a virtual disk for Windows
http://www.codeproject.com/Articles/58950/How-to-develop-a-virtual-disk-for-Windows
==============================================
Create Virtual Drive (no subst.exe ... using API)
http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=61198&lngWId=1
==============================================
How to Create a Virtual Windows Drive
http://stackoverflow.com/questions/1096788/how-to-create-a-virtual-windows-drive
==============================================
.NET DiscUtils
http://discutils.codeplex.com/
==============================================
*** EXTRA - Hum ... interessante isto... será que é possÃvel gravar em uma Fila (spool) de impressão e segurar a fila para imprimir somente quando queremos?!? Talvez seja outra forma de resolver o problema!
==============================================
Writing a Virtual Printer in .NET
http://stackoverflow.com/questions/257768/writing-a-virtual-printer-in-net
==============================================
(2*) Agora é preciso ler o conteúdo de um drive...
==============================================
List Drives and Folders in a TreeView Using C#
http://codehill.com/2013/06/list-drives-and-folders-in-a-treeview-using-c/
==============================================
DriveInfo.GetDrives Method
http://msdn.microsoft.com/en-us/library/system.io.driveinfo.getdrives%28v=vs.110%29.aspx
==============================================
How to: Get Information About Files, Folders, and Drives (C# Programming Guide)
http://msdn.microsoft.com/en-us/library/6yk7a1b0.aspx
==============================================
Reading files from server is being mapped always C :\ drive
http://stackoverflow.com/questions/20138569/reading-files-from-server-is-being-mapped-always-c-drive
==============================================
Accessing a file on a network drive
http://stackoverflow.com/questions/2501278/accessing-a-file-on-a-network-drive
==============================================
Agora é preciso ler tudo isto e juntar em um programa que permita criar um drive e depois leia o conteúdo que for gravado lá.
é isto?
[][ô]s,
Tunusat.
Com certeza tem jeito de fazer!
Primeiro é preciso (1*) criar o drive virtual, depois é preciso (2*) ler os nomes dos arquivos que estão lá dentro ... vamos pesquisar!
(1*) Criar um drive virtual:
==============================================
methods in Visual Basic
http://reboot.pro/topic/18828-methods-in-visual-basic/
Private Sub MyApplicationLoad(sender as object, e as system.eventargs)Handles Me.Load
Dim deviceID As UInt32 = UInt32.MaxValue
CreateDevice(10485760, [Ô]X:[Ô], deviceID)
CreateMountPoint([Ô]X:[Ô], deviceID)
End Sub
==============================================
How to develop a virtual disk for Windows
http://www.codeproject.com/Articles/58950/How-to-develop-a-virtual-disk-for-Windows
==============================================
Create Virtual Drive (no subst.exe ... using API)
http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=61198&lngWId=1
==============================================
How to Create a Virtual Windows Drive
http://stackoverflow.com/questions/1096788/how-to-create-a-virtual-windows-drive
==============================================
.NET DiscUtils
http://discutils.codeplex.com/
==============================================
*** EXTRA - Hum ... interessante isto... será que é possÃvel gravar em uma Fila (spool) de impressão e segurar a fila para imprimir somente quando queremos?!? Talvez seja outra forma de resolver o problema!
==============================================
Writing a Virtual Printer in .NET
http://stackoverflow.com/questions/257768/writing-a-virtual-printer-in-net
==============================================
(2*) Agora é preciso ler o conteúdo de um drive...
==============================================
List Drives and Folders in a TreeView Using C#
http://codehill.com/2013/06/list-drives-and-folders-in-a-treeview-using-c/
==============================================
DriveInfo.GetDrives Method
http://msdn.microsoft.com/en-us/library/system.io.driveinfo.getdrives%28v=vs.110%29.aspx
==============================================
How to: Get Information About Files, Folders, and Drives (C# Programming Guide)
http://msdn.microsoft.com/en-us/library/6yk7a1b0.aspx
==============================================
Reading files from server is being mapped always C :\ drive
http://stackoverflow.com/questions/20138569/reading-files-from-server-is-being-mapped-always-c-drive
==============================================
Accessing a file on a network drive
http://stackoverflow.com/questions/2501278/accessing-a-file-on-a-network-drive
==============================================
Agora é preciso ler tudo isto e juntar em um programa que permita criar um drive e depois leia o conteúdo que for gravado lá.
é isto?
[][ô]s,
Tunusat.
mas como vou fazer que um programa de terceiro chame o meu executável ?
JEVILLACA,
[Ô]SHELL[Ô] serve para isso... Veja se funciona para você, por exemplo:
http://www.dotnetperls.com/shell
Outro exemplo:
Como executar vários comandos de cmd em VB.net
http://pt.stackoverflow.com/questions/46622/como-executar-v%C3%A1rios-comandos-de-cmd-em-vb-net
é só colocar um [ô]&[ô] entre os comandos. No meu caso iria ficar assim:
é isso?
[][ô]s,
Tunusat.
[Ô]SHELL[Ô] serve para isso... Veja se funciona para você, por exemplo:
http://www.dotnetperls.com/shell
Module Module1
Sub Main()
[ô] Run this specific executable on the shell.
[ô] ... Specify that it is focused.
Shell([Ô]calc.exe[Ô], AppWinStyle.NormalFocus)
End Sub
End Module
Outro exemplo:
Como executar vários comandos de cmd em VB.net
http://pt.stackoverflow.com/questions/46622/como-executar-v%C3%A1rios-comandos-de-cmd-em-vb-net
é só colocar um [ô]&[ô] entre os comandos. No meu caso iria ficar assim:
Shell([Ô]CMD.EXE /c cd C:\LocalPath & mkdir Locale & cd Locale\[Ô])
é isso?
[][ô]s,
Tunusat.
Faça seu login para responder