AIDE URGENT

Signaler
Messages postés
54
Date d'inscription
vendredi 4 juillet 2003
Statut
Membre
Dernière intervention
2 septembre 2009
-
Messages postés
54
Date d'inscription
vendredi 4 juillet 2003
Statut
Membre
Dernière intervention
2 septembre 2009
-
Salut,
j'ai beau essayer de trouver comment recuperer le handle d'une fenetre en full screen, mais ca ne marche pas du tout, je ne comprends pas...Je vous explique comment doit marcher mon prog...
Tout d'abord j'ouvre une appli flash en fullscreen et je voudrais associer une icone au handle de ma fenetre, mais le probleme avec une page en fullscreen il n'y a pas de handle...sauf dans la barre des taches ou l'on peut la recuperer, mais je ne vois pas comment, alors si qqn peut me donner un petit coup de main je lui en serais extremement reconnaissant.
Merci d'avance...
En esperant etre clair, j'attends vos reponses...

Si la connaissance peut creer des problemes, ce n'est pas par l'ignorance que l'on peut les resoudre.
-- Isaac Asimov

24 réponses

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Avec FindWindow() tu peux pas récupérer l'handle ?
Messages postés
54
Date d'inscription
vendredi 4 juillet 2003
Statut
Membre
Dernière intervention
2 septembre 2009

Si je peux le recuperer mais que le handle de couleur bleu, en haut de la fenetre...ca ne s'applique pas a la barre des taches...D'ou mon problème...Ca fait 1 semaine que je suis dessus et je ne trouve pas comment faire...

Si la connaissance peut creer des problemes, ce n'est pas par l'ignorance que l'on peut les resoudre.
-- Isaac Asimov
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
le handle de couleur bleu comme tu dis c celui de la fenetre, et par aileurs, si ton appli est en plein écran, on voit pas la barre des taches donc ca sert a rien.
Messages postés
54
Date d'inscription
vendredi 4 juillet 2003
Statut
Membre
Dernière intervention
2 septembre 2009

ouais ca j'ai compris, mais moi je veux recuperer ce qui s'apparente au "handle", mais dans la barre des taches, car le handle en haut de la fenetre en bleu est le meme que celui de la barre des taches...Moi je veux le recuperer dans la barre des taches car je ne peux le recuperer ailleurs du fait que mon appli est en plein ecran...et ca je ne vois pas comment faire car find window ne s'applique pas auw fenetres en full screen...
La est mon problème et je ne sais pas comment faire...

Si la connaissance peut creer des problemes, ce n'est pas par l'ignorance que l'on peut les resoudre.
-- Isaac Asimov
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
3
Salut,
c'est quel handle de quel fenetre que tu veux exactement ?
Messages postés
54
Date d'inscription
vendredi 4 juillet 2003
Statut
Membre
Dernière intervention
2 septembre 2009

Celui qui est dans la barre des taches.
Par exempe, pour le moment ne connaissant pas le handle du prog qui va m'etre donner, je lance en fullscreen une page google qui a pour handle (que ca soit dans la barre des taches ou dans le handle en bleu de la fenetre) :
"Google - Microsoft Internet Explorer".
J'y ai associé une icone que j'ai fait, et lorsque je lance une page google en fullscreen, mon icone dispqrait.A l'inverse lorsque c'est la meme page Google qui est en mode fenetré, l'icone reste et je peux cliquer dessus...
Voila mon problème.

Si la connaissance peut creer des problemes, ce n'est pas par l'ignorance que l'on peut les resoudre.
-- Isaac Asimov
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Et pourquoi FindWindow() ne marcherait pas, sachant qu'il suffit de connaitre le nom de la classe ou le titre de la fenêtre?
Sinon peut etre que la fonction EnumWindows() pourrait t'aider a trouver le fameux handle.
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
il est ou exactement l'icone ?
Messages postés
54
Date d'inscription
vendredi 4 juillet 2003
Statut
Membre
Dernière intervention
2 septembre 2009

Parce que je pense qu'il ne lit que dans la partie "bleu de la fenetre", pour preuve...j'ouvre une fenetre avec google comme tache de fond, ca marche tres bien avec findwindow...
lorsque je passe en mode fullscreen toujours avec google, ca ne marche plus...voila pourquoi je dis que ca ne marche pas

Si la connaissance peut creer des problemes, ce n'est pas par l'ignorance que l'on peut les resoudre.
-- Isaac Asimov
Messages postés
54
Date d'inscription
vendredi 4 juillet 2003
Statut
Membre
Dernière intervention
2 septembre 2009

il se trouve dans la barre des taches, se trouvant en bas a gauche...
Tu veux savoir autre chose ?? :)

Si la connaissance peut creer des problemes, ce n'est pas par l'ignorance que l'on peut les resoudre.
-- Isaac Asimov
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
3
Salut,
"Google - Microsoft Internet Explorer" n'est pas le handle de la fenetre, on est bien d'accord. C'est juste le texte de la barre de titre.
Si tu fais:
FindWindow("IEFrame", "Google - Microsoft Internet Explorer");
Tu trouve le handle de la fenetre ou tu as lancé google, j'ai testé a l'instant. Que la fenetre soit en fullscreen ou en fenetre ne change rien, ca marche aussi bien dans les 2 cas.
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
3
Salut,
Aussi, quand tu dis "j'y associe une icone", tu parle bien d'une trayicon c'est ca ?
Messages postés
54
Date d'inscription
vendredi 4 juillet 2003
Statut
Membre
Dernière intervention
2 septembre 2009

C'est bizarre moi ca ne marche pas...je ne comprends pas...
Pourtant si tu dis que ca marche chez toi ca devrait aussi marcher chez moi, mais ce n'est pas le cas...

Si la connaissance peut creer des problemes, ce n'est pas par l'ignorance que l'on peut les resoudre.
-- Isaac Asimov
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
HWND hWnd = FindWindow("IEFrame", 0);
Ca permat de trouver toutes les fenetres "Internet Explorer" sans tenir compte du titre.
Messages postés
54
Date d'inscription
vendredi 4 juillet 2003
Statut
Membre
Dernière intervention
2 septembre 2009

Ok merci, mais justement je ne veux pas que mon icone ne s'applique a plusieurs fenetres IE...et ce que m'a dit aardman marche chez lui, mais pas chez moi et je ne comprends pas pk...

Si la connaissance peut creer des problemes, ce n'est pas par l'ignorance que l'on peut les resoudre.
-- Isaac Asimov
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
3
Salut,

HWND hWnd = FindWindow("IEFrame", "Google - Microsoft Internet Explorer");
if(IsWindow(hWnd)) MessageBox(0, "Fenetre trouvée", "Info", 0);

Voila mon code.
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
HWND hWnd = FindWindow("IEFrame", 0); ne va trouver qu'une fenetre a la fois.
FindWindow("IEFrame", "Google - Microsoft Internet Explorer");
marche aussi chez moi...
Messages postés
54
Date d'inscription
vendredi 4 juillet 2003
Statut
Membre
Dernière intervention
2 septembre 2009

En fait je comprends pourquoi ca ne marche pas...
j'ai testé

FindWindow("IEFrame", 0);
et j'ai ouvert que mon application en plein ecran et il ne me trouve pas mon handle que je demande...Bizarre bizarre...pourtant le texte du handle de ma fenetre en fullscreen indique bien "Google - Microsoft Internet Explorer"...donc je ne comprends pas trop la...chuis un chtit peut largué :))

Si la connaissance peut creer des problemes, ce n'est pas par l'ignorance que l'on peut les resoudre.
-- Isaac Asimov
Messages postés
54
Date d'inscription
vendredi 4 juillet 2003
Statut
Membre
Dernière intervention
2 septembre 2009

Ouais comme je disais a Aardman, j'ai testé ce que tu m'avais dis et en fait il ne me trouve pas de fenetre ouverte comportant comme texte pour mon handle "Google - Microsoft Internet Explorer"...
Pourtant en regardant dans la barre des taches il y a bien marqué le texte que je t'ai dis ci dessus...
Je ne capte pas pourquoi...Peut etre que ca vient de la fenetre que j'ouvre en fullscreen...je te montre la fonction qui creer la fenetre en fullscreen :

void exec_cmd(char *cmd_line)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;

ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));
if(!CreateProcess(NULL, cmd_line, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
exit(-1);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
return;
}

Si la connaissance peut creer des problemes, ce n'est pas par l'ignorance que l'on peut les resoudre.
-- Isaac Asimov
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
3
Poste tout le code que tu fais pour tester ca.
Si tu fais FindWindow("IEFrame", 0); et que as une fenetre IE ouverte et que tu trouve rien c'est que l'erreur est autre part.