Executer une appli win 32 en tache de fond C / C++ V7

cs_mirax Messages postés 18 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 19 mai 2006 - 11 août 2005 à 16:29
cs_mirax Messages postés 18 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 19 mai 2006 - 4 sept. 2005 à 22:07
Salut tout le monde chui newbe et j'aimerai savoir quelle est la
commande pour ne pas afficher la fenetre noire de l'application win32,
j'aimerai qu'elle s'execute en tache de fond au lancement, sans la
barre réduite.

et si qqn connait aussi le truc pour afficher un petit icone dans la
zone de notification a coté de l'heure, je suis preneur :) .

Merci

8 réponses

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
11 août 2005 à 16:33
Il te faut pour cela tout simplement ne pas créer de fenetres. Pour la 'petite icone', direction MSDN Shell_NotifyIcon().

+2(p - n)
0
cs_mirax Messages postés 18 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 19 mai 2006 7
11 août 2005 à 18:09
Ok, mais en fait je ne lance pas de création de fenetre, c'est une
fenetre du genre cmd qui s'ouvre et dans laquelle je fait un scanf puis
un printf et j'aimerai qu'elle disparaisse apres...

J'ai essayé de faire qqch avec une fonction

ShowWindow(hWnd, SW_HIDE);

mais je ne comprends pas comment on utilise la reference a la fenetre hWnd...

MiRaX
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
11 août 2005 à 18:43
HWND hwnd;

hwnd = GetConsoleWindow();
ShowWindow(hwnd, SW_HIDE);

+2(p - n)
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
11 août 2005 à 19:13
AlexMAN ta réponse m'étonne un peu: on peut peut-être faire un projet GUI en non console comme ca pas de console...
Par contre mirax si tu ne sais pas ce qu'est un HWND, tu ne dois pas trop connaitre la prog Win32, et alors tu va avoir du mal à utiliser Shell_NotifyIcon
0

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

Posez votre question
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
11 août 2005 à 19:30
Salut,

Pour créer un programme qui s'exécute en tache de fond, il suffit,
comme l'a dit AlexMan, de ne pas créer de fenêtre. Le projet doit être
de type "Win32 Application" et non console. Voici un petit exemple:



int APIENTRY WinMain(HINSTANCE
hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)

{

//..........

MessageBox(0, "Programme en tâche de fond.",0,0);

return 0;

}
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
11 août 2005 à 19:45
Oui j'y ai pensé, mais il m'a montré un ShowWindow() donc je suis parti sur cette solution, mais c'est evident que la solution de vecchio et racpp est bien meilleure, plus propre ;)

+2(p - n)
0
cs_mirax Messages postés 18 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 19 mai 2006 7
12 août 2005 à 14:39
ok merci a tous je pense pouvoir me débrouiller avec tout cela, comme je l'ai di je ne suis que débutant....
Merci bien
Mirax
0
cs_mirax Messages postés 18 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 19 mai 2006 7
4 sept. 2005 à 22:07
G du mal a trouver dans quelle librairie est declarée cette fonction :S et sinon ca marche po a la conpilation .... HELP!

Merci

MiRaX
0
Rejoignez-nous