Supprimer une adresse de la barre d'adresse d'internet explorer (registre)

Description

Le programme affiche toutes les urls qui on étées saisies dans internet explorer.
il va les lire dans le registre.
puis l'utilsateur sélectionne une adresse et la supprime en cliquant sur le bouton.
le programme va alors supprimer la valeur de la clef du registre et va ensuite renommer les clefs qui la suive.

Source / Exemple :


#pragma once

namespace supaddressev10
{
	using namespace System;
	using namespace System::ComponentModel;
	using namespace System::Collections;
	using namespace System::Windows::Forms;
	using namespace System::Data;
	using namespace System::Drawing;
	using namespace System::Security::Permissions;
	// Pour utilisation de la base de registre
	using namespace Microsoft::Win32;

	public __gc class Form1 : public System::Windows::Forms::Form
	{	
	public:
		Form1(void)
		{
			InitializeComponent();
			this->pictureBox1->set_SizeMode(PictureBoxSizeMode::StretchImage);
		}
  
	protected:
		void Dispose(Boolean disposing)
		{
			if (disposing && components)
			{
				components->Dispose();
			}
			__super::Dispose(disposing);
		}
	private: System::Windows::Forms::ComboBox *  comboBox1;
	private: System::Windows::Forms::Button *  button1;
	private: System::Windows::Forms::PictureBox *  pictureBox1;
	private: System::Windows::Forms::GroupBox *  group1;
	private: System::Windows::Forms::Label *  label2;
	private: System::Windows::Forms::LinkLabel *  linkLabel1;

	private:
		
		void InitializeComponent(void)
		{

		}	
		
	private: System::Void Form1_Load(System::Object *  sender, System::EventArgs *  e)
			 {
				 //INITIALISATION
				//regarder dans le registre Current User
				RegistryKey * pRegKey = Registry::CurrentUser;
				//puis dans la clef Software\\Microsoft\\Internet Explorer\\TypedURLs
				//où se trouve toutes les urls tapées dans internet explorer
				pRegKey = pRegKey->OpenSubKey(L"Software\\Microsoft\\Internet Explorer\\TypedURLs");

				int i=0;
				//afficher le nombre d'urls présentes
				this->label2->Text=pRegKey->ValueCount.ToString();
				//remplir la combobox avec les urls
				while(i!=pRegKey->ValueCount)
				{	i++;				
				Object *pValue = pRegKey->GetValue(String::Concat("url",i.ToString()));
				this->comboBox1->Items->Add(pValue);
					
				}
				//fermer la clef
				pRegKey->Close();
			}

	private: System::Void button1_Click(System::Object *  sender, System::EventArgs *  e)
			 {
				//SUPRESSION D'UNE URL
				//regarder dans le registre Current User
				RegistryKey * pRegKey = Registry::CurrentUser;				
				//puis dans la clef Software\\Microsoft\\Internet Explorer\\TypedURLs
				//où se trouve toutes les urls tapées dans internet explorer
				pRegKey = pRegKey->OpenSubKey(L"Software\\Microsoft\\Internet Explorer\\TypedURLs", true);
				
				//récupérer l'index ou se trouve l'url
				int index=this->comboBox1->SelectedIndex+1;
				//concaténer url avec l'index ce qui done url1 ou url2 ou url3 ...
				String* value=String::Concat("url",index.ToString());
				//supprimer la valeur dans le registre
				pRegKey->DeleteValue(value,false);
				int i=index;
				Object *pValue;
				//renommer les valeurs qui suivent celle que nous venons de supprimer
				//afin de pouvoir passer de l'une a l'autre sans etre bloqué
				//c a d que si je suprime url4 les urls présentes seron alors :
				//url1 url2 url3 url5 url6
				//et il ne sera plus possible de voir url5 et url6
				//alors il faut renommer url5 en url4 et url6 en url5
				//et supprimer url6
				int etat=pRegKey->ValueCount;
				while(i<=etat)
				{
				pValue=pRegKey->GetValue(String::Concat("url",(i+1).ToString()));
				pRegKey->SetValue(String::Concat("url",i.ToString()),pValue);
				i++;
				}
				value=String::Concat("url",(i).ToString());				
				pRegKey->DeleteValue(value,false);
				//on remplis a nouveau la combobox afin de rafraichir la liste !
				this->comboBox1->Items->Clear();
				i=0;
				while(i!=pRegKey->ValueCount)
				{
				i++;					
				Object *pValue = pRegKey->GetValue(String::Concat("url",i.ToString()));
				this->comboBox1->Items->Add(pValue);					
				}				
				this->label2->Text=pRegKey->ValueCount.ToString();
				this->comboBox1->Text="Adresses";
				//on ferme la clef
				pRegKey->Close();
			 }
			 System::Windows::Forms::Cursor *curseur;

private: System::Void button1_MouseEnter(System::Object *  sender, System::EventArgs *  e)
		 {
			Cursor::Current = new System::Windows::Forms::Cursor("./curseur.cur");
		 }

private: System::Void button1_MouseLeave(System::Object *  sender, System::EventArgs *  e)
		 { 
			 Cursor::Current = Cursors::Default;			 
		 }

private: System::Void button1_MouseMove(System::Object *  sender, System::Windows::Forms::MouseEventArgs *  e)
		 {
			 Cursor::Current = new System::Windows::Forms::Cursor("./curseur.cur");
		 }

private: System::Void linkLabel1_LinkClicked(System::Object *  sender, System::Windows::Forms::LinkLabelLinkClickedEventArgs *  e)
		 {
			linkLabel1->LinkVisited = true;
			System::Diagnostics::Process::Start("http://avotrservice.free.fr");
		 }

};

Conclusion :


renommez le fichier supaddressev10.ex en supaddressev10.exe

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.