ce programme utilisait la fonction opencomm pour l'ouverture du port com
j'ai lu qu' il fallait en vb6 utiliser createfile.
jusque là c'est ok, mais je ne sais vraiment pas comment l'utiliser ( et oui
je suis un véritable ignorant ;)
Voici comment est utilisée la fonction opencom dans le programme vb3 :
----------
Declare Function OpenComm Lib "User" (ByVal ComName As String, ByVal
RBuffer%, ByVal TBuffer%) As Integer
OpenComm(Com1:, 32000, 32000)
----------
en vb 6, j'ai déclarer la fonction et le type suivant :
----------
Declare Function CreateFile Lib "kernel32.dll" Alias "CreateFileA" (ByVal
lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As
Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, ByVal
dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal
hTemplateFile As Long) As Long
Public Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type
------------
ma question est finalement : que quoi je met dans createfile pour avoir le
même résultat que dans la fonction opencomm de vb3 ?
CreateFile(Com1:?, ?, ? , ?, ?, ?, ?)
Si quelqu'un peut m'aider, son aide me sera d'un grand secours.
d'avance merci
PS j'aurai surement le même problème avec les autres fonctions suivantes :
je vous remercie de votre attention et vous souhaite à tous un joyeux noël
(vu mon niveau d'ignorance, j'aurais certainement l'occasion de vous
souhaitez une bonne année la semaine prochaine ! ;)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
François Picalausa
Eric wrote:
ce programme utilisait la fonction opencomm pour l'ouverture du port com
j'ai lu qu' il fallait en vb6 utiliser createfile.
jusque là c'est ok, mais je ne sais vraiment pas comment l'utiliser ( e t oui je suis un véritable ignorant ;)
Hello,
Je te conseille vivement de lire la documentation de CreateFile et en articluier les remarques s'y rapportant: <quote src="http://msdn.microsoft.com/library/en-us/fileio/fs/createfile.asp"> The CreateFile function can create a handle to a communications resource, such as the serial port COM1. For communications resources, the dwCreationDisposition parameter must be OPEN_EXISTING, and the template parameter must be NULL. Read, write, or read/write access can be specified, and the handle can be opened for overlapped I/O. For more information about communications, see Communications. </quote>
ainsi que l'article Communications Resource Handles: http://msdn2.microsoft.com/en-gb/library/aa363198.aspx
En d'autre termes, cet appel se traduira par quelquechose comme:
Dim hCom as Long hCom = CreateFile( "COM1:", 0, 0, ByVal 0&, OPEN_EXISTING, 0, 0)
en utilisant les déclaration suivante: Declare Function CreateFile _ Lib "kernel32.dll" _ Alias "CreateFileA" ( _ ByVal lpFileName As String, _ ByVal dwDesiredAccess As Long, _ ByVal dwShareMode As Long, _ lpSecurityAttributes As Any, _ ByVal dwCreationDisposition As Long, _ ByVal dwFlagsAndAttributes As Long, _ ByVal hTemplateFile As Long _ ) As Long Const OPEN_EXISTING = 3
A noter que de la litérature existe sur le sujet, à commencer par de la littérature sur le contrôle MSComm fourni avec VB6: http://www.microsoft.com/france/msdn/windows/ctlmscommtech.mspx http://msdn.microsoft.com/library/en-us/comm98/html/vbobjComm.asp
Mais aussi sur l'API CreateFile dans ce contexte: http://vbnet.mvps.org/index.html?code/system/comtestapi.htm http://support.microsoft.com/kb/600789/ko (l'article n'existe apparement ni en anglais ni en français, mais le code reste applicable) http://www.bitwisemag.com/copy/vb/vb2.html
François
Eric wrote:
ce programme utilisait la fonction opencomm pour l'ouverture du port com
j'ai lu qu' il fallait en vb6 utiliser createfile.
jusque là c'est ok, mais je ne sais vraiment pas comment l'utiliser ( e t oui
je suis un véritable ignorant ;)
Hello,
Je te conseille vivement de lire la documentation de CreateFile et en
articluier les remarques s'y rapportant:
<quote
src="http://msdn.microsoft.com/library/en-us/fileio/fs/createfile.asp">
The CreateFile function can create a handle to a communications
resource, such as the serial port COM1. For communications resources,
the dwCreationDisposition parameter must be OPEN_EXISTING, and the
template parameter must be NULL. Read, write, or read/write access can
be specified, and the handle can be opened for overlapped I/O. For more
information about communications, see Communications.
</quote>
ainsi que l'article Communications Resource Handles:
http://msdn2.microsoft.com/en-gb/library/aa363198.aspx
En d'autre termes, cet appel se traduira par quelquechose comme:
Dim hCom as Long
hCom = CreateFile( "COM1:", 0, 0, ByVal 0&, OPEN_EXISTING, 0, 0)
en utilisant les déclaration suivante:
Declare Function CreateFile _
Lib "kernel32.dll" _
Alias "CreateFileA" ( _
ByVal lpFileName As String, _
ByVal dwDesiredAccess As Long, _
ByVal dwShareMode As Long, _
lpSecurityAttributes As Any, _
ByVal dwCreationDisposition As Long, _
ByVal dwFlagsAndAttributes As Long, _
ByVal hTemplateFile As Long _
) As Long
Const OPEN_EXISTING = 3
A noter que de la litérature existe sur le sujet, à commencer par de
la littérature sur le contrôle MSComm fourni avec VB6:
http://www.microsoft.com/france/msdn/windows/ctlmscommtech.mspx
http://msdn.microsoft.com/library/en-us/comm98/html/vbobjComm.asp
Mais aussi sur l'API CreateFile dans ce contexte:
http://vbnet.mvps.org/index.html?code/system/comtestapi.htm
http://support.microsoft.com/kb/600789/ko (l'article n'existe
apparement ni en anglais ni en français, mais le code reste
applicable)
http://www.bitwisemag.com/copy/vb/vb2.html
ce programme utilisait la fonction opencomm pour l'ouverture du port com
j'ai lu qu' il fallait en vb6 utiliser createfile.
jusque là c'est ok, mais je ne sais vraiment pas comment l'utiliser ( e t oui je suis un véritable ignorant ;)
Hello,
Je te conseille vivement de lire la documentation de CreateFile et en articluier les remarques s'y rapportant: <quote src="http://msdn.microsoft.com/library/en-us/fileio/fs/createfile.asp"> The CreateFile function can create a handle to a communications resource, such as the serial port COM1. For communications resources, the dwCreationDisposition parameter must be OPEN_EXISTING, and the template parameter must be NULL. Read, write, or read/write access can be specified, and the handle can be opened for overlapped I/O. For more information about communications, see Communications. </quote>
ainsi que l'article Communications Resource Handles: http://msdn2.microsoft.com/en-gb/library/aa363198.aspx
En d'autre termes, cet appel se traduira par quelquechose comme:
Dim hCom as Long hCom = CreateFile( "COM1:", 0, 0, ByVal 0&, OPEN_EXISTING, 0, 0)
en utilisant les déclaration suivante: Declare Function CreateFile _ Lib "kernel32.dll" _ Alias "CreateFileA" ( _ ByVal lpFileName As String, _ ByVal dwDesiredAccess As Long, _ ByVal dwShareMode As Long, _ lpSecurityAttributes As Any, _ ByVal dwCreationDisposition As Long, _ ByVal dwFlagsAndAttributes As Long, _ ByVal hTemplateFile As Long _ ) As Long Const OPEN_EXISTING = 3
A noter que de la litérature existe sur le sujet, à commencer par de la littérature sur le contrôle MSComm fourni avec VB6: http://www.microsoft.com/france/msdn/windows/ctlmscommtech.mspx http://msdn.microsoft.com/library/en-us/comm98/html/vbobjComm.asp
Mais aussi sur l'API CreateFile dans ce contexte: http://vbnet.mvps.org/index.html?code/system/comtestapi.htm http://support.microsoft.com/kb/600789/ko (l'article n'existe apparement ni en anglais ni en français, mais le code reste applicable) http://www.bitwisemag.com/copy/vb/vb2.html