Bonjour,
Je suis à la recherche de toute information me permettant de lire des
données GPS à travers le port série de mon PDA.
J'ai bien trouvé quelques trucs, (
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/html/pisapicf.<a href="http://www.ntsearch.com/search.php?q=asp&vV">asp</a> )
mais qui ne transmettent que quelques octets de temps à autres, alors que
l'on devrait s'attendre à un flux continue de dizaines d'octets.
Merci.
Bonjour,
Je suis à la recherche de toute information me permettant de lire des
données GPS à travers le port série de mon PDA.
J'ai bien trouvé quelques trucs, (
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/html/pisapicf.<a href="http://www.ntsearch.com/search.php?q=asp&vV">asp</a> )
mais qui ne transmettent que quelques octets de temps à autres, alors que
l'on devrait s'attendre à un flux continue de dizaines d'octets.
Merci.
Bonjour,
Je suis à la recherche de toute information me permettant de lire des
données GPS à travers le port série de mon PDA.
J'ai bien trouvé quelques trucs, (
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/html/pisapicf.<a href="http://www.ntsearch.com/search.php?q=asp&vV">asp</a> )
mais qui ne transmettent que quelques octets de temps à autres, alors que
l'on devrait s'attendre à un flux continue de dizaines d'octets.
Merci.
Si c'est un port série (sur Pocket PC), tu dois utiliser 3 fonctions
Cet artcile :
te donne les fonctions mais pour PC.
Comme j'en ai eu besoin pour faire marcher le bluetooth surr pocket PC, je
private int infileHandler = 0;
private int outfileHandler = 0;
public const uint GENERIC_READ = 0x80000000;
public const uint GENERIC_WRITE = 0x40000000;
public const int OPEN_EXISTING = 3;
[DllImport("coredll.dll", EntryPoint="WriteFile")]
public static extern bool WriteFile
(
int hFile,
Byte[] lpBuffer,
int nNumberOfBytesToWrite,
ref int lpNumberOfBytesWritten,
int lpOverlapped
);
[DllImport("coredll.dll", EntryPoint="ReadFile")]
public static extern int ReadFile
(
int hFile,
byte[] lpBuffer,
int nNumberOfBytesToRead,
ref int lpNumberOfBytesRead,
int lpOverlapped
);
[DllImport("coredll.dll", EntryPoint="CreateFile")]
public static extern int CreateFile
(
string lpFileName,
uint dwDesiredAccess,
uint dwShareMode,
IntPtr lpSecurityAttributes,
uint dwCreationDisposition,
uint dwFlagsAndAttributes,
IntPtr hTemplateFile
);
[DllImport("coredll.dll", EntryPoint="CloseHandle")]
public static extern bool CloseHandle
(
int hObject
);
[DllImport("coredll.dll", EntryPoint="GetLastError")]
public static extern int GetLastError();
et un exemple d'utilsiation, ci pour se connecter au bluetooth mais dasns
private void Connect()
{
// port number for Bluetooth connection
int inPort = 0;
int outPort = 0;
// Ouverture des ports en fonction de la version
// du Pocket PC
if ( Environment.OSVersion.Version.ToString().StartsWith("3.0") )
{
// PPC 2002
inPort = 7;
outPort = 8;
}
else
{
// PPC 2003
inPort = 8;
outPort = 5;
}
// Opens the port Bluetooth for emission COM7;
infileHandler = CreateFile("COM" + inPort + ":", GENERIC_READ, 0,
Application.DoEvents();
if ( infileHandler == -1 )
{
if ( GetLastError() == 87 )
{
MessageBox.Show("Erreur d'ouverture des ports Bluetooth.nÊtes-vous sûr
}
else
{
MessageBox.Show("Erreur d'ouverture du port COM" + inPort + ":nErreur: "
}
}
// Opens the port Bluetooth for reception COM8:
outfileHandler = CreateFile("COM" + outPort + ":",
GENERIC_READ | GENERIC_WRITE,
0, // comm devices must be opened w/exclusive-access
System.IntPtr.Zero, // no security attributes
OPEN_EXISTING, // comm devices must use OPEN_EXISTING
0, // not overlapped I/O
System.IntPtr.Zero);
Application.DoEvents();
if ( infileHandler == -1 )
{
if ( GetLastError() == 87 )
{
MessageBox.Show("Erreur d'ouverture des ports Bluetooth.nÊtes-vous sûr
}
else
{
MessageBox.Show("Erreur d'ouverture du port COM" + outPort + ":nErreur: "
}
}
}
En esperant que cela t'aide :)
A+
--
LEBRUN Thomas
MCP Visual C# (70-316)
"Bart" a écrit :
> Bonjour,
>
> Je suis à la recherche de toute information me permettant de lire des
> données GPS à travers le port série de mon PDA.
> J'ai bien trouvé quelques trucs, (
>
> mais qui ne transmettent que quelques octets de temps à autres, alors
> l'on devrait s'attendre à un flux continue de dizaines d'octets.
>
> Merci.
>
>
>
Si c'est un port série (sur Pocket PC), tu dois utiliser 3 fonctions
Cet artcile :
te donne les fonctions mais pour PC.
Comme j'en ai eu besoin pour faire marcher le bluetooth surr pocket PC, je
private int infileHandler = 0;
private int outfileHandler = 0;
public const uint GENERIC_READ = 0x80000000;
public const uint GENERIC_WRITE = 0x40000000;
public const int OPEN_EXISTING = 3;
[DllImport("coredll.dll", EntryPoint="WriteFile")]
public static extern bool WriteFile
(
int hFile,
Byte[] lpBuffer,
int nNumberOfBytesToWrite,
ref int lpNumberOfBytesWritten,
int lpOverlapped
);
[DllImport("coredll.dll", EntryPoint="ReadFile")]
public static extern int ReadFile
(
int hFile,
byte[] lpBuffer,
int nNumberOfBytesToRead,
ref int lpNumberOfBytesRead,
int lpOverlapped
);
[DllImport("coredll.dll", EntryPoint="CreateFile")]
public static extern int CreateFile
(
string lpFileName,
uint dwDesiredAccess,
uint dwShareMode,
IntPtr lpSecurityAttributes,
uint dwCreationDisposition,
uint dwFlagsAndAttributes,
IntPtr hTemplateFile
);
[DllImport("coredll.dll", EntryPoint="CloseHandle")]
public static extern bool CloseHandle
(
int hObject
);
[DllImport("coredll.dll", EntryPoint="GetLastError")]
public static extern int GetLastError();
et un exemple d'utilsiation, ci pour se connecter au bluetooth mais dasns
private void Connect()
{
// port number for Bluetooth connection
int inPort = 0;
int outPort = 0;
// Ouverture des ports en fonction de la version
// du Pocket PC
if ( Environment.OSVersion.Version.ToString().StartsWith("3.0") )
{
// PPC 2002
inPort = 7;
outPort = 8;
}
else
{
// PPC 2003
inPort = 8;
outPort = 5;
}
// Opens the port Bluetooth for emission COM7;
infileHandler = CreateFile("COM" + inPort + ":", GENERIC_READ, 0,
Application.DoEvents();
if ( infileHandler == -1 )
{
if ( GetLastError() == 87 )
{
MessageBox.Show("Erreur d'ouverture des ports Bluetooth.nÊtes-vous sûr
}
else
{
MessageBox.Show("Erreur d'ouverture du port COM" + inPort + ":nErreur: "
}
}
// Opens the port Bluetooth for reception COM8:
outfileHandler = CreateFile("COM" + outPort + ":",
GENERIC_READ | GENERIC_WRITE,
0, // comm devices must be opened w/exclusive-access
System.IntPtr.Zero, // no security attributes
OPEN_EXISTING, // comm devices must use OPEN_EXISTING
0, // not overlapped I/O
System.IntPtr.Zero);
Application.DoEvents();
if ( infileHandler == -1 )
{
if ( GetLastError() == 87 )
{
MessageBox.Show("Erreur d'ouverture des ports Bluetooth.nÊtes-vous sûr
}
else
{
MessageBox.Show("Erreur d'ouverture du port COM" + outPort + ":nErreur: "
}
}
}
En esperant que cela t'aide :)
A+
--
LEBRUN Thomas
MCP Visual C# (70-316)
"Bart" a écrit :
> Bonjour,
>
> Je suis à la recherche de toute information me permettant de lire des
> données GPS à travers le port série de mon PDA.
> J'ai bien trouvé quelques trucs, (
>
> mais qui ne transmettent que quelques octets de temps à autres, alors
> l'on devrait s'attendre à un flux continue de dizaines d'octets.
>
> Merci.
>
>
>
Si c'est un port série (sur Pocket PC), tu dois utiliser 3 fonctions
Cet artcile :
te donne les fonctions mais pour PC.
Comme j'en ai eu besoin pour faire marcher le bluetooth surr pocket PC, je
private int infileHandler = 0;
private int outfileHandler = 0;
public const uint GENERIC_READ = 0x80000000;
public const uint GENERIC_WRITE = 0x40000000;
public const int OPEN_EXISTING = 3;
[DllImport("coredll.dll", EntryPoint="WriteFile")]
public static extern bool WriteFile
(
int hFile,
Byte[] lpBuffer,
int nNumberOfBytesToWrite,
ref int lpNumberOfBytesWritten,
int lpOverlapped
);
[DllImport("coredll.dll", EntryPoint="ReadFile")]
public static extern int ReadFile
(
int hFile,
byte[] lpBuffer,
int nNumberOfBytesToRead,
ref int lpNumberOfBytesRead,
int lpOverlapped
);
[DllImport("coredll.dll", EntryPoint="CreateFile")]
public static extern int CreateFile
(
string lpFileName,
uint dwDesiredAccess,
uint dwShareMode,
IntPtr lpSecurityAttributes,
uint dwCreationDisposition,
uint dwFlagsAndAttributes,
IntPtr hTemplateFile
);
[DllImport("coredll.dll", EntryPoint="CloseHandle")]
public static extern bool CloseHandle
(
int hObject
);
[DllImport("coredll.dll", EntryPoint="GetLastError")]
public static extern int GetLastError();
et un exemple d'utilsiation, ci pour se connecter au bluetooth mais dasns
private void Connect()
{
// port number for Bluetooth connection
int inPort = 0;
int outPort = 0;
// Ouverture des ports en fonction de la version
// du Pocket PC
if ( Environment.OSVersion.Version.ToString().StartsWith("3.0") )
{
// PPC 2002
inPort = 7;
outPort = 8;
}
else
{
// PPC 2003
inPort = 8;
outPort = 5;
}
// Opens the port Bluetooth for emission COM7;
infileHandler = CreateFile("COM" + inPort + ":", GENERIC_READ, 0,
Application.DoEvents();
if ( infileHandler == -1 )
{
if ( GetLastError() == 87 )
{
MessageBox.Show("Erreur d'ouverture des ports Bluetooth.nÊtes-vous sûr
}
else
{
MessageBox.Show("Erreur d'ouverture du port COM" + inPort + ":nErreur: "
}
}
// Opens the port Bluetooth for reception COM8:
outfileHandler = CreateFile("COM" + outPort + ":",
GENERIC_READ | GENERIC_WRITE,
0, // comm devices must be opened w/exclusive-access
System.IntPtr.Zero, // no security attributes
OPEN_EXISTING, // comm devices must use OPEN_EXISTING
0, // not overlapped I/O
System.IntPtr.Zero);
Application.DoEvents();
if ( infileHandler == -1 )
{
if ( GetLastError() == 87 )
{
MessageBox.Show("Erreur d'ouverture des ports Bluetooth.nÊtes-vous sûr
}
else
{
MessageBox.Show("Erreur d'ouverture du port COM" + outPort + ":nErreur: "
}
}
}
En esperant que cela t'aide :)
A+
--
LEBRUN Thomas
MCP Visual C# (70-316)
"Bart" a écrit :
> Bonjour,
>
> Je suis à la recherche de toute information me permettant de lire des
> données GPS à travers le port série de mon PDA.
> J'ai bien trouvé quelques trucs, (
>
> mais qui ne transmettent que quelques octets de temps à autres, alors
> l'on devrait s'attendre à un flux continue de dizaines d'octets.
>
> Merci.
>
>
>
Merci, mais je ne suis pas sur d'avoir tout capter, surtout sur l'exemple.
Sinon, comment faire pour placer les données reçues dans un chaîne ?
Merci.
"LEBRUN Thomas" <lebrun_thomas_at_hotmail.com> a écrit dans le message de
news:
> Si c'est un port série (sur Pocket PC), tu dois utiliser 3 fonctions
(CreateFile, WriteFile, ReadFile) qui te permettront de te connecter au port
que tu veux afin de lire/ecrire des données dessus.
>
> Cet artcile :
http://www.codeguru.com/Csharp/Csharp/cs_network/remoting/article.php/c6015/
> te donne les fonctions mais pour PC.
> Comme j'en ai eu besoin pour faire marcher le bluetooth surr pocket PC, je
te donne les fonction que j'ai utilisé
>
> private int infileHandler = 0;
> private int outfileHandler = 0;
>
> public const uint GENERIC_READ = 0x80000000;
> public const uint GENERIC_WRITE = 0x40000000;
> public const int OPEN_EXISTING = 3;
>
> [DllImport("coredll.dll", EntryPoint="WriteFile")]
> public static extern bool WriteFile
> (
> int hFile,
> Byte[] lpBuffer,
> int nNumberOfBytesToWrite,
> ref int lpNumberOfBytesWritten,
> int lpOverlapped
> );
>
> [DllImport("coredll.dll", EntryPoint="ReadFile")]
> public static extern int ReadFile
> (
> int hFile,
> byte[] lpBuffer,
> int nNumberOfBytesToRead,
> ref int lpNumberOfBytesRead,
> int lpOverlapped
> );
>
> [DllImport("coredll.dll", EntryPoint="CreateFile")]
> public static extern int CreateFile
> (
> string lpFileName,
> uint dwDesiredAccess,
> uint dwShareMode,
> IntPtr lpSecurityAttributes,
> uint dwCreationDisposition,
> uint dwFlagsAndAttributes,
> IntPtr hTemplateFile
> );
>
> [DllImport("coredll.dll", EntryPoint="CloseHandle")]
> public static extern bool CloseHandle
> (
> int hObject
> );
>
> [DllImport("coredll.dll", EntryPoint="GetLastError")]
> public static extern int GetLastError();
>
> et un exemple d'utilsiation, ci pour se connecter au bluetooth mais dasns
ton cas, change juste le port et ce sera bon
>
> private void Connect()
> {
> // port number for Bluetooth connection
> int inPort = 0;
> int outPort = 0;
>
> // Ouverture des ports en fonction de la version
> // du Pocket PC
> if ( Environment.OSVersion.Version.ToString().StartsWith("3.0") )
> {
> // PPC 2002
> inPort = 7;
> outPort = 8;
> }
> else
> {
> // PPC 2003
> inPort = 8;
> outPort = 5;
> }
>
> // Opens the port Bluetooth for emission COM7;
> infileHandler = CreateFile("COM" + inPort + ":", GENERIC_READ, 0,
System.IntPtr.Zero, OPEN_EXISTING, 0, System.IntPtr.Zero);
>
> Application.DoEvents();
>
> if ( infileHandler == -1 )
> {
> if ( GetLastError() == 87 )
> {
> MessageBox.Show("Erreur d'ouverture des ports Bluetooth.nÊtes-vous sûr
d'avoir allumer la radio Bluetooth ?", "Erreur d'ouverture des ports");
> }
> else
> {
> MessageBox.Show("Erreur d'ouverture du port COM" + inPort + ":nErreur: "
+ GetLastError(), "Erreur d'ouverture de port");
> }
> }
>
> // Opens the port Bluetooth for reception COM8:
> outfileHandler = CreateFile("COM" + outPort + ":",
> GENERIC_READ | GENERIC_WRITE,
> 0, // comm devices must be opened w/exclusive-access
> System.IntPtr.Zero, // no <a href="http://www.ntsearch.com/search.php?q=security&vV">security</a> attributes
> OPEN_EXISTING, // comm devices must use OPEN_EXISTING
> 0, // not overlapped I/O
> System.IntPtr.Zero);
>
> Application.DoEvents();
>
> if ( infileHandler == -1 )
> {
> if ( GetLastError() == 87 )
> {
> MessageBox.Show("Erreur d'ouverture des ports Bluetooth.nÊtes-vous sûr
d'avoir allumer la radio Bluetooth ?", "Erreur d'ouverture des ports");
> }
> else
> {
> MessageBox.Show("Erreur d'ouverture du port COM" + outPort + ":nErreur: "
+ GetLastError(), "Erreur d'ouverture de port");
> }
> }
> }
>
> En esperant que cela t'aide :)
>
> A+
>
> --
> LEBRUN Thomas
> MCP Visual C# (70-316)
>
>
> "Bart" a écrit :
>
> > Bonjour,
> >
> > Je suis à la recherche de toute information me permettant de lire des
> > données GPS à travers le port série de mon PDA.
> > J'ai bien trouvé quelques trucs, (
> >
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/html/pisapicf.<a
href="http://www.ntsearch.com/search.php?q=asp&vV">asp</a> )
> > mais qui ne transmettent que quelques octets de temps à autres, alors
que
> > l'on devrait s'attendre à un flux continue de dizaines d'octets.
> >
> > Merci.
> >
> >
> >
Merci, mais je ne suis pas sur d'avoir tout capter, surtout sur l'exemple.
Sinon, comment faire pour placer les données reçues dans un chaîne ?
Merci.
"LEBRUN Thomas" <lebrun_thomas_at_hotmail.com> a écrit dans le message de
news:790A4616-299C-4EDE-BBBF-7003677ABE1B@microsoft.com...
> Si c'est un port série (sur Pocket PC), tu dois utiliser 3 fonctions
(CreateFile, WriteFile, ReadFile) qui te permettront de te connecter au port
que tu veux afin de lire/ecrire des données dessus.
>
> Cet artcile :
http://www.codeguru.com/Csharp/Csharp/cs_network/remoting/article.php/c6015/
> te donne les fonctions mais pour PC.
> Comme j'en ai eu besoin pour faire marcher le bluetooth surr pocket PC, je
te donne les fonction que j'ai utilisé
>
> private int infileHandler = 0;
> private int outfileHandler = 0;
>
> public const uint GENERIC_READ = 0x80000000;
> public const uint GENERIC_WRITE = 0x40000000;
> public const int OPEN_EXISTING = 3;
>
> [DllImport("coredll.dll", EntryPoint="WriteFile")]
> public static extern bool WriteFile
> (
> int hFile,
> Byte[] lpBuffer,
> int nNumberOfBytesToWrite,
> ref int lpNumberOfBytesWritten,
> int lpOverlapped
> );
>
> [DllImport("coredll.dll", EntryPoint="ReadFile")]
> public static extern int ReadFile
> (
> int hFile,
> byte[] lpBuffer,
> int nNumberOfBytesToRead,
> ref int lpNumberOfBytesRead,
> int lpOverlapped
> );
>
> [DllImport("coredll.dll", EntryPoint="CreateFile")]
> public static extern int CreateFile
> (
> string lpFileName,
> uint dwDesiredAccess,
> uint dwShareMode,
> IntPtr lpSecurityAttributes,
> uint dwCreationDisposition,
> uint dwFlagsAndAttributes,
> IntPtr hTemplateFile
> );
>
> [DllImport("coredll.dll", EntryPoint="CloseHandle")]
> public static extern bool CloseHandle
> (
> int hObject
> );
>
> [DllImport("coredll.dll", EntryPoint="GetLastError")]
> public static extern int GetLastError();
>
> et un exemple d'utilsiation, ci pour se connecter au bluetooth mais dasns
ton cas, change juste le port et ce sera bon
>
> private void Connect()
> {
> // port number for Bluetooth connection
> int inPort = 0;
> int outPort = 0;
>
> // Ouverture des ports en fonction de la version
> // du Pocket PC
> if ( Environment.OSVersion.Version.ToString().StartsWith("3.0") )
> {
> // PPC 2002
> inPort = 7;
> outPort = 8;
> }
> else
> {
> // PPC 2003
> inPort = 8;
> outPort = 5;
> }
>
> // Opens the port Bluetooth for emission COM7;
> infileHandler = CreateFile("COM" + inPort + ":", GENERIC_READ, 0,
System.IntPtr.Zero, OPEN_EXISTING, 0, System.IntPtr.Zero);
>
> Application.DoEvents();
>
> if ( infileHandler == -1 )
> {
> if ( GetLastError() == 87 )
> {
> MessageBox.Show("Erreur d'ouverture des ports Bluetooth.nÊtes-vous sûr
d'avoir allumer la radio Bluetooth ?", "Erreur d'ouverture des ports");
> }
> else
> {
> MessageBox.Show("Erreur d'ouverture du port COM" + inPort + ":nErreur: "
+ GetLastError(), "Erreur d'ouverture de port");
> }
> }
>
> // Opens the port Bluetooth for reception COM8:
> outfileHandler = CreateFile("COM" + outPort + ":",
> GENERIC_READ | GENERIC_WRITE,
> 0, // comm devices must be opened w/exclusive-access
> System.IntPtr.Zero, // no <a href="http://www.ntsearch.com/search.php?q=security&vV">security</a> attributes
> OPEN_EXISTING, // comm devices must use OPEN_EXISTING
> 0, // not overlapped I/O
> System.IntPtr.Zero);
>
> Application.DoEvents();
>
> if ( infileHandler == -1 )
> {
> if ( GetLastError() == 87 )
> {
> MessageBox.Show("Erreur d'ouverture des ports Bluetooth.nÊtes-vous sûr
d'avoir allumer la radio Bluetooth ?", "Erreur d'ouverture des ports");
> }
> else
> {
> MessageBox.Show("Erreur d'ouverture du port COM" + outPort + ":nErreur: "
+ GetLastError(), "Erreur d'ouverture de port");
> }
> }
> }
>
> En esperant que cela t'aide :)
>
> A+
>
> --
> LEBRUN Thomas
> MCP Visual C# (70-316)
>
>
> "Bart" a écrit :
>
> > Bonjour,
> >
> > Je suis à la recherche de toute information me permettant de lire des
> > données GPS à travers le port série de mon PDA.
> > J'ai bien trouvé quelques trucs, (
> >
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/html/pisapicf.<a
href="http://www.ntsearch.com/search.php?q=asp&vV">asp</a> )
> > mais qui ne transmettent que quelques octets de temps à autres, alors
que
> > l'on devrait s'attendre à un flux continue de dizaines d'octets.
> >
> > Merci.
> >
> >
> >
Merci, mais je ne suis pas sur d'avoir tout capter, surtout sur l'exemple.
Sinon, comment faire pour placer les données reçues dans un chaîne ?
Merci.
"LEBRUN Thomas" <lebrun_thomas_at_hotmail.com> a écrit dans le message de
news:
> Si c'est un port série (sur Pocket PC), tu dois utiliser 3 fonctions
(CreateFile, WriteFile, ReadFile) qui te permettront de te connecter au port
que tu veux afin de lire/ecrire des données dessus.
>
> Cet artcile :
http://www.codeguru.com/Csharp/Csharp/cs_network/remoting/article.php/c6015/
> te donne les fonctions mais pour PC.
> Comme j'en ai eu besoin pour faire marcher le bluetooth surr pocket PC, je
te donne les fonction que j'ai utilisé
>
> private int infileHandler = 0;
> private int outfileHandler = 0;
>
> public const uint GENERIC_READ = 0x80000000;
> public const uint GENERIC_WRITE = 0x40000000;
> public const int OPEN_EXISTING = 3;
>
> [DllImport("coredll.dll", EntryPoint="WriteFile")]
> public static extern bool WriteFile
> (
> int hFile,
> Byte[] lpBuffer,
> int nNumberOfBytesToWrite,
> ref int lpNumberOfBytesWritten,
> int lpOverlapped
> );
>
> [DllImport("coredll.dll", EntryPoint="ReadFile")]
> public static extern int ReadFile
> (
> int hFile,
> byte[] lpBuffer,
> int nNumberOfBytesToRead,
> ref int lpNumberOfBytesRead,
> int lpOverlapped
> );
>
> [DllImport("coredll.dll", EntryPoint="CreateFile")]
> public static extern int CreateFile
> (
> string lpFileName,
> uint dwDesiredAccess,
> uint dwShareMode,
> IntPtr lpSecurityAttributes,
> uint dwCreationDisposition,
> uint dwFlagsAndAttributes,
> IntPtr hTemplateFile
> );
>
> [DllImport("coredll.dll", EntryPoint="CloseHandle")]
> public static extern bool CloseHandle
> (
> int hObject
> );
>
> [DllImport("coredll.dll", EntryPoint="GetLastError")]
> public static extern int GetLastError();
>
> et un exemple d'utilsiation, ci pour se connecter au bluetooth mais dasns
ton cas, change juste le port et ce sera bon
>
> private void Connect()
> {
> // port number for Bluetooth connection
> int inPort = 0;
> int outPort = 0;
>
> // Ouverture des ports en fonction de la version
> // du Pocket PC
> if ( Environment.OSVersion.Version.ToString().StartsWith("3.0") )
> {
> // PPC 2002
> inPort = 7;
> outPort = 8;
> }
> else
> {
> // PPC 2003
> inPort = 8;
> outPort = 5;
> }
>
> // Opens the port Bluetooth for emission COM7;
> infileHandler = CreateFile("COM" + inPort + ":", GENERIC_READ, 0,
System.IntPtr.Zero, OPEN_EXISTING, 0, System.IntPtr.Zero);
>
> Application.DoEvents();
>
> if ( infileHandler == -1 )
> {
> if ( GetLastError() == 87 )
> {
> MessageBox.Show("Erreur d'ouverture des ports Bluetooth.nÊtes-vous sûr
d'avoir allumer la radio Bluetooth ?", "Erreur d'ouverture des ports");
> }
> else
> {
> MessageBox.Show("Erreur d'ouverture du port COM" + inPort + ":nErreur: "
+ GetLastError(), "Erreur d'ouverture de port");
> }
> }
>
> // Opens the port Bluetooth for reception COM8:
> outfileHandler = CreateFile("COM" + outPort + ":",
> GENERIC_READ | GENERIC_WRITE,
> 0, // comm devices must be opened w/exclusive-access
> System.IntPtr.Zero, // no <a href="http://www.ntsearch.com/search.php?q=security&vV">security</a> attributes
> OPEN_EXISTING, // comm devices must use OPEN_EXISTING
> 0, // not overlapped I/O
> System.IntPtr.Zero);
>
> Application.DoEvents();
>
> if ( infileHandler == -1 )
> {
> if ( GetLastError() == 87 )
> {
> MessageBox.Show("Erreur d'ouverture des ports Bluetooth.nÊtes-vous sûr
d'avoir allumer la radio Bluetooth ?", "Erreur d'ouverture des ports");
> }
> else
> {
> MessageBox.Show("Erreur d'ouverture du port COM" + outPort + ":nErreur: "
+ GetLastError(), "Erreur d'ouverture de port");
> }
> }
> }
>
> En esperant que cela t'aide :)
>
> A+
>
> --
> LEBRUN Thomas
> MCP Visual C# (70-316)
>
>
> "Bart" a écrit :
>
> > Bonjour,
> >
> > Je suis à la recherche de toute information me permettant de lire des
> > données GPS à travers le port série de mon PDA.
> > J'ai bien trouvé quelques trucs, (
> >
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/html/pisapicf.<a
href="http://www.ntsearch.com/search.php?q=asp&vV">asp</a> )
> > mais qui ne transmettent que quelques octets de temps à autres, alors
que
> > l'on devrait s'attendre à un flux continue de dizaines d'octets.
> >
> > Merci.
> >
> >
> >