Windows XP est fourni avec une ribambelle de service dont une minorité est totalement inutile pour le commun des mortels. Même si la quantité de mémoire vive n'est plus vraiment d'actualité, il est tout de même intéressant à des fins d'optimisation de pouvoir désactiver certains services pour accélérer le démarrage de Windows ou son utilisation de mémoire pour les vieilles machines.
Je vous conseille d'utiliser l'outil msconfig pour désactiver les services.
Voici la liste des services que l'on peut désactiver :
- Accès à distance au registre (sauf si vous comptez éditer le registre du PC depuis un autre PC)
- Aide et support (l'aide de Windows sera indisponible)
- Audio Windows (si vous n'avez pas de son)
- Carte à puce (sauf si authentification par carte à puce est utilisé)
- Centre de sécurité
- Client DHCP (si votre adresse est en IP fixe)
- Compatibilité avec le changement rapide d'utilisateur (si vous êtes en domaine)
- Configuration automatique sans fil (sauf si vous êtes en Wifi)
- Gestion de session d'aide sur le bureau à distance
- Journaux et alertes de performances
- Mises à jour automatiques (sauf si vous faites les mises à jour de Windows XP)
- Microsoft Office Diagnostics
- Onduleur (sauf si vous êtes sur onduleur et qu'il est branché sur le PC)
- Pare-feu Windows / Partage de connexion Internet (si vous avez un firewall tiers)
- Partage du Bureau à distance Netmeeting
- Planificateur de tâches (sauf si vous l'utilisez...)
- Service COM de grave de CD IMAPI (sauf si vous gravez...)
- Service d'indexation (ce service permet d'accélérer les recherches de fichier)
- Service d'état ASP.NET
- Service de rapport d'erreurs
- Service Terminal Server (sauf si vous utiliser Terminal Server)
- Spouleur d'impression (sauf si vous imprimez/scanner...)
- Thèmes (si vous ne voulez pas de thèmes)
- Téléphonie (sauf si vous utilisez une connexion via un modem RTC)
- Windows CardSpace
- Windows Installer (si vous n'aurez plus de logiciel à installer par la suite)
- Windows Presentation Foundation Font Cache (sauf si vous utilisez des beaucoup de logiciels en WPF)
A noter que le service Téléphonie ne doit pas être désactivé si l'on souhaite faire un sysprep après. En effet, sysprep à besoin du service Téléphonie pour s'exécuter (pour l'activation en ligne de la licence, même si votre licence ne s'active pas par Internet). Sans ça, vous aurez l'erreur "La mémoire ne peut être read" de setup.exe !
26 juil. 2011
15 juil. 2011
[howto] Restaurer la barre de lancement rapide dans Windows 7
Dans Windows 7, la barre de lancement rapide (Quick Launch) a été retirée, et n'est plus proposée dans le menu contextuel des barres d'outils de la barre de tâche. Il est pourtant possible de la faire apparaitre.
Pour cela, il suffit de suivre la manipulation suivante :
- Clic droit sur la barre de tache > Barres d'outils > Nouvelle barre d'outils
- Sélectionnez le répertoire qui deviendra votre Quick Launch, anciennement %userprofile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch
- Désactivez l'option Verrouiller la barre de tâches et déplacez le diviseur.
- Avec un clic droit sur le diviseur, vérifiez que les options Afficher le texte et Afficher le titre sont décochés, et choisir l'affichage Petites icônes.
- Arrangez les diviseurs pour rendre visible le lancement rapide à l'endroit que vous souhaitez
- Verrouiller à nouveau la barre de tâches
| Lancement rapide sous Windows 7 |
Pour cela, il suffit de suivre la manipulation suivante :
- Clic droit sur la barre de tache > Barres d'outils > Nouvelle barre d'outils
- Sélectionnez le répertoire qui deviendra votre Quick Launch, anciennement %userprofile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch
- Désactivez l'option Verrouiller la barre de tâches et déplacez le diviseur.
- Avec un clic droit sur le diviseur, vérifiez que les options Afficher le texte et Afficher le titre sont décochés, et choisir l'affichage Petites icônes.
- Arrangez les diviseurs pour rendre visible le lancement rapide à l'endroit que vous souhaitez
- Verrouiller à nouveau la barre de tâches
11 juil. 2011
[décryptage] Google Scribe Labs
Aujourd'hui je vais vous parler d'une petite application web développée par Google, qui est disponible gratuitement en français.
Il s'agit de Google Scribe, disponible à cette adresse.
Sur cette page, qui à première vue ressemble à Google Docs, permet en faite de taper du texte plus rapidement grâce a une technologie de Google qui devine à l'avance le prochain mot que l'on va écrire, un peu comme Google Suggest. Le mot deviné est affiché en gris, il suffit de presser espace pour qu'il soit accepté.
J'ai testé et je suis époustouflé par la justesse des suggestions. Ceci peut être une bonne alternative à tous ceux qui ne possèdent pas un grand vocabulaire, mais surtout ceux qui perdes leurs mots (maladies sur la mémoire ou dyslexie).
Le système inclue également un correcteur grammatical basé sur les phrases référencées des sites web, ce qui permet de posséder très une grande base de données avec toutes les tournures possibles contrairement aux dictionnaires ou encyclopédies, mais souffre de la pollution par le français des adolescents et leur orthographe imaginatif.
Il s'agit de Google Scribe, disponible à cette adresse.
| Interface de Scribe |
Sur cette page, qui à première vue ressemble à Google Docs, permet en faite de taper du texte plus rapidement grâce a une technologie de Google qui devine à l'avance le prochain mot que l'on va écrire, un peu comme Google Suggest. Le mot deviné est affiché en gris, il suffit de presser espace pour qu'il soit accepté.
J'ai testé et je suis époustouflé par la justesse des suggestions. Ceci peut être une bonne alternative à tous ceux qui ne possèdent pas un grand vocabulaire, mais surtout ceux qui perdes leurs mots (maladies sur la mémoire ou dyslexie).
| Proposition d'une correction un peu hasardeuse |
22 juin 2011
[Astuce] Créer une source de données ODBC par programmation
Les sources de données ODBC bien que de moins en moins utilisées, sont pourtant bien pratique si on utilise les pilotes fournis en standards. Surtout qu'avec LINQ (technologie .NET), exploiter une base de données ODBC équivaut à exploiter un connecteur MS SQL ou une structure en mémoire !
Pour bien comprendre, il y a deux choses à voir :
1) Les sources de données, appelées DSN
2) Les pilotes (drivers)
Chaque PC possède différents drivers, dont une bonne quantitée livré avec Windows. L'installation de logiciels, tels que Microsoft Office peut rajouter d'autres drivers.
Chaque DSN utilise un seul driver, et pointe vers un fichier (un fichier de base de données paradox, Access...)
Un DSN peut être soit local à l'utilisateur, soit partagé pour toute la machine (on dit qu'il est System).
La console de gestion des sources se trouve dans le panneau de configuration, ou exécuter odbcad32.
Attention : si votre application est compilée en 64 bits, elle exploitera les drivers 64 bits, qui sont moins nombreux que les pilotes 32 bits !
Rentrons dans le vif du sujet : Comment créer une source de données ODBC par programmation ?
Il faut d'abord savoir quel nom on veut lui donner, quel driver utiliser, et l'ajouter pour l'utilisateur courant ou le système ?
Il faut ajouter une clé de registre dans HKLM\Software\ODBC\ODBC.INI\<nom DSN> et y ajouter quelques valeurs spécifiques, le nom du driver utilisé, le chemin du fichier de la base de données, la DLL qui permet d'exploiter le driver... Pour cela, je vous conseille de créer manuellement une source de données via odbcad32 et de constater dans la base de registre les modifications.
La liste des drivers se trouve dans HKLM\ODBC\ODBCINST.INI\ODBC Drivers. Pour trouver le driver qu'il vous faut, je vous conseille d'utiliser la chaîne FileExtns de chaque clé HKLM\ODBC\ODBCINST.INI\<nom du driver>. Une fois le driver trouvé, vous obtiendrez ainsi presque toutes les valeurs nécessaires pour créer votre DSN. Seule la valeur DWORD DriverID, nécessaire pour le fonctionnement du DSN, ne sera pas présente. Pour obtenir cette valeur, créez manuellement une DSN avec le driver en question, récupérez le DriverID et utilisez-le dans votre code (cette valeur ne change jamais pour un driver donné).
En second lieu, il suffit ajouter une valeur chaîne dans HKLM\ODBC\ODBC.INI\ODBC Data Sources\<nom DSN> = <nom du driver>.
Pour créer la base de données pour utilisateurs, il suffit de créer les mêmes données mais dans la branche HKCU tout en lisant la liste des drivers dans ODBCINST.INI de HKLM. Attention cependant, si l'utilisateur n'a jamais créé de DSN, la branche HKCU\Software\ODBC n'existe pas : il faudra la créer.
Attention : si votre système d'exploitation est en 64 bits, en exécutant odbcad32 vous ne verrez que les DSN 64 bits, et les drivers 64 bits. Regedit*64 affichera la base de registre telle qu'elle serait vu par une application 64 bits. Or votre application 32 bits ne voit pas les mêmes données dans le registre ! Pour voir la base de registre en 32 bits depuis Regedit*64, il suffit d'aller dans HKLM\SOFTWARE\Wow6432Node\ODBC\ ! Vous n'avez pas à spécifier Wow6432Node dans le code de votre application 32 bits, puisque la translation est transparente, est faite par le système.
Pour bien comprendre, il y a deux choses à voir :
1) Les sources de données, appelées DSN
2) Les pilotes (drivers)
Chaque PC possède différents drivers, dont une bonne quantitée livré avec Windows. L'installation de logiciels, tels que Microsoft Office peut rajouter d'autres drivers.
Chaque DSN utilise un seul driver, et pointe vers un fichier (un fichier de base de données paradox, Access...)
Un DSN peut être soit local à l'utilisateur, soit partagé pour toute la machine (on dit qu'il est System).
La console de gestion des sources se trouve dans le panneau de configuration, ou exécuter odbcad32.
Attention : si votre application est compilée en 64 bits, elle exploitera les drivers 64 bits, qui sont moins nombreux que les pilotes 32 bits !
Rentrons dans le vif du sujet : Comment créer une source de données ODBC par programmation ?
Il faut d'abord savoir quel nom on veut lui donner, quel driver utiliser, et l'ajouter pour l'utilisateur courant ou le système ?
Il faut ajouter une clé de registre dans HKLM\Software\ODBC\ODBC.INI\<nom DSN> et y ajouter quelques valeurs spécifiques, le nom du driver utilisé, le chemin du fichier de la base de données, la DLL qui permet d'exploiter le driver... Pour cela, je vous conseille de créer manuellement une source de données via odbcad32 et de constater dans la base de registre les modifications.
La liste des drivers se trouve dans HKLM\ODBC\ODBCINST.INI\ODBC Drivers. Pour trouver le driver qu'il vous faut, je vous conseille d'utiliser la chaîne FileExtns de chaque clé HKLM\ODBC\ODBCINST.INI\<nom du driver>. Une fois le driver trouvé, vous obtiendrez ainsi presque toutes les valeurs nécessaires pour créer votre DSN. Seule la valeur DWORD DriverID, nécessaire pour le fonctionnement du DSN, ne sera pas présente. Pour obtenir cette valeur, créez manuellement une DSN avec le driver en question, récupérez le DriverID et utilisez-le dans votre code (cette valeur ne change jamais pour un driver donné).
En second lieu, il suffit ajouter une valeur chaîne dans HKLM\ODBC\ODBC.INI\ODBC Data Sources\<nom DSN> = <nom du driver>.
Pour créer la base de données pour utilisateurs, il suffit de créer les mêmes données mais dans la branche HKCU tout en lisant la liste des drivers dans ODBCINST.INI de HKLM. Attention cependant, si l'utilisateur n'a jamais créé de DSN, la branche HKCU\Software\ODBC n'existe pas : il faudra la créer.
Attention : si votre système d'exploitation est en 64 bits, en exécutant odbcad32 vous ne verrez que les DSN 64 bits, et les drivers 64 bits. Regedit*64 affichera la base de registre telle qu'elle serait vu par une application 64 bits. Or votre application 32 bits ne voit pas les mêmes données dans le registre ! Pour voir la base de registre en 32 bits depuis Regedit*64, il suffit d'aller dans HKLM\SOFTWARE\Wow6432Node\ODBC\ ! Vous n'avez pas à spécifier Wow6432Node dans le code de votre application 32 bits, puisque la translation est transparente, est faite par le système.
4 juin 2011
[astuce] net send
Vous avez sûrement remarqué que la commande net send n'est plus disponible sous Windows Vista/7.
En effet, vous obtiendrez un message :
Ce qui indique que la commande net existe toujours, mais plus avec l'option send.
De toute façon le service "Affichage des messages" (qui affichait une popup à l'arrivée d'un net send) est désactivé par défaut depuis XP SP2.
Pour y remédier, deux solutions.
Première solution :
Utiliser la commande msg :
msg est une commande de base de Windows, qui existait déjà dans Windows XP et existe encore dans Windows 7. Le but de cette commande est d'envoyer un message à un serveur Terminal Server, mais on peut l'utiliser entre client, ne peut pas être utilisé entre deux machines qui ne sont pas dans le même domaine ou même groupe de travail ce qui limite son utilisation à des fins de spams. La syntaxe n'est pas la même que net send, mais le résultat est sensiblement le même.
Activez le service d'affichage des messages, ajoutez une clé DWORD AllowRemoteRPC avec la valeur 1 dans "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" et redémarrez. Sous Windows 7, il n'est pas nécessaire de redémarrer, redémarrez seulement le service termservice.
Seconde solution :
Utilisez l'utilitaire gratuit sent, téléchargeable ici (343 ko) remplacement l'ancienne commande net send.
En effet, vous obtiendrez un message :
![]() |
| Résultat de la commande net send sous Windows 7 |
![]() |
| Résultat de la commande net send sous Windows XP |
De toute façon le service "Affichage des messages" (qui affichait une popup à l'arrivée d'un net send) est désactivé par défaut depuis XP SP2.
![]() |
| Service Affichage des messages sous XP SP2 |
Première solution :
Utiliser la commande msg :
msg est une commande de base de Windows, qui existait déjà dans Windows XP et existe encore dans Windows 7. Le but de cette commande est d'envoyer un message à un serveur Terminal Server, mais on peut l'utiliser entre client, ne peut pas être utilisé entre deux machines qui ne sont pas dans le même domaine ou même groupe de travail ce qui limite son utilisation à des fins de spams. La syntaxe n'est pas la même que net send, mais le résultat est sensiblement le même.
Activez le service d'affichage des messages, ajoutez une clé DWORD AllowRemoteRPC avec la valeur 1 dans "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" et redémarrez. Sous Windows 7, il n'est pas nécessaire de redémarrer, redémarrez seulement le service termservice.
msg /server nomduPC * "message"
Seconde solution :
Utilisez l'utilitaire gratuit sent, téléchargeable ici (343 ko) remplacement l'ancienne commande net send.
Inscription à :
Articles (Atom)




