Eu achei esse texto aqui, ve se ajuda...
 
 
Verificar se Impressora esta Conectada
A dica abaixo apresenta o código para implementação de uma função para 
verificar se a impressora esta conectada. 

Para implementar esta função é necessário que o código gerado manipule algumas 
interrupções da Bios (Sistema Básico de Entrada e Saída) responsáveis pelo 
controle da porta paralela (Interrupção $17).

A interrupção $17 utiliza dois registros ah e dx, o registrador ah indica neste 
caso o acesso a porta paralela e o registrador dx indica qual das portas será 
testada, 0 para LPT1 e 1 para LPT2.

Para saber se a porta esta ligada (impressora conectada) o resultado da 
operação de tratamento de interrupção deve ser $80. 

Código Completo:
Function OnLine(Porta:Word):Boolean;Const Portas :Byte = $02;Var Res 
:Byte;Begin { Código em Assembler } Asm mov ah,Portas; {Requisita o acesso as 
portas}mov dx,Porta;{Define a porta de teste}Int $17; {Chama a interrupção de 
Impressora} mov Res,ah; {Guarda em Res o resultado da operação } end; Result := 
(Res and $80) = $80; {Testa o valor de saída}End; 

sa_souza <[EMAIL PROTECTED]> escreveu:
Olá pessoal...
tô com um probleminha aqui...
----------------------------------------------------------------
Function TForm1.VerificaImpressoraConectada(Porta:Word):Boolean;
Const Portas :Byte = $02;
Var   Res :Byte;
Begin
Asm
  mov ah,Portas;
  mov dx,Porta;
  Int $17;  //-----> aqui dá um Access Violation...
  mov Res,ah;
end;
Result := (Res and $80) = $80;
end;
----------------------------------------------------------------
em qq porta q eu escolher... alguém ai manja de Asm pra me dar uma 
dicazinha de como resolver este erro?
os valores para porta são:
LPT1 = 0;
LPT2 = 1;
LPT3 = 2;
LPT4 = 3;
COM1 = 8;
COM2 = 9;
COM3 = 10;
COM4 = 11;
caso não seja nenhuma destas então deve ser um PATH válido com um 
arquivo TXT. Ex: 'C:\Windows\impressao.txt'

Obrigado por qq ajuda...

Sérgio A Souza
Analista de Sistemas
THOMASINI & Associados
Automação Comercial e Industrial

e-mail: [EMAIL PROTECTED]
MSN/Skype: [EMAIL PROTECTED]
msn PVT: [EMAIL PROTECTED]



Thiago de Castro X. da Silveira

Pré-Vestibular Pitágoras 
Unidades Centro, Savassi e Belvedere.
Setor TI
telefone: +55 (31) 3274-1088 
e-mails:
[EMAIL PROTECTED]
[EMAIL PROTECTED]


                
---------------------------------
 Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e 
concorre a mais de 500 prêmios! Participe!

[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 




Responder a