Premier plan fenetre DOS Win98

Signaler
Messages postés
55
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
2 juin 2007
-
Messages postés
55
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
2 juin 2007
-
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

Messages postés
792
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
12 juillet 2019
8
As-tu essayé BringWindowtoTop ou SetWindowPos ( cherche dans l'aide pour les paramètres.

louis14
Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
1
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]
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
SetForegroundWindow avec GetConsoleWindow fera l'affaire je crois:
SetForegroundWindow(GetConsoleWindow());

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

++
deck_bsd
___________________________________
[http://deck-bsd.eurower.net]
Messages postés
55
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
2 juin 2007

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
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
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++ (@++)<!--
Messages postés
55
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
2 juin 2007

np merci quand meme :)

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

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

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

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?
Messages postés
244
Date d'inscription
vendredi 6 mai 2005
Statut
Membre
Dernière intervention
6 avril 2008
1
SetForegroundWindow( FindWindow( NULL, argv[0]) );

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

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 *'
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
Ta fonction main est bien définie comme suit ?

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

C++ (@++)<!--
Messages postés
55
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
2 juin 2007

oui
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
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++ (@++)<!--
Messages postés
115
Date d'inscription
samedi 29 mars 2003
Statut
Membre
Dernière intervention
19 décembre 2008
1
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 }-
Messages postés
55
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
2 juin 2007

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?
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
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++ (@++)<!--
Messages postés
55
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
2 juin 2007

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
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
Non c'est bon. Tu compiles bien en ascii.
J'ignore ce qui cause problème. Désolé.

C++ (@++)<!--
Messages postés
55
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
2 juin 2007

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