IMPRESSORA DIEBOLD PROCOMP TSP143MU_A

IGADINO 26/11/2022 16:46:26
#500827
Boa tarde pessoal alguem tem como me falar se tem como saber se a impressora Diebold Procomp TSP143MU_A esta ligada ou desligada
peguei a função abaixo mais pra mim não funciona

Sub Check_Printer_Status()
Dim strComputer As String
Dim objWMIService
Dim colInstalledPrinters
Dim objPrinter
strComputer = "."
objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "oot\cimv2")
colInstalledPrinters = objWMIService.ExecQuery("Select * from Win32_Printer where Default="True"")
For Each objPrinter In colInstalledPrinters
Select Case objPrinter.printerstatus
Case 3
MsgBox("A impressora está ociosa" )
Case 4
MsgBox("Impressora esta imprimindo")
Case 5
MsgBox("A impressora está aquecendo")
Case 6
MsgBox("A impressora está desativada")
Case 7
MsgBox("A impressora está desativada")
End Select
Next
End Sub

MFLAVIO 28/11/2022 10:48:04
#500828
Cara na DLL MECAFW32
tem uma chamada que abre o Canal de comunicação
pelo retorno da chamada
voce consegue saber se esta ON ou OFF

     Private Declare Function MECAFW32_AbreCanalDeComunicacao Lib "MECAFW32.dll" (ByVal pcPorta As String, ByVal pcVelocidade As String, ByVal pcNumbits As String, ByVal pcParidade As String, ByVal pcTimeout As String, ByVal pcTimeouVal As String) As Integer

usando a chamada
    Private Sub Print_Teste(NomePrint As String)
Pnome = NomePrint.Substring(0, 3)

Select Case Pnome

Case "USB", "usb"
pPorta = "USB"
Case Else
SAviso = "***Porta Inalcansavel***"
Aviso.ShowDialog()
Err.Clear()
FecharComunicacao()
Exit Sub

End Select
Retorno = MECAFW32_AbreCanalDeComunicacao(pPorta, "", "", "", "", "")
If Retorno = 0 Then

CPImprime(Mecaf_Limpa, Len(Mecaf_Limpa))
sVAR = "**Teste de Comunicação com Diebold Mecaf Procomp**" & vbCrLf
CPImprime(sVAR, Len(sVAR))
sVAR = "" & vbCrLf
CPImprime(sVAR, Len(sVAR))

sVAR = "Conentado via " & pPorta & vbCrLf
CPImprime(sVAR, Len(sVAR))
sVAR = "" & vbCrLf
CPImprime(sVAR, Len(sVAR))


CPImprime(Mecaf_Negrito, Len(Mecaf_Negrito))
sVAR = "Texto em Negrito" & vbCrLf
CPImprime(sVAR, Len(sVAR))
sVAR = " Texto em Negrito" & vbCrLf
CPImprime(sVAR, Len(sVAR))
sVAR = " Texto em Negrito" & vbCrLf
CPImprime(sVAR, Len(sVAR))
sVAR = "" & vbCrLf
CPImprime(sVAR, Len(sVAR))

CPImprime(Mecaf_Limpa, Len(Mecaf_Limpa))
CPImprime(Mecaf_Condensado, Len(Mecaf_Condensado))
sVAR = "Texto em Condensado" & vbCrLf
CPImprime(sVAR, Len(sVAR))
sVAR = " Texto em Condensado" & vbCrLf
CPImprime(sVAR, Len(sVAR))
sVAR = " Texto em Condensado" & vbCrLf
CPImprime(sVAR, Len(sVAR))
sVAR = "" & vbCrLf
CPImprime(sVAR, Len(sVAR))

CPImprime(Mecaf_Limpa, Len(Mecaf_Limpa))
CPImprime(Mecaf_Grande, Len(Mecaf_Grande))
sVAR = "Texto em Expandido" & vbCrLf
CPImprime(sVAR, Len(sVAR))
CPImprime(Mecaf_Grande, Len(Mecaf_Grande))
sVAR = " Texto em Expandido" & vbCrLf
CPImprime(sVAR, Len(sVAR))
sVAR = " Texto em Expandido" & vbCrLf
CPImprime(Mecaf_Grande, Len(Mecaf_Grande))
CPImprime(sVAR, Len(sVAR))
sVAR = "" & vbCrLf
CPImprime(sVAR, Len(sVAR))

CPImprime(Mecaf_Limpa, Len(Mecaf_Limpa))
sVAR = "" & vbCrLf
CPImprime(sVAR, Len(sVAR))

CPImprime(Mecaf_Negrito, Len(Mecaf_Negrito))
sVAR = "Codigo de Barras COD128" & vbCrLf
CPImprime(sVAR, Len(sVAR))

CPImprime(Mecaf_Limpa, Len(Mecaf_Limpa))
sVAR = "58732105487026598745210236985498710236598741" & vbCrLf
sVAR = Mecaf_COD128 & sVAR
CPImprime(sVAR, Len(sVAR))
CPImprime(Mecaf_Limpa, Len(Mecaf_Limpa))

CPImprime(Mecaf_AbreGaveta, Len(Mecaf_AbreGaveta))

CPImprime(Mecaf_Limpa, Len(Mecaf_Limpa))
sVAR = "" & vbCrLf
CPImprime(sVAR, Len(sVAR))
sVAR = "" & vbCrLf
CPImprime(sVAR, Len(sVAR))

Pnome = LeArquivoINI(nome_arquivo_ini, "SAT", "QRcod", True)
If Pnome = True Then
CPImprime(Mecaf_Negrito, Len(Mecaf_Negrito))
sVAR = "Codigo de Barras QR-COD" & vbCrLf
CPImprime(sVAR, Len(sVAR))
CPImprime(Mecaf_Limpa, Len(Mecaf_Limpa))
sVAR = "fLxUr/974AsFDxf5yRa5Bys8sKsYGt9MdlOI4cIqs2SazPo/x7bJShxKCpQH+WzLA6pEJLbB3sOhKRaX6WaoBT8G5UhM/0UmjDjiUBCwItfO+UyFvzgvChQONUpsBg3xpneEc6NP71l5kz5oPmRJLxbvkv3gTMY3va0qDttYFjNj3aGePJj2bKdkZCCb4xT9n/DwtogWpfq73PAppxzGlT7vpcMg7jIAi8HAycrN46CnMoMY04L0H8eBNl3PuJchs1VAYEo7wHimv8Zzo/lOu8xUmlVFsvrn7qTfla0KN+NcqMtp1ZjTebrsGTJbrqsa8o8VzCeXHdaKmqhHp8CEYw==" & vbCrLf
sVAR = MECAF_QrCOD & sVAR
CPImprime(sVAR, Len(sVAR))
End If
CPImprime(Mecaf_Limpa, Len(Mecaf_Limpa))

sVAR = "" & vbCrLf
sVAR = "" & vbCrLf
sVAR = "" & vbCrLf
CPImprime(sVAR, Len(sVAR))

CPImprime(Mecaf_CortaPapel, Len(Mecaf_CortaPapel))
Else
SAviso = "***Impossivel Comunicar com Impressora***" + vbCrLf + "Verifique as configurações da Impressora"
Aviso.ShowDialog()
End If
End Sub
IGADINO 30/11/2022 08:33:41
#500837
Pessoal eu paga para que fizer uma função em vb.net para detectar se a impressora esta ligada ou desligada, a função e so para verificar isso.
MFLAVIO 30/11/2022 09:10:49
#500838
Citação:

:
Pessoal eu paga para que fizer uma função em vb.net para detectar se a impressora esta ligada ou desligada, a função e so para verificar isso.


Amigo e fácil usa o exemplo que passei

faça essa declaração da DLL

  Private Declare Function MECAFW32_AbreCanalDeComunicacao Lib "MECAFW32.dll" (ByVal pcPorta As String, ByVal pcVelocidade As String, ByVal pcNumbits As String, ByVal pcParidade As String, ByVal pcTimeout As String, ByVal pcTimeouVal As String) As Integer 


depois e só chamar a função a variável pPorta e a porta da impressora que deseja verificar

   Retorno = MECAFW32_AbreCanalDeComunicacao(pPorta, "", "", "", "", "")
If Retorno = 0 Then
msgbox="Impressora OK"
else
msgbox="Impressora OFF"
end if
IGADINO 30/11/2022 21:21:03
#500839
Olha tentei assim veja a mensagem que aparece
Private Sub Print_Teste()
Dim Retorno As Integer
Dim pPorta As String = "USB001"
Retorno = MECAFW32_AbreCanalDeComunicacao(pPorta, "", "", "", "", "")
If Retorno = 0 Then
MsgBox("Impressora OK")
Else
MsgBox("Impressora OFF")
End If
End Sub

Additional information: Não é possível carregar a DLL "MECAFW32.dll": Não foi possível encontrar o módulo especificado. (Exceção de HRESULT: 0x8007007E)
MFLAVIO 01/12/2022 15:32:48
#500841
Citação:

:
Olha tentei assim veja a mensagem que aparece
Private Sub Print_Teste()
Dim Retorno As Integer
Dim pPorta As String = "USB001"
Retorno = MECAFW32_AbreCanalDeComunicacao(pPorta, "", "", "", "", "")
If Retorno = 0 Then
MsgBox("Impressora OK")
Else
MsgBox("Impressora OFF")
End If
End Sub

Additional information: Não é possível carregar a DLL "MECAFW32.dll": Não foi possível encontrar o módulo especificado. (Exceção de HRESULT: 0x8007007E)



voce copiou a DLL mecafw32.dll
para mesma pasta que o EXE do seu projeto?
IGADINO 01/12/2022 22:04:40
#500843
MECAFW32.DLL esta dentro da mesma pasta sim
MFLAVIO 05/12/2022 15:27:12
#500850
Citação:

:
MECAFW32.DLL esta dentro da mesma pasta sim


esse erro de nao conseguir carregar DLL
quer dizer que por algum motivo, o seu executável não conseguiu localizar a DLL
IGADINO 16/12/2022 16:15:59
#500890
Seria se tem como resolver este problema
MFLAVIO 22/12/2022 13:39:32
#500923
Citação:

:
Seria se tem como resolver este problema



claro
voce precisa colocar a DLL e suas dependentes na mesma pasta onde esta sendo executado o EXE do seu aplicativo
IGADINO 23/12/2022 11:24:22
#500930
Que dependentes são esses?
Faça seu login para responder