OVH Cloud OVH Cloud

pb écriture port parallele sous 2000

2 réponses
Avatar
Christophe
Je fais un programme en visual basic, qui doit ecrire sur le port parallele.
Je suis sous windows 2000, ca plante quand j'essai d'écrire sur le port,
alors que ca passe sous 98.
Y'a t'il une modif à faire, faut-il ajouter une DLL ?

Merci d'avance

2 réponses

Avatar
Jean-Claude BELLAMY
Christophe s'est ainsi exprimé:

Je fais un programme en visual basic, qui doit ecrire sur le port
parallele. Je suis sous windows 2000, ca plante quand j'essai
d'écrire sur le port,
NORMAL !

Cela est strictement interdit sous NT !
Tout accès au matériel DOIT passer par le système.
JAMAIS d'accès direct (in, out, int13h, .. interdits!)

alors que ca passe sous 98.
Y'a t'il une modif à faire, faut-il ajouter une DLL ?


Tu peux passer par la fonction "CreateFile" (de kernel32.dll), qui permet
d'ouvrir à peu près n'importe quoi (fichiers, répertoires, ports COM et
LPT,..)
Syntaxe C :
HANDLE CreateFile(
LPCTSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile
);

On doit avoir, dans le cas d'un port, :
dwShareMode = 0 (accès exclusif)
dwCreationDisposition = OPEN_EXISTING
hTemplateFile = NULL


On peut aussi s'en tirer à l'aide d'une interface nommée "NTPort", qui
fonctionne très bien (sous Win9X/ME/NT3.5x/NT4/W2K/XP/W2K3) , et est
utilisable dans toute appli C,/C++, VB, Delphi, VN.NET, C#, ...(tout est
fourni : les *.h, *.cpp, *.dsw, ..*.dfm, *.dpr, *.pas, ...*.frm..)
Son usage est plus simple que celui de Createfile (et tout est prévu pour
l'utiliser directement en VB)

Ce n'est pas gratuit, mais le prix est raisonnable (30 $)
http://zealsoftstudio.com/ntport/


Il existe chez cet éditeur la même chose pour des accès MEMOIRE directs
http://www.zealsoft.com/memaccess/index.html

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*

Avatar
Pascal SIMON
Il faut que tu déconnectes toute eventuelle imprimante connectée au port LPT
sur lequel tu veux écrire (si elle était en LPT1, tu la passes en LPT2 ou
LPT3. Evidemment, tu ne pourras pas imprimer tant que tu n'aura pas fait la
manip inverse). Win2k supporte mal que plusieurs personne gère en même temps
un même port LPT.


"Christophe" wrote in message
news:bknl68$skf$
Je fais un programme en visual basic, qui doit ecrire sur le port
parallele.

Je suis sous windows 2000, ca plante quand j'essai d'écrire sur le port,
alors que ca passe sous 98.
Y'a t'il une modif à faire, faut-il ajouter une DLL ?

Merci d'avance