Capturer le contenu d'une fenetre

Le
Pif
Bonjour, pour ceux qui connaissent mac, l'idée est un peu la meme que
leur docking :

je voudrais dans un application pourvoir récupérer la liste des fenetres
et pouvoir en visualiser une miniature dans mon programme

Quelqu'un a une idée ? Eventuellement, et plus spécifiquement,
j'aimerais la liste des fenetres de navigateur, et éventuellement
récupérer le contenu de la page par exemple en plus



merci !
Vos réponses
Trier par : date / pertinence
jlp
Le #213276
Pas tout compris mais regarder autour de
java.awt.Robot
la methode createScreenCapture
puis certainement associé à du JNI pour afficher la fenetre en foreground
avant de la capturer.

"Pif" news:e00p3r$379$
Bonjour, pour ceux qui connaissent mac, l'idée est un peu la meme que
leur docking :

je voudrais dans un application pourvoir récupérer la liste des fenetres
et pouvoir en visualiser une miniature dans mon programme...

Quelqu'un a une idée ? Eventuellement, et plus spécifiquement,
j'aimerais la liste des fenetres de navigateur, et éventuellement
récupérer le contenu de la page par exemple en plus ...



merci !


fd
Le #213274
Pas tout compris mais regarder autour de
java.awt.Robot
la methode createScreenCapture
puis certainement associé à du JNI pour afficher la fenetre en foreground
avant de la capturer.

Robot, j'adore .. mais il me semble qu'il y a du nouveau pour les

screenshots en 1.5, je vais jeter un coup d'oeil
tu peux faire ta capture en utilisant un window listerner et en
declachant ton screenshot sur le windowDeactivated

(pour ceux qui suive le groupe, je n'ai pas bu mon café d'apres manger,
alors il se peut que je dise encore des conneries)

fd
Le #213273
Robot, j'adore .. mais il me semble qu'il y a du nouveau pour les
screenshots en 1.5, je vais jeter un coup d'oeil
tu peux faire ta capture en utilisant un window listerner et en
declachant ton screenshot sur le windowDeactivated

(pour ceux qui suive le groupe, je n'ai pas bu mon café d'apres manger,
alors il se peut que je dise encore des conneries)


bein oui, j'ai dit une connerie .. vu que c'est pas ton prog java que tu
veux capturer ... tu peux utiliser robot mais pas mon window listener
fumeux ... allez, vite , un bon café ;)

jlp
Le #213271
"fd" news:4423f9f4$0$12878$

Robot, j'adore .. mais il me semble qu'il y a du nouveau pour les
screenshots en 1.5, je vais jeter un coup d'oeil
tu peux faire ta capture en utilisant un window listerner et en
declachant ton screenshot sur le windowDeactivated

(pour ceux qui suive le groupe, je n'ai pas bu mon café d'apres manger,
alors il se peut que je dise encore des conneries)


bein oui, j'ai dit une connerie .. vu que c'est pas ton prog java que tu
veux capturer ... tu peux utiliser robot mais pas mon window listener
fumeux ... allez, vite , un bon café ;)
d'où hélas le JNI,

mais peut-être avec Mustang ( 6.0 ) ....


Pif
Le #214025
Tu fais quoi exactement avec le JNI ?


"fd" news:4423f9f4$0$12878$
Robot, j'adore .. mais il me semble qu'il y a du nouveau pour les
screenshots en 1.5, je vais jeter un coup d'oeil
tu peux faire ta capture en utilisant un window listerner et en
declachant ton screenshot sur le windowDeactivated

(pour ceux qui suive le groupe, je n'ai pas bu mon café d'apres manger,
alors il se peut que je dise encore des conneries)
bein oui, j'ai dit une connerie .. vu que c'est pas ton prog java que tu

veux capturer ... tu peux utiliser robot mais pas mon window listener
fumeux ... allez, vite , un bon café ;)
d'où hélas le JNI,

mais peut-être avec Mustang ( 6.0 ) ....






jlp
Le #214019
tu recupères le handle de ( ou des fenetres) la fenetre à l'aide des API
Windows Microsoft, tu en met une en foreground et apres tu prends l'image
avec Robot
"Pif" news:e0astg$1c3$
Tu fais quoi exactement avec le JNI ?


"fd" news:4423f9f4$0$12878$
Robot, j'adore .. mais il me semble qu'il y a du nouveau pour les
screenshots en 1.5, je vais jeter un coup d'oeil
tu peux faire ta capture en utilisant un window listerner et en
declachant ton screenshot sur le windowDeactivated

(pour ceux qui suive le groupe, je n'ai pas bu mon café d'apres
manger,




alors il se peut que je dise encore des conneries)
bein oui, j'ai dit une connerie .. vu que c'est pas ton prog java que

tu



veux capturer ... tu peux utiliser robot mais pas mon window listener
fumeux ... allez, vite , un bon café ;)
d'où hélas le JNI,

mais peut-être avec Mustang ( 6.0 ) ....








Pif
Le #214017
J'ai jamais utilisé JNI, tu as 1 ou deux pointeurs (lien, nom de
classe, etc.) qui me dirigent vers ce qui permet de lister les fenetres
du système par exemple ?

merci


tu recupères le handle de ( ou des fenetres) la fenetre à l'aide des API
Windows Microsoft, tu en met une en foreground et apres tu prends l'image
avec Robot




jlp
Le #214016
"Pif" news:e0balk$5r7$
J'ai jamais utilisé JNI, tu as 1 ou deux pointeurs (lien, nom de
classe, etc.) qui me dirigent vers ce qui permet de lister les fenetres
du système par exemple ?

merci


tu recupères le handle de ( ou des fenetres) la fenetre à l'aide des
API


Windows Microsoft, tu en met une en foreground et apres tu prends
l'image


avec Robot


Il y a un tutorial donné avec le JDK et sur le site de


sunhttp://java.sun.com/developer/onlineTraining/Programming/JDCBook/jni.html
. En fait les fonctions sont données dans les dll Windows
un extrait pour un exemple de fichier .c que j'ai utilisé :
#include #include #include #include #include
// exemple de fonctiobn JNI :
JNIEXPORT jint JNICALL Java_RobotSaisieJLPV4_KeyLogJava_getWindowHandle
(JNIEnv *env, jobject obj)
{
jint hwnd = (jint) GetForegroundWindow();
printf(" hwnd = %d n",hwnd);
return hwnd;
}

JNIEXPORT jint JNICALL Java_RobotSaisieJLPV4_KeyLogJava_setFocus
(JNIEnv *env, jobject obj, jint hwnd)
{
jint hwnd2=(jint)setFocus((HWND)((int) hwnd) );
return hwnd2;
}

JNIEXPORT jboolean JNICALL
Java_RobotSaisieJLPV4_KeyLogJava_setForegroundWindow
(JNIEnv *env, jobject obj, jint hwnd)
{
jboolean retourúLSE;
retour=SetForegroundWindow((HWND) ((int) hwnd));
return retour;
}

JNIEXPORT jint JNICALL Java_RobotSaisieJLPV4_KeyLogJava_getMousePosX
(JNIEnv *env, jobject jobj)

{
POINT pt;
GetCursorPos(&pt);

printf ("X =%d n",pt.x);
return ((jint) pt.x);
}


JNIEXPORT jint JNICALL Java_RobotSaisieJLPV4_KeyLogJava_getMousePosY
(JNIEnv *env, jobject obj)
{
POINT pt;
GetCursorPos(&pt);

printf ("Y =%d n",pt.y);
return ((jint) pt.y);

}

et les fonctions JNI ci-dessus représentent des methodes avec le
modificateur native de la classe RobotSaisieJLPV4.KeyLogJava


Publicité
Poster une réponse
Anonyme