Je suis un développeur Java et je dois écrire un petit programme en c++
pour une opération platform dependant (capture de fenêtre offscreen).
J'ai écrit un code en Python qui marche parfaitement quand il n'est pas
appelé depuis mon code java mais qui plante lamentablement s'il est
lancé depuis java (je ne sais pas pourquoi) :
Le code se comprend assez facilement je pense : import des librairies,
récupération des arguments passés en ligne de commande et appel de deux
fonctions (qui je pense sont en syntaxe très proches de la syntaxe
originale de l'API win32 en C).
Quelqu'un pourrait-il m'aider à traduire ce code en C++. J'ai tenté mais
je me suis heurté à des difficultés pour écrire un code valide
(conversion de char en int notamment).
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
Alexandre
bonjour,
J'ai écrit un code en Python qui marche parfaitement quand il n'est pas appelé depuis mon code java mais qui plante lamentablement s'il est lancé depuis java (je ne sais pas pourquoi) :
bon j'y connais rien en python mais je pense que ce n'est pas très difficile... (Note : je sais, le code suivant c'est du C, pas du C++, mais ici ça ne change pas grand chose)
Je suppose que sys.argv[1] est le 1er argument de la ligne de commande de l'application, et qu'il est sensé contenir le handle du contrôle visé... Il ne faut donc que convertir une chaine de caractères en entier... HANDLE control = atoi(argv[1]); la fonction atoi est définie dans un en-tete (stdlib.h je crois) qu'il faut inclure par la directive #include (en début de fichier) #include <stdlib.h>
gc apparement est un entier représentant le 1er paramètre du message WPARAM gc = atoi(argv[2]);
La suite est quasiment identique à ton code, sauf que je ne connais pas PRF_CHILDREN et autres constantes, donc impossible de savoir à quoi ça sert... Peut être en postant sur fr.comp.os.ms-windows.programmation ?
J'ai écrit un code en Python qui marche parfaitement quand il n'est pas
appelé depuis mon code java mais qui plante lamentablement s'il est lancé
depuis java (je ne sais pas pourquoi) :
bon j'y connais rien en python mais je pense que ce n'est pas très
difficile...
(Note : je sais, le code suivant c'est du C, pas du C++, mais ici ça ne
change pas grand chose)
Je suppose que sys.argv[1] est le 1er argument de la ligne de commande de
l'application, et qu'il est sensé contenir le handle du contrôle visé... Il
ne faut donc que convertir une chaine de caractères en entier...
HANDLE control = atoi(argv[1]);
la fonction atoi est définie dans un en-tete (stdlib.h je crois) qu'il faut
inclure par la directive #include (en début de fichier)
#include <stdlib.h>
gc apparement est un entier représentant le 1er paramètre du message
WPARAM gc = atoi(argv[2]);
La suite est quasiment identique à ton code, sauf que je ne connais pas
PRF_CHILDREN et autres constantes, donc impossible de savoir à quoi ça
sert... Peut être en postant sur fr.comp.os.ms-windows.programmation ?
J'ai écrit un code en Python qui marche parfaitement quand il n'est pas appelé depuis mon code java mais qui plante lamentablement s'il est lancé depuis java (je ne sais pas pourquoi) :
bon j'y connais rien en python mais je pense que ce n'est pas très difficile... (Note : je sais, le code suivant c'est du C, pas du C++, mais ici ça ne change pas grand chose)
Je suppose que sys.argv[1] est le 1er argument de la ligne de commande de l'application, et qu'il est sensé contenir le handle du contrôle visé... Il ne faut donc que convertir une chaine de caractères en entier... HANDLE control = atoi(argv[1]); la fonction atoi est définie dans un en-tete (stdlib.h je crois) qu'il faut inclure par la directive #include (en début de fichier) #include <stdlib.h>
gc apparement est un entier représentant le 1er paramètre du message WPARAM gc = atoi(argv[2]);
La suite est quasiment identique à ton code, sauf que je ne connais pas PRF_CHILDREN et autres constantes, donc impossible de savoir à quoi ça sert... Peut être en postant sur fr.comp.os.ms-windows.programmation ?