J'ai besoin d'envoyer des informations =E0 une fen=EAtre tout en ayant la
possibilit=E9 de continuer =E0 utiliser le clavier et/ou la souris.
Le test se fait avec notepad. A l'heure actuelle, cela fonctionne =E0
ceci pr=E8s que toutes les minuscules sont transform=E9es en majuscule,
que les chiffres se transforment en lettre et que les majuscules se
transforment en caract=E8res sp=E9ciaux. Avant j'utilisais keyboard event
et je n'avais pas ce soucis.
Voici la fonction qui me permet de transformer et envoyer les
caract=E8res saisis dans la fen=EAtre.
void Write(HWND Handle, char *Flux, int Size)
{
int i=3D0;
for ( i=3D0 ; i<Size ; i++ )
{
char CurrentLetter =3D Stream
[i];
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
Sylvain SF
darkwall_37 a écrit :
Le test se fait avec notepad. A l'heure actuelle, cela fonctionne à ceci près que toutes les minuscules sont transformées en majuscule, que les chiffres se transforment en lettre et que les majuscules se transforment en caractères spéciaux.
avec un NotePad ascii (non unicode) je n'observe pas cela.
void Write(HWND Handle, char *Flux, int Size) { int i=0; for ( i=0 ; i<Size ; i++ ) { char CurrentLetter = Stream[i];
if ( '0' == CurrentLetter ) SendMessage(Handle, WM_CHAR, 0x62, 0);
n'utilisez pas les "scan-codes" VK_NUMPADx ici, mais bien le caractère lui-même, soit (pour la plupart des lettres testées):
SendMessage(Handle, WM_CHAR, CurrentLetter, 0);
Sylvain.
darkwall_37 a écrit :
Le test se fait avec notepad. A l'heure actuelle, cela fonctionne à
ceci près que toutes les minuscules sont transformées en majuscule,
que les chiffres se transforment en lettre et que les majuscules se
transforment en caractères spéciaux.
avec un NotePad ascii (non unicode) je n'observe pas cela.
void Write(HWND Handle, char *Flux, int Size)
{
int i=0;
for ( i=0 ; i<Size ; i++ )
{
char CurrentLetter = Stream[i];
if ( '0' == CurrentLetter )
SendMessage(Handle, WM_CHAR, 0x62, 0);
n'utilisez pas les "scan-codes" VK_NUMPADx ici, mais bien le caractère
lui-même, soit (pour la plupart des lettres testées):
Le test se fait avec notepad. A l'heure actuelle, cela fonctionne à ceci près que toutes les minuscules sont transformées en majuscule, que les chiffres se transforment en lettre et que les majuscules se transforment en caractères spéciaux.
avec un NotePad ascii (non unicode) je n'observe pas cela.
void Write(HWND Handle, char *Flux, int Size) { int i=0; for ( i=0 ; i<Size ; i++ ) { char CurrentLetter = Stream[i];
if ( '0' == CurrentLetter ) SendMessage(Handle, WM_CHAR, 0x62, 0);
n'utilisez pas les "scan-codes" VK_NUMPADx ici, mais bien le caractère lui-même, soit (pour la plupart des lettres testées):
SendMessage(Handle, WM_CHAR, CurrentLetter, 0);
Sylvain.
darkwall_37
On 18 juin, 20:10, Sylvain SF wrote:
darkwall_37 a écrit :
> Le test se fait avec notepad. A l'heure actuelle, cela fonctionne à > ceci près que toutes les minuscules sont transformées en majuscule, > que les chiffres se transforment en lettre et que les majuscules se > transforment en caractères spéciaux.
avec un NotePad ascii (non unicode) je n'observe pas cela.
> void Write(HWND Handle, char *Flux, int Size) > { > int i=0; > for ( i=0 ; i<Size ; i++ ) > { > char CurrentLetter = Stream[i];
n'utilisez pas les "scan-codes" VK_NUMPADx ici, mais bien le caractère lui-même, soit (pour la plupart des lettres testées):
SendMessage(Handle, WM_CHAR, CurrentLetter, 0);
Sylvain.
Je vous remercie une fois de plus. En remplaçant pour les lettres le vkkeyscan de la lettre directement par la lettre, j'ai bien la donnée retranscrite, cependant pour les chiffres j'ai toujours le même problème. Et comme vous le disiez il ne faut pas utiliser l'unicode mais l'ascii et les valeur 0x62.. 0x6X sont bien les codes ASCII des chiffres pourtant.
Cordialement.
On 18 juin, 20:10, Sylvain SF <sylv...@boiteaspam.info> wrote:
darkwall_37 a écrit :
> Le test se fait avec notepad. A l'heure actuelle, cela fonctionne à
> ceci près que toutes les minuscules sont transformées en majuscule,
> que les chiffres se transforment en lettre et que les majuscules se
> transforment en caractères spéciaux.
avec un NotePad ascii (non unicode) je n'observe pas cela.
> void Write(HWND Handle, char *Flux, int Size)
> {
> int i=0;
> for ( i=0 ; i<Size ; i++ )
> {
> char CurrentLetter = Stream[i];
n'utilisez pas les "scan-codes" VK_NUMPADx ici, mais bien le caractère
lui-même, soit (pour la plupart des lettres testées):
SendMessage(Handle, WM_CHAR, CurrentLetter, 0);
Sylvain.
Je vous remercie une fois de plus. En remplaçant pour les lettres le
vkkeyscan de la lettre directement par la lettre, j'ai bien la donnée
retranscrite, cependant pour les chiffres j'ai toujours le même
problème. Et comme vous le disiez il ne faut pas utiliser l'unicode
mais l'ascii et les valeur 0x62.. 0x6X sont bien les codes ASCII des
chiffres pourtant.
> Le test se fait avec notepad. A l'heure actuelle, cela fonctionne à > ceci près que toutes les minuscules sont transformées en majuscule, > que les chiffres se transforment en lettre et que les majuscules se > transforment en caractères spéciaux.
avec un NotePad ascii (non unicode) je n'observe pas cela.
> void Write(HWND Handle, char *Flux, int Size) > { > int i=0; > for ( i=0 ; i<Size ; i++ ) > { > char CurrentLetter = Stream[i];
n'utilisez pas les "scan-codes" VK_NUMPADx ici, mais bien le caractère lui-même, soit (pour la plupart des lettres testées):
SendMessage(Handle, WM_CHAR, CurrentLetter, 0);
Sylvain.
Je vous remercie une fois de plus. En remplaçant pour les lettres le vkkeyscan de la lettre directement par la lettre, j'ai bien la donnée retranscrite, cependant pour les chiffres j'ai toujours le même problème. Et comme vous le disiez il ne faut pas utiliser l'unicode mais l'ascii et les valeur 0x62.. 0x6X sont bien les codes ASCII des chiffres pourtant.
Cordialement.
Sylvain SF
darkwall_37 a écrit :
[..] cependant pour les chiffres j'ai toujours le même problème. Et comme vous le disiez il ne faut pas utiliser l'unicode mais l'ascii et les valeur 0x62.. 0x6X sont bien les codes ASCII des chiffres pourtant.
non, les chiffres '0' à '9' ont les codes 0x30 à 0x39 (les constantes réservés et non définies VK_0 à VK_9), les constantes VK_NUMPAD0 à 9 correspondent aux codes d'un clavier numérique seul (utilisé en complément du clavier non étendu des portables)
Sylvain.
darkwall_37 a écrit :
[..] cependant pour les chiffres j'ai toujours le même
problème. Et comme vous le disiez il ne faut pas utiliser l'unicode
mais l'ascii et les valeur 0x62.. 0x6X sont bien les codes ASCII des
chiffres pourtant.
non, les chiffres '0' à '9' ont les codes 0x30 à 0x39 (les
constantes réservés et non définies VK_0 à VK_9), les constantes
VK_NUMPAD0 à 9 correspondent aux codes d'un clavier numérique seul
(utilisé en complément du clavier non étendu des portables)
[..] cependant pour les chiffres j'ai toujours le même problème. Et comme vous le disiez il ne faut pas utiliser l'unicode mais l'ascii et les valeur 0x62.. 0x6X sont bien les codes ASCII des chiffres pourtant.
non, les chiffres '0' à '9' ont les codes 0x30 à 0x39 (les constantes réservés et non définies VK_0 à VK_9), les constantes VK_NUMPAD0 à 9 correspondent aux codes d'un clavier numérique seul (utilisé en complément du clavier non étendu des portables)
Sylvain.
darkwall_37
On 18 juin, 23:02, Sylvain SF wrote:
darkwall_37 a écrit :
> [..] cependant pour les chiffres j'ai toujours le même > problème. Et comme vous le disiez il ne faut pas utiliser l'unicode > mais l'ascii et les valeur 0x62.. 0x6X sont bien les codes ASCII des > chiffres pourtant.
non, les chiffres '0' à '9' ont les codes 0x30 à 0x39 (les constantes réservés et non définies VK_0 à VK_9), les constantes VK_NUMPAD0 à 9 correspondent aux codes d'un clavier numérique seul (utilisé en complément du clavier non étendu des portables)
Sylvain.
Je te remercie vraiment pour ton aide, en quelques réponses tu as fait mieux qu'une dixaine de personne en 2 jours ! @+ & bonne continuation.
On 18 juin, 23:02, Sylvain SF <sylv...@boiteaspam.info> wrote:
darkwall_37 a écrit :
> [..] cependant pour les chiffres j'ai toujours le même
> problème. Et comme vous le disiez il ne faut pas utiliser l'unicode
> mais l'ascii et les valeur 0x62.. 0x6X sont bien les codes ASCII des
> chiffres pourtant.
non, les chiffres '0' à '9' ont les codes 0x30 à 0x39 (les
constantes réservés et non définies VK_0 à VK_9), les constantes
VK_NUMPAD0 à 9 correspondent aux codes d'un clavier numérique seul
(utilisé en complément du clavier non étendu des portables)
Sylvain.
Je te remercie vraiment pour ton aide, en quelques réponses tu as fait
mieux qu'une dixaine de personne en 2 jours ! @+ & bonne continuation.
> [..] cependant pour les chiffres j'ai toujours le même > problème. Et comme vous le disiez il ne faut pas utiliser l'unicode > mais l'ascii et les valeur 0x62.. 0x6X sont bien les codes ASCII des > chiffres pourtant.
non, les chiffres '0' à '9' ont les codes 0x30 à 0x39 (les constantes réservés et non définies VK_0 à VK_9), les constantes VK_NUMPAD0 à 9 correspondent aux codes d'un clavier numérique seul (utilisé en complément du clavier non étendu des portables)
Sylvain.
Je te remercie vraiment pour ton aide, en quelques réponses tu as fait mieux qu'une dixaine de personne en 2 jours ! @+ & bonne continuation.
domi
darkwall_37 wrote:
Je te remercie vraiment pour ton aide, en quelques réponses tu as fait mieux qu'une dixaine de personne en 2 jours ! @+ & bonne continuation.
Ca confirme le proverbe :-)
http://minilien.com/?AFB1a6EevR
darkwall_37 wrote:
Je te remercie vraiment pour ton aide, en quelques réponses tu as fait
mieux qu'une dixaine de personne en 2 jours ! @+ & bonne continuation.
> Je te remercie vraiment pour ton aide, en quelques réponses tu as fai t > mieux qu'une dixaine de personne en 2 jours ! @+ & bonne continuation.
Ca confirme le proverbe :-)
http://minilien.com/?AFB1a6EevR
Oui tout à fait. Merci encore.
Glav
Petit conseil si je puis me permettre : pour ce genre de conditions répétées, un switch est plus efficace en performances et moins pénible à écrire qu'une suite de if :
Je te remercie vraiment pour ton aide, en quelques réponses tu as fait mieux qu'une dixaine de personne en 2 jours ! @+ & bonne continuation.
Petit conseil si je puis me permettre : pour ce genre de conditions
répétées, un switch est plus efficace en performances et moins pénible à
écrire qu'une suite de if :
Petit conseil si je puis me permettre : pour ce genre de conditions répétées, un switch est plus efficace en performances et moins pénible à écrire qu'une suite de if :
Je te remercie vraiment pour ton aide, en quelques réponses tu as fait mieux qu'une dixaine de personne en 2 jours ! @+ & bonne continuation.
domi
Glav wrote:
Petit conseil si je puis me permettre : pour ce genre de conditions répétées, un switch est plus efficace en performances et moins pénible à écrire qu'une suite de if :
Plus propre et élégant, oui. Pour la performance, ça dépend du code généré par le compilateur.
Glav wrote:
Petit conseil si je puis me permettre : pour ce genre de conditions
répétées, un switch est plus efficace en performances et moins pénible à
écrire qu'une suite de if :
Plus propre et élégant, oui.
Pour la performance, ça dépend du code généré par le compilateur.
Petit conseil si je puis me permettre : pour ce genre de conditions répétées, un switch est plus efficace en performances et moins pénible à écrire qu'une suite de if :
Plus propre et élégant, oui. Pour la performance, ça dépend du code généré par le compilateur.