Premier plan fenetre DOS Win98

windowsfashion Messages postés 55 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 2 juin 2007 - 1 juin 2007 à 15:34
windowsfashion Messages postés 55 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 2 juin 2007 - 2 juin 2007 à 20:36
Bonjour,


Je souhaiterai que mon programme se mette automatiquement en premier
plan, sous windows 98. Mais comme c'est sous win98 j'ai quelques
difficulté à trouver la solution à mon probléme :/


Est ce que vous connaissez une fontion qui peut fonctionner sous win98?


Merci

24 réponses

cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
1 juin 2007 à 16:08
As-tu essayé BringWindowtoTop ou SetWindowPos ( cherche dans l'aide pour les paramètres.

louis14
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
1 juin 2007 à 16:32
Yop,

il y a aussi SetForegroundWindow() mais il te faut le hwnd de ta fenêtre dos. Et comme tu ne la pas il faudra le rechercher avec FindWindow :).

louis14 : SetWindowPos , c'est pas spécialement la meilleur solution, trop de paramètres à entrer pour faire ce qu'il demande :D
++
deck_bsd
___________________________________
[http://deck-bsd.eurower.net]
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
1 juin 2007 à 17:04
SetForegroundWindow avec GetConsoleWindow fera l'affaire je crois:
SetForegroundWindow(GetConsoleWindow());

C++ (@++)<!--
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
1 juin 2007 à 17:22
Ha je ne connaissai pas GetConsoleWindow() :D , je mourrai moin bête.

++
deck_bsd
___________________________________
[http://deck-bsd.eurower.net]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
windowsfashion Messages postés 55 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 2 juin 2007
1 juin 2007 à 17:47
merci pour votre réactivité :p

J'ai un autre petit probléme avec GetConsoleWindow():

J'ai bien inclu Windows.h mais il m'affiche "error C2065:
'GetConsoleWindow' : undeclared identifier", certainement  une
mauvaise config de mon compilateur non?


Merci
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
1 juin 2007 à 17:55
Arffff non c'est normale. J'avais pas vue que tu travaillais sous win98. Cette fonction n'est disponible qu'à partir de win2000. Désolé mais là je ne peux plus t'aider.

C++ (@++)<!--
0
windowsfashion Messages postés 55 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 2 juin 2007
1 juin 2007 à 18:37
np merci quand meme :)

Comment recuperer le handle d'une fenetre DOS sous windows98?

Merci
0
ncoder Messages postés 244 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 6 avril 2008 1
1 juin 2007 à 19:05
HWND hwnd = FindWindow( NULL, argv[0]);

A+
Bonne programmation
<hr size="2" width="100%" />                                         Site
0
windowsfashion Messages postés 55 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 2 juin 2007
1 juin 2007 à 19:19
Merci, je comprend pas je comile sous Xp, j'ai inclus tous les bon header mais sa me donne toujours:

'BringWindowtoTop' : undeclared identifier

Une idée?
0
ncoder Messages postés 244 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 6 avril 2008 1
1 juin 2007 à 19:22
SetForegroundWindow( FindWindow( NULL, argv[0]) );

A+
Bonne programmation
<hr size="2" width="100%" />                                         Site
0
windowsfashion Messages postés 55 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 2 juin 2007
1 juin 2007 à 21:27
merci mais ^^:

error C2065: 'argv' : undeclared identifier

error C2109: subscript requires array or pointer type

error C2664: 'FindWindowA' : cannot convert parameter 2 from 'int' to 'const char *'
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
1 juin 2007 à 22:42
Ta fonction main est bien définie comme suit ?

int main (int argc, char *argv[])

C++ (@++)<!--
0
windowsfashion Messages postés 55 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 2 juin 2007
2 juin 2007 à 00:31
oui
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
2 juin 2007 à 00:57
Tu utilise bien FindWindow dans la fonction main ? Dans le cas contraire, faut pas se demander pourquoi ça ne fonctionne pas. Si tu utilises FindWindow dans une autre fonction, il faut soit passer argv[0] en paramètre de cette fonction et utiliser ce paramètre dans FindWindow, soit déclarer un pointeur globale qui pointera sur argv[0] et l'utiliser pour FindWindow.

C++ (@++)<!--
0
cs_saifer Messages postés 115 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 19 décembre 2008 1
2 juin 2007 à 10:17
Salut,
heu par hasard tu te serais pas planté sur l'orthographe..c'est BringWindowToTop et pas BringWindowtoTop

(C'est con mais on sait jamais, ca peut arriver..)

-{ Saifer }-
0
windowsfashion Messages postés 55 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 2 juin 2007
2 juin 2007 à 11:37
exact sa marche avec BringWindowToTop + dans la fonction main :D

Sa fonctionne parfaitement sur windows xp mais je n'arrive pas a l'utiliser sous win98.

Je crois que la fonction FindWindow y est pour quelque chose :/


Encore désolé mais avez vous une idée?
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
2 juin 2007 à 16:05
BringWindowToTop, SetForegroundWindow et FindWindow sont toutes disponibles depuis win95 alors ça peut pas être ça.
Tu compiles bien ton code en ascii et non pas en unicode ?

C++ (@++)<!--
0
windowsfashion Messages postés 55 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 2 juin 2007
2 juin 2007 à 18:02
Excuse moi mais je ne trouve pas où est l'option pour compiler en unicode ou ascii dans visual c++ :/

Je vais me defenestrer si sa continue lol

Merci pour ton aide SAKingdom
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
2 juin 2007 à 18:15
Non c'est bon. Tu compiles bien en ascii.
J'ignore ce qui cause problème. Désolé.

C++ (@++)<!--
0
windowsfashion Messages postés 55 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 2 juin 2007
2 juin 2007 à 18:42
Ok np

Sa avance:


SetConsoleTitle("CONSOLE");

HWND cons = FindWindow(NULL,"CONSOLE");

SetForegroundWindow(cons);  


=> fonctionne sous windows xp

=> fonctionne presque sous win98: la fenetre dos clignote en bleu
dans la barre de tache mais elle ne se met pas automatiquement en
premier plan
0