Acesso negado, emulador ECF

Ola pessoal.

Estou fazendo para fins de estudo uma aplicação que deva emitir um cupom impressora fiscal. Instalei o emulador da impressora MP4200 THFI, da bematech e o programa Vitrual serial ports emul…l (VSPE) para virtualizar a porta COM6: que onde configuro o emulador da bematech.

Toda vez que mando algum comando para impressora, meu programa esta retornando uma execeção de “Acesso negado”, acreditando ser talvez algum bloqueio do windows 7 64bits que uso, tentei fazer em uma VM com windows xp 32bits, e estou tendo o mesmo erro ao mandar algum comando para a porta emulada, alguem já passou por isto e poderia me dar uma ajudinha ?

Codigo para comunicar com a impressora:


package auxi;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

public class ImpressoraTexto {

//02. Os atributos 
//view plaincopy to clipboardprint?
    private String porta = "";
    private FileOutputStream impressora = null;

//03. Um método que inicializa a comunicação com a impressora. 
//view plaincopy to clipboardprint?
    private boolean open() {
        try {
            impressora = new FileOutputStream(this.porta);
            return true;
        } catch (FileNotFoundException ex) {
            JOptionPane.showMessageDialog(null, "erro na comunicação: "+ex.getMessage(),"Erro", JOptionPane.ERROR_MESSAGE);
            return false;
        }
    }

//04. Um método que aciona a Guilhotina, caso a usa possua. 
//view plaincopy to clipboardprint?
    public void acionarGuilhotina() {
        imprimirTexto("" + (char) 27 + (char) 109);
    }

//05. Um Construtor para a Classe. Note que o próprio construtor já chama o método de abertura. 
//view plaincopy to clipboardprint?
    public ImpressoraTexto(String Porta) {
        this.porta = Porta;
        this.open();
    }

//06. Um Método para imprimir o conteúdo desejado 
//view plaincopy to clipboardprint?
    public void imprimirTexto(String Texto) {
        try {
            byte[] bytes = Texto.getBytes();
            impressora.write(bytes);
        } catch (IOException ex) {
            JOptionPane.showMessageDialog(null, "erro: "+ex.getMessage());
        }
    }

//07. Um Método para encerrar a comunicação com a impressora 
//view plaincopy to clipboardprint?
    public void fechar() {
        try {
            impressora.close();
        } catch (IOException ex) {
            Logger.getLogger(ImpressoraTexto.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

Codigo que manda o comando:


ImpressoraTexto imp = new ImpressoraTexto("COM6:");
       imp.imprimirTexto("AAAAAAAAAAAAAAAA");
       imp.fechar(); 

Qualquer sugestão ou criticas são bem vindas, obrigado !

Olá, sua versão do java é 64 e as DLL tbm?
se java 64 > dll 64
java 32 > dll 32
tomar cuidado com isso.

vc desativou o UAC(Controle de conta do usuário) do seu win?

caro amigo,
aconselho vc utilizar a dll da impressora…
primeiro que cada modelo de impressora pode
ter um software basico diferente e os comandos
via serial serem diferentes para elas…

e vc usando a dll ela padroniza todos os modelos…
digo isso porque trabalho ha muito tempo com impressoras fiscais… e sei o que estou dizendo…

Jonasjgs2, estou com problemas de comunicação…

Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: bemajava.Bematech.LeituraX()I
	at bemajava.Bematech.LeituraX(Native Method)
	at bematech.NovoCupom.geraRelatorioX(NovoCupom.java:261)
	at visao.Principal.jMenuItem17ActionPerformed(Principal.java:2353)
	at visao.Principal.access$4300(Principal.java:36)
	at visao.Principal$47.actionPerformed(Principal.java:1790)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
	at java.awt.Component.processMouseEvent(Component.java:6504)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
	at java.awt.Component.processEvent(Component.java:6269)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4860)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4686)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Window.dispatchEventImpl(Window.java:2713)
	at java.awt.Component.dispatchEvent(Component.java:4686)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
	at java.awt.EventQueue.access$000(EventQueue.java:101)
	at java.awt.EventQueue$3.run(EventQueue.java:666)
	at java.awt.EventQueue$3.run(EventQueue.java:664)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:680)
	at java.awt.EventQueue$4.run(EventQueue.java:678)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: bemajava.Bematech.LeituraX()I
	at bemajava.Bematech.LeituraX(Native Method)
	at bematech.NovoCupom.geraRelatorioX(NovoCupom.java:261)
	at visao.Principal.jMenuItem17ActionPerformed(Principal.java:2353)
	at visao.Principal.access$4300(Principal.java:36)
	at visao.Principal$47.actionPerformed(Principal.java:1790)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
	at java.awt.Component.processMouseEvent(Component.java:6504)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
	at java.awt.Component.processEvent(Component.java:6269)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4860)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4686)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Window.dispatchEventImpl(Window.java:2713)
	at java.awt.Component.dispatchEvent(Component.java:4686)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
	at java.awt.EventQueue.access$000(EventQueue.java:101)
	at java.awt.EventQueue$3.run(EventQueue.java:666)
	at java.awt.EventQueue$3.run(EventQueue.java:664)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:680)
	at java.awt.EventQueue$4.run(EventQueue.java:678)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Voce conseguiria me ajudar?

E Aí Conseguiu resolver a questão da comunicação?

Sempre que fiz ou vi algum programa que utiliza impressora fiscal foi utilizado a dll do fabricante ou o ACBR.