Modification de la barre de défilement par défaut de Windows 7

0

Aucune infraction, mais les barres de défilement par défaut de Windows 7 ne sont pas si géniales. Je souhaite les modifier de préférence sans utiliser d’applications tierces et plus encore sans utiliser d’applications tierces payantes.

J'ai entendu dire que Window Blinds de Stardock, qui est une application payante, peut être utilisé pour le faire, mais je n'en suis pas sûr. Les stores de fenêtre peuvent-ils être utilisés uniquement pour changer les barres de défilement?

Rahul Thakur
la source
Vous semblez vous contredire. Quelle est ta question; comment le faire sans application tierce ou si Window Blinds peut faire ce que vous voulez?
CharlieRB
Je pensais que c'était assez simple. Je veux changer les barres de défilement par défaut dans Win7. Je ne veux pas utiliser une application payante ou aucune. Certains correctifs de registre / mod avec hacker de ressources, etc., je ne sais pas trop comment faire.
Rahul Thakur
Eh bien, vous dites que vous ne voulez pas utiliser une application tierce, vous faites ensuite référence à une application tierce payante lorsque vous demandez si Window Blinds peut faire ce que vous voulez. Voir la contradiction? J'essaie simplement de comprendre votre question. Essayez-vous de dire que vous recherchez des résultats similaires à ce que cette application peut faire? Que voulez-vous spécifiquement changer dans les barres de défilement?
CharlieRB
@RahulThakur - Vous devez utiliser une application tierce si vous souhaitez la modifier, car vous devez remplacer les ressources par quelque chose.
Ramhound
@CharlieRB Je suis fatigué de ceux par défaut, ils ne semblent pas très bons, je voulais le changer pour quelque chose de simple, net et mince.
Rahul Thakur

Réponses:

5

Pour changer les barres de défilement affichées dans les applications, vous devez comprendre comment les interfaces graphiques sont rendues.

Une interface graphique (interface graphique) peut être rendue de deux manières:

  • Natif : l'application demande au système d'exploitation de restituer un widget d'un type particulier. Il existe des widgets intégrés disponibles dans le système d'exploitation Windows; ces widgets apparaissent dans les applications Microsoft intégrées, ainsi que dans de nombreux programmes tiers utilisant le même toolkit.

  • Personnalisé : de nombreuses applications utilisent un toolkit de widget personnalisé ou un style personnalisé des widgets, également appelé "non natif". Pour ce faire, l’application demande un canevas 2D générique, qui est en gros un rectangle vide, et "peint" manuellement les pixels qu’elle souhaite dans cet espace. Les applications qui font cela n'appellent pas dans le système d'exploitation Windows pour demander ses propres widgets natifs; au lieu de cela, ils les "peignent" à l'aide d'une boîte à outils ou d'un code spécifique à l'application.

Voici des exemples de boîtes à outils qui utilisent directement ou indirectement des widgets natifs:

  • Java SWT
  • La plupart des applications .NET qui utilisent Windows Forms, bien que des rendus de formulaires personnalisés soient possibles
  • Applications utilisant ATL, MFC ou directement l'API Win32

Voici des exemples de boîtes à outils personnalisées:

  • GTK + (certains moteurs; il existe un moteur "natif" qui peint les widgets Windows natifs)
  • Java Swing (Java peint toujours, mais il utilise les ressources graphiques de l'apparence du widget natif pour émuler ou rapprocher l'apparence des widgets natifs)
  • Qt (certains moteurs; il existe un moteur "natif" qui se rapproche des widgets Windows natifs ou les utilise directement si possible)
  • Juce (similaire à Java Swing)

Maintenant, quand vous dites "Changer la barre de défilement par défaut de Windows 7", je pense que vous parlez de changer l’ apparence des barres de défilement natives . Parce qu'il est difficile, voire impossible, de forcer chaque application qui utilise une barre de défilement à la dessiner d'une manière spécifique, car l'application peut avoir un code personnalisé qui dessine manuellement la barre de défilement. Vous ne pouvez donc pas intercepter facilement le code qu'elle utilise. et le changer.

En particulier, si l'application que vous exécutez utilise un toolkit personnalisé bien connu, tel que Java Swing, vous pourrez peut- être forcer la personnalisation de l'interface utilisateur pour des toolkits spécifiques. mais vous devrez appliquer ces modifications «par boîte à outils»; et vous n'avez toujours pas de chance si l'application utilise un dessin codé en dur sur un canevas sans aucune boîte à outils.

WindowBlinds, par exemple, utilise une DLL "hook" pour injecter son propre code dans des applications graphiques sur le système. Le code WindowBlinds intercepte les appels dans l'API Windows qui demandent des widgets natifs . Au lieu de dessiner un widget de style par défaut, il en dessine un en fonction des données de thème fournies par un thème WindowBlinds. Ce hook DLL est essentiellement le seul moyen de le faire; il n'y a pas de correctif de registre à usage général ni de piratage de ressources pouvant modifier les éléments graphiques d'applications natives. Les fonctionnalités de thématisation / style intégrées de Windows ne sont pas extrêmement flexibles, d'où la nécessité d'applications tierces telles que WindowBlinds, qui injectent un code personnalisé dans chaque application que vous exécutez afin de transformer les barres de défilement par défaut en barres personnalisées.

Des applications intelligentes (ou des applications avec certains privilèges de sécurité) peuvent empêcher cette liaison de la DLL, car elle présente un risque de sécurité potentiel pour l'intégrité des informations de l'application: si un programme non approuvé parvient à accrocher une DLL dans votre programme, il peut tout faire. , essentiellement, y compris en limitant les fonctionnalités limitant les fonctionnalités de cette application. Ainsi, certaines applications, pour des raisons de sécurité, interdisent cette modification.

La réponse courte est que vous devez simplement utiliser WindowBlinds (allez, gagnez de l'argent!), Mais sachez que vous ne serez jamais en mesure de remplacer 100% de la barre de défilement dans toutes les applications, en raison des nombreuses façons différentes de rendre le rendu. .

allquixotic
la source
Grande explication. Merci. Puis-je faire quelque chose avec le widget barre de défilement native? Window Blinds est lourd en ressources, c'est pourquoi j'essaie de l'éviter.
Rahul Thakur