Requirements :
-Game maker version enregistrée




Modifier la base de registre de Windows, en voilà un sujet vaste !

Qu'est-ce la base de registre ?
La base de registre est là où est stocké les informations sur votre configuration de Windows ! On trouve de tout ! La configuration de votre matériel, les effets visuels, manière de fonctionné etc... Mais c'est aussi là que la plupart des virus vont faire leurs modifications. Je vous conseille d'être très prudent car vous ne devez pas manquer votre coup happy1.
Mais avant de rentrer à l'action je vais tout de même vous montrer comment fonctionne la base de registre (sinon vous n'allez pas comprendre le reste !)


Comprendre la base de registre
On va commencer par voir, comment accéder à la base de registre !
Cliquez sur démarrer et cliquer sur exécuter !


Dans la fenêtre qui apparaît, tapez regedit et voici ce que vous avez :


Regardons tout ceci :
1)Les dossiers sont des clés qui vous permettront d'accédé à d'autres clés qui vous amèneront à des valeurs !
2)Nom : Nom de la valeur
Type : Type de la valeur, en effet il existes plusieurs types de valeurs
Données : Ce que contient la valeur !
3)Le chemin ou vous êtes, ce chemin s'appelle une branche !
4)La liste des valeurs qui sont dans cette clé !

Par exemple, cliquez sur le + qui est à côté de la clé HKEY_CLASSES_ROOT. Vous aurez la liste des sous-clés ! Cliquez sur le dossier HKEY_CLASSES_ROOT, vous voyez les valeurs qui sont dans cette clé (attention, seulement les valeurs de la clé est présentes, pas celle de ses sous-clés, vous devez cliquez sur les sous-clés pour voir leurs valeurs) En cliquant sur la clé désirée, vous remarquez que ce qui est en 3) à changé ! Tout ce qui est écrit dans 3) sont des clés ou des sous-clés ! Fessons un petit test pour voir si vous avez compris...

Rendez-vous à la branche suivante :
Poste de Travail\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer

Déjà rendu là ? Bravo ! Vous avez normalement 2 valeurs ! Une qui s'appelle (par défaut) et l'autre IconUnderline ! Je vous ai dit qu'il y a différents types de valeurs ! Dans type c'est écrit un raccourci (nous verrons bientôt ce que chaque raccourci veut dire)
On va voir comment crée une valeur, sur la barre en haut, cliquez sur edition --- nouveau --- valeur DWORD
Comment par magie vous avez une nouvelle valeur devant vous ! Pour évitez que Windows plante, tout est important, le nom de la clé, où est elle située et ses données qu'elle contient ! Nommez la valeur AlwaysUnloadDll. Appuyez sur entrer !
Double-cliquez sur la valeur AlwaysUnloadDll et vous avez ceci :


Nom de la valeur : Tout est dans le titre non ? Smile
Données de la valeur : Ce que la valeur contient, souvent un chiffre mais peut être une lettre/mot !
Base : Ne nous compliquons pas là-dessus, sachez que la plupart du temps on utilise la base hexadécimale !

Mettez la donnée de AlwaysUnloadDll à 1 et appuyez sur OK !
Note : Pour que les modifications prennent effets, il faut la plupart du temps redémarrer son ordinateur ! Notez que cette valeur a pour effet d'améliorer les performances de votre ordinateur, vous pouvez la garder si sa vous tente Smile

Voilà, vous avez crée une valeur DWORD ! Pour supprimer une valeur, vous pouvez cliquez droit sur la valeur et cliquez sur supprimer !

Imaginez que vous faites une mauvaise manipulation !! Votre Windows plante, vous n'avez pas de sauvegarde vous devez tout réinstaller !
Tant pis pour vous gnii . Non, on va apprendre comment sauvegarder une branche et comment ouvrir la sauvegarde pour réparer la branche !

À la barre en haut, cliquez sur Fichier --- Exporter ! Nous avons ceci en bas de la fenêtre qui est apparu :


Ne sélectionnez JAMAIS tout ! Sa va tout bloquer et salir votre base de registre quand vous allez le réparer !
Alors vous devez à place sélectionnez la branche que vous voulez sauvegardez ! Mettez le nom du fichier et cliquez sur Enregistrer !

Quand vous voulez réparer la branche, faites Fichier --- Importer et sélectionnez votre fichier !

Voyons maintenant les différents types de valeurs avec leurs raccourcis dans types !

Clé : C'est les dossiers qui sont à gauches, donc il n'y a pas de raccourcis !
Valeur chaîne : REG_SZ
Valeur binaîre : REG_BINARY
Valeur DWORD : REG_DWORD
Valeur de chaînes multiples : REG_MULTI_SZ
Valeur de chaîne extensible : REG_EXPAND_SZ

Vous connaissez maintenant la base de la base de registre, on peut commencer à apprendre comment la modifier avec game maker !

Je vous oblige à supprimer la valeur qu'on vient de crée, on va la re-crée avec game maker pour l'exercice Smile


Comment va t-on modifier la base de registre avec game maker ?
Il existe plusieurs moyens, chacun avec leurs avantages / désavantages.
Voyons les 3 moyens les (selon moi) plus utilisés :

GML
Avantanges : Directement inclus à Game Maker ! Ne dérange pas l'utilisateur. Peut modifier les valeurs REG_SZ !
Désavantages : Ne permet que de faire des valeurs REG_SZ ! Trop limité !


VBS
Avantages : Ne dérange pas l'utilisateur ! Permet de faire tout types de valeurs !
Désavantages : *Peut* faire de fausses alertes de sécurité par les antivirus, ne permet pas de supprimer ou modifier une clé ! Requiert un batch pour bien fonctionner !


Reg
Avantages : Permet de faire tout type de valeur, de les modifier ou de les supprimer !
Désavantages : Requiert un batch pour fonctionner ! Gêne un peu l'utilisateur !


Que choisir ? Je vous conseille vbs ET reg réunit ensemble, sacher que les alertes de sécurités du au vbs sont rares !
Mais qu'est-ce le batch ? Le batch est une fenêtre noir avec du texte blanc ! Donc souvent gênant pour l'utilisateur novice MAIS souvent bien apprécié des utilisateurs expérimentés ! Vous avez choisi ? Rendez-vous à la section désirée hap





GML
Je n'en parle pas, je connais très peu et trop limité donc je ne m'y intéresse pas !





VBS
Commençons par le commencement ! Ouvrez le bloc-note et tapez ceci :
Code:
Option Explicit
On Error Resume Next
Dim wsh, box, str


Sans ceci, votre code ne fonctionnera pas Smile Rajouter cette ligne :
Code:
Set wsh = CreateObject("WScript.Shell")


Sa commence à ce compliquer... Rajouter ceci :
Code:
wsh.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AlwaysUnloadDll", 1, "REG_DWORD"


Regardons comment le code en haut fonctionne ! wsh.RegWrite veut dire qu'on va écrire ! Ce qui est entre "" est où la branche est, après on doit écrire QUEL sera le nom de la valeur ! Ici HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ est la branche et AlwaysUnloadDll est la valeur !

Après on rajoute une virgule on met la donnée (ici, 1) on rajoute une autre virgule on rajoute deux "" et on met dedans le raccourci du type de valeur (ici, REG_DWORD). Notez que si la valeur existe déjà, il ne se passera rien !

Après on doit rajouter ceci :
Code:
MsgBox ("BLA BLA BLA"), 64, "Opération terminée"


Cette ligne sert à dire à l'utilisateur que l'opération est terminée ! Remplacez le BLA BLA BLA par votre texte ! L'opération terminée est le titre que comporte votre fenêtre qui contient le texte !

Voici à quoi le code devrait ressembler :
Code:
Option Explicit
On Error Resume Next
Dim wsh, box, str

Set wsh = CreateObject("WScript.Shell")
wsh.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AlwaysUnloadDll", 1, "REG_DWORD"
MsgBox ("BLA BLA BLA"), 64, "Opération terminée"


Sauvegarder votre fichier en mettant le nom que vous voulez en rajoutant .vbs ! LE NOM DU FICHIER DOIT ÊTRE ENTRE GUILLEMETS ! Mettez comme type : Tous les fichiers !
Comme ceci :


On doit maintenant préparer le fichier batch ! Fermer votre bloc-note et ré-ouvrez le ! Écrivez dedans le notre de votre fichier (n'oubliez pas d'y rajouter le .vbs). Par exemple pour mon exemple ci-haut :


Sauvegardez et faites la même chose pour l'autre fichier mais mettez .bat au lieu de .vbs ! Évitez de donner le même nom que celui en .vbs !

Pourquoi nous fallait t'il un batch ? Game maker ne peut pas exécuter un .vbs directement ! Mais il peut exécuter un .bat ! Alors Game maker va exécuter le .bat qui dira d'exécuter le .vbs clinoeuil

Ouvrez Game maker, faites qu'il y a un objet. Faites en sorte que quand on clique sur l'objet sa exécute le code suivant :
Code:
execute_shell('nomdevotrefichier.bat','arg') 


Votre fichier .vbs, .bat et .gm6 doit être dans le même dossier !

C'était pas si difficile n'est-ce pas ?





REG
Commençons par le commencement !
Pourquoi le reg est gênant ? Tout simplement qu'à chaque fois qu'il est exécuter il vous demande à chaque fois l'autorisation de s'exécuter, ce qui est plate et lassant à la longue !

On ouvre bloc-note et tapons ceci :
Code:
Windows Registry Editor Version 5.00


On met entre crochet la branche à aller MAIS PAS la valeur :
Code:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer]


On rajoute le nom de la valeur, le raccourci (sans le REG_), un : et sa donnée ! Notez que si la valeur existe déjà, elle sera modifier !
Code:
"AlwaysUnloadDll"=dword:1


Cela donne :
Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer]
"AlwaysUnloadDll"=dword:1


Contrairement à vbs, reg vous informe automatiquement quand il a finit son/ses opération(s) !

Sauvegarder votre fichier avec le nom que vous voulez en rajoutant .reg. LE NOM DE FICHIER DOIT ÊTRE ENTRE GUILLEMETS ! Mettez comme type : Tous les fichiers ! Comme ceci :


On doit maintenant préparer le fichier batch ! Fermer votre bloc-note et ré ouvrez le ! Écrivez dedans le nom de votre fichier (n'oubliez pas d'y rajouter le .reg). Par exemple pour mon exemple ci-haut :


Sauvegardez et faites la même chose pour l'autre fichier mais mettez .bat au lieu de .reg ! Évitez de donner le même nom que celui en .reg !

Pourquoi nous fallait t'il un batch ? Game maker ne peut pas exécuter un .reg directement ! Mais il peut exécuter un .bat ! Alors Game maker va exécuter le .bat qui dira d'éxécuter le .reg clinoeuil

Ouvrez Game maker, faites qu'il y a un objet. Faites en sorte que quand on clique sur l'objet sa exécute le code suivant :
Code:
execute_shell('nomdevotrefichier.bat','arg') 


Votre fichier .reg, .bat et .gm6 doit être dans le même dossier !

C'était pas si difficile n'est-ce pas ?


C'était tout un tutorial long n'est-ce pas ? Cela vous permettra de faire de nouveaux types de programmes !

Il ne me reste plus qu'à vous souhaiter bonne chance pour vos futurs projets fier