Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Windows > Win XP

Win XP Forum d'entraide Windows XP. Avant de poster : La F.A.Q Windows XP

Réponse
 
Outils de la discussion
Vieux 11/12/2007, 10h44   #1 (permalink)
Membre éprouvé
 
Avatar de corentin59
 
Date d'inscription: octobre 2006
Messages: 429
Par défaut démarrage windows et processus

Bonjour

Au démarrage, Windows lance une série de processus dont certains ont une icône en bas à droite de l'écran. J'ai plusieurs questions :
1) dans quel fichier est définie la liste des processus à lancer ?
2) les processus sont-ils lancer dans un ordre particulier ? si oui lequel ?
3) quand un processus est lancé et qu'il tourne normalement, il y a-t-il un moyen de le savoir ?

Toutes ces questions ont une finalité : je voudrais faire, à l'instar de Linux, une petite application qui s'afficherait dès le début du démarrage, qui donnerait l'état d'avancement du lancement des processus et surtout, qui interdirait l'accès à windows tant que tous les processus ne sont pas lancé.
corentin59 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/12/2007, 10h53   #2 (permalink)
Responsable .NET

 
Avatar de Louis-Guillaume Morand
 
Date d'inscription: mars 2003
Messages: 8 196
Par défaut

Citation:
1) dans quel fichier est définie la liste des processus à lancer ?
fichier de registre à différents emplacements run, runonce, dans HKLU et HKLM ainsi que les services

Citation:
2) les processus sont-ils lancer dans un ordre particulier ? si oui lequel ?
dans l'ordre des clés de registre mais c'est surtout fait en multithreads parallèles. Le non lancement d'un processus ne bloque pas les suivants


Citation:
3) quand un processus est lancé et qu'il tourne normalement, il y a-t-il un moyen de le savoir ?
alt+ctrl+suppr > onglet processus

Citation:
qui donnerait l'état d'avancement du lancement des processus et surtout, qui interdirait l'accès à windows tant que tous les processus ne sont pas lancé.
Windows sera TOUJOURS lancer AVANT tes processus.
Par contre certains processus sont ouverts AVANT l'ouverture de session, d'autres APRES.

pour ton programme, c'est faisable mais t'auras plusieurs recherches à faire, et pour modifier le boot pour bloquer le login avec une appli, il va falloir modifier des composants comme msgina et là, je préfère te prévenir, tu vas planter beaucoup de windows avant de réussir à faire ce que tu veux
et ensuite, si tu y arrives, si l'un de tes processus plante, tu ne pourras plus accéder une session
__________________
pas de questions par MP! Je n'y réponds pas...

moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom
Louis-Guillaume Morand est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 11/12/2007, 14h16   #3 (permalink)
Membre éprouvé
 
Avatar de corentin59
 
Date d'inscription: octobre 2006
Messages: 429
Par défaut

En fait, je veux créer une application que se lancerait juste après l'écran d'identification (à peu près au moment où le bureau s'affiche pour la première fois), qui afficherait une fenêtre recouvrant tout l'écran et qui prendrait le focus, afin d'intercepter toute action de l'utilisateur et qui disparaitrait toute seule une fois que tous les processus sont lancés et que windows est complètement prêt.
corentin59 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/12/2007, 14h22   #4 (permalink)
Responsable .NET

 
Avatar de Louis-Guillaume Morand
 
Date d'inscription: mars 2003
Messages: 8 196
Par défaut

ca, c'est moins dur. une fenetre full screen (mais avec utilisation API pour s'afficher par dessus la barre des taches), puis en interceptant les controles de fermeture alt+f4, etc
pour le alt+ctrl+suppr, je pense que n'importe qui pourra killer ton appli
__________________
pas de questions par MP! Je n'y réponds pas...

moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom
Louis-Guillaume Morand est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 11/12/2007, 15h33   #5 (permalink)
Membre éprouvé
 
Avatar de corentin59
 
Date d'inscription: octobre 2006
Messages: 429
Par défaut

Citation:
Envoyé par Louis-Guillaume Morand Voir le message
ca, c'est moins dur. une fenetre full screen (mais avec utilisation API pour s'afficher par dessus la barre des taches), puis en interceptant les controles de fermeture alt+f4, etc
pour le alt+ctrl+suppr, je pense que n'importe qui pourra killer ton appli
Là je ne comprend pas tout. Si l'utilisateur de fait rien (n'appuie pas sur une touche ou ne clique pas avec la sourie), je veux que mon application s'arrête toute seule lorsque que tous les processus sont lancés : comment, depuis l'appli, puis-je avoir cette information ?
Si l'utilisateur appuie ou clique, je veux que ça n'ait aucune conséquence tant que mon appli tourne, autrement dit tant que tous les processus ne sont pas lancés (puisqu'elle est censée s'arrêter quand il sont tous lancés!!)
corentin59 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/12/2007, 15h38   #6 (permalink)
Responsable .NET

 
Avatar de Louis-Guillaume Morand
 
Date d'inscription: mars 2003
Messages: 8 196
Par défaut

1- tu n'as aucune garantie de ton appli soit lancée avant les autres. pour se faire il eu fallu que ce soit un service mais dans ce cas c'est lancé avant l'ouverture de session et pas défaut, un service n'est pas censé avoir d'IHM.

2- pour le reste, ton appli liste les programmes qui sont censés demarrer et pour chacun, vérifie s'il est dans la liste des processus et puis c'est tout.

PAR CONTRE, tu peux savoir qu'une appli est lancée mais tu ne peux pas savoir si son chargement est vraiment finie, surtout dans le cas d'une appli qui peut avoir un chargement long (+d'une demi seconde)
Louis-Guillaume Morand est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 17/12/2007, 10h07   #7 (permalink)
Membre éprouvé
 
Avatar de corentin59
 
Date d'inscription: octobre 2006
Messages: 429
Par défaut

Bon oublions mon prog.

Est-il possible d'empêcher l'utilisateur de faire quoi que ce soit tant que windows n'est pas complètement chargé ?
corentin59 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 17/12/2007, 12h12   #8 (permalink)
Membre éclairé
 
Avatar de JPDMJC
 
Date d'inscription: février 2005
Âge: 24
Messages: 340
Envoyer un message via MSN à JPDMJC
Par défaut

Ben c'est déjà comme ça. Les processus sont déjà chargés lorsque l'utilisateur arrive.
Ce que tu prends pour la continuité du chargement de Windows, c'est juste leur travail (ils sont chargés mais on encore des choses à faire), ainsi que les processus des logiciels installés qui se lancent (antivirus, etc), et là c'est un peu pareil : ils commencent à se charger - cette fois après la connexion de l'utilisateur - mais comment peux-tu savoir s'ils ont finit de travailler ?

Un processus se charge, c'est rapide. Après il bosse, et à priori tu n'as pas de moyen de savoir s'il a finit sa première tache.
Bref, tu ne peux pas faire grand chose de plus.
JPDMJC est déconnecté   Envoyer un message privé Réponse avec citation
NEWS WINDOWSF.A.Qs WINDOWSTUTORIELS WINDOWSLIVRES WINDOWS

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Windows > Win XP



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide