port // Createfile() Writefile() [windows] - C++ - Programmation
Marsh Posté le 31-08-2003 à 01:41:21
Apprends l'anglais, c'est presque indispendable a moins de trouver une bonne doc en francais...
ben sinon CreateFile(), comme son nom l'indique, sert a créer ou ouvrir un fichier, une console, une pipe, un port série ou //, etc. Il retourne le 'handle', c'est a dire le descripteur (si qqun a un nom mieux en fr) correspondant.
et WriteFile, bah pour écrire dans le bordel ouvert.
Ses parametres :
BOOL WriteFile(
HANDLE hFile, // Handle retourné par CreateFile
LPCVOID lpBuffer, // Buffer correspondant a ce que tu veux écrire
DWORD nNumberOfBytesToWrite, // Taille du Buffer
LPDWORD lpNumberOfBytesWritten, // variable servant a indiquer en retour le nb d'octets écrits
LPOVERLAPPED lpOverlapped // oublie pour l'instant
);
et ca retourne 0 si ca a raté.
en gros, par ex si je veux écrire "truc bordel", je fais :
Code :
|
.
Marsh Posté le 31-08-2003 à 13:07:13
marche po
Le port COM1 s'ouvre correctement mais je vois pas d'envoi de donnée quand j'utilise writefile().
Et sur le LPT1 j'ai rien.
voici ce que j'ai mi:
Code :
|
Et j'ai l'état de D0-D7 qui ne bouge pas.
Marsh Posté le 31-08-2003 à 17:03:30
Me suis trompé pour Writefile c'est hCom et pas "LPT1" qui faut mettre.
J'ai essayé sur le port com et ca marche sans probleme.
Mais sur le port // toujours sans succes.
Help ya personne qui l'a deja fait ?
Marsh Posté le 31-08-2003 à 19:39:12
Ca marche.
Mais je viens de voir que j'ai 7 documents non imprimé dans la fenetre de gestion d'impression de mon imprimante ...
Moi je veux juste imposé un niveau au bits de sortie D0-7 et pas envoyer un fichier à imprimer vers l'imprimante.
Une idée ?
Marsh Posté le 31-08-2003 à 22:28:48
j'ai jamais fait de port // ou série, mais faut pas oublier l'appel a CloseHandle(hCom) quand t'as fini tes opérations, ca peut expliquer pkoi y a des trucs en queue.
t'as ka mater les liens renvoyés par ca : (FR)
http://www.google.fr/search?q=Crea [...] %3Dlang_fr
Marsh Posté le 31-08-2003 à 22:32:06
JPhi a écrit : Ca marche. |
si tu as sous windows, je doute que tu puisses accéder directement au port //
A priori, il intercepte les demandes, pouvant venir de plusieurs applications.
Marsh Posté le 31-08-2003 à 23:08:43
Konar a écrit : j'ai jamais fait de port // ou série, mais faut pas oublier l'appel a CloseHandle(hCom) quand t'as fini tes opérations, ca peut expliquer pkoi y a des trucs en queue. |
Je l'ai mi chef CloseHandle(hCom) mais toujours le meme resultat.
Marsh Posté le 31-08-2003 à 23:11:08
Je crois que Createfile utilise le protocol de transfere EPP et comme l'imprimante n'est pas connécté il me met le caractere dans un fichier en attente d'impression.
Et si c'est bien ca je suis pas couché
Marsh Posté le 01-09-2003 à 01:20:19
mrBebert a écrit : si tu as sous windows, je doute que tu puisses accéder directement au port // |
ouais je pense aussi. a mon avis c'est le driver qui intercepte tout ca, le seul moyen serait donc d'écrire ton propre driver, ou de désactiver ou outrepasser l'actuel driver, ptet en ouvrant de manière spéciale le port, ou en utilisant des appels systèmes plus basiques.
Marsh Posté le 01-09-2003 à 02:18:36
Konar a écrit : |
Cad ? un copain m'a dit qu'en assembleur ca ne pose pas de probleme.
Marsh Posté le 01-09-2003 à 10:17:07
Il me semble que CreateFile sur port // ne marche pas.
Des drivers ont déjà été développés. Cette question a déjà été traité et des bons liens donnés.
Marsh Posté le 01-09-2003 à 10:18:19
ReplyMarsh Posté le 01-09-2003 à 11:25:41
Merci HelloWorld,
A default d'autre solution je vais essayé ton driver.
Marsh Posté le 31-08-2003 à 00:40:22
Salut,
Dsl j'ai fais une recherche sur le forum et j'ai pas trouvé mon bonheur.
Evidement c'est sur l'acces au port parallele sous les systemes base NT.
Je comprend rien au explication donné sur ces fonctions sur internet (souvent en anglais et ca m'aide pas)
Alors voila ce que j'ai trouvé pour ouvrir le port:
et sur writefile :
WriteFile(hCom,Message,NbOctet,&nBytesWrite,NULL);
Mais je comprend rien aux parametres de ces fonctions.
Merci d'avance
Message édité par JPhi le 31-08-2003 à 01:40:37