IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Changer l'url du navigateur par autre url


Sujet :

VB.NET

  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2008
    Messages : 161
    Par défaut Changer l'url du navigateur par autre url
    Bonjour à tous je voudrais modifier l'url du navigateur par une autre url. je presente un exemple.

    Par exemple dans mon naigateur, j'ai actuellement:http://www.developpez.net/forums/new...ewthread&f=486

    et je, une fois qu'on clique sur mon lien, l'url se transforme en ceci :

    http://dotnet.developpez.com/cours/?...sharp#aspnetcs


    voilà le code que j'ai trouvé sur le net.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     'Le principe est d'obtenir l'URL d'Internet Explorer et de pouvoir également la modifier.
        'L'idée est donc de parcourrir les fenêtres Windows ouvertes, puis dès que l'on a trouvé celle de Internet Explorer, de se balader dans la hiérarchie de ses fenêtres internes pour obtenir le handle de celle ou est l'URL. Une fois ce handle obtenu, grâce à des SendMessage, on peut obtenir l'URL ou la modifier.
        'On a donc besoin d'utiliser les API Windows pour une fois. Déclarons les dans une classe IEURL ainsi que quelques constantes :
     
        Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Int32
        Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Int32, ByVal wMsg As Int32, ByVal wParam As Int32, ByVal lParam As String) As Int32
        Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Int32, ByVal wMsg As Int32, ByVal wParam As Int32, ByVal lParam As Int32) As Int32
        Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Int32, ByVal wCmd As Int32) As Int32
        Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Int32, ByVal lpClassName As String, ByVal nMaxCount As Int32) As Int32
     
        Private Const GW_CHILD As Int32 = 5
        Private Const GW_HWNDNEXT As Int32 = 2
        Private Const WM_GETTEXT As Int32 = &HD
        Private Const WM_GETTEXTLENGTH As Int32 = &HE
        Private Const WM_SETTEXT As Int32 = &HC
        Private Const WM_KEYDOWN As Int32 = &H100
        Private Const VK_RETURN As Int32 = &HD
        Private Const MAX_PATH As Int32 = 255
     
      'Pour obtenir l'URL d'Internet Explorer, IEURL a la méthode getURL :
     
        Public Function GetURL() As String
            Dim hwndChild As Int32 = Me.gethwndIETextBox
            If hwndChild = 0 Then Throw New ArgumentException("Fenêtre introuvable")
            Dim iLength As Int32 = SendMessage(hwndChild, WM_GETTEXTLENGTH, 0, 0)
            Dim sURL As String = New String(" "c, iLength + 1)
            SendMessage(hwndChild, WM_GETTEXT, sURL.Length, sURL)
            Return sURL.Trim
        End Function
     
        Public Sub SetURL(ByVal sNewURL As String)
            Dim hwndChild As Int32 = Me.gethwndIETextBox
            If hwndChild = 0 Then Throw New ArgumentException("Fenêtre introuvable")
            SendMessage(hwndChild, WM_SETTEXT, 0, sNewURL)
            SendMessage(hwndChild, WM_KEYDOWN, VK_RETURN, 0)
        End Sub
     
        Private Function gethwndIETextBox() As Int32
            Dim sIEClassName As String = "IEFrame"
            Dim hIE, hwndChild As Int32 'on trouve la fenêtre de d'Internet Explorer
            hIE = FindWindow(sIEClassName, vbNullString)
            hIE = 0
            If hIE <> 0 Then
                'balade dans la hiérarchie des fenêtres internes à IE
                hwndChild = hIE
                hwndChild = hwndFindWindow(hwndChild, "WorkerW")
                If hwndChild = 0 Then Throw New ArgumentException("Fenêtre introuvable")
                hwndChild = hwndFindWindow(hwndChild, "ReBarWindow32")
                If hwndChild = 0 Then Throw New ArgumentException("Fenêtre introuvable")
                hwndChild = hwndFindWindow(hwndChild, "ComboBoxEx32")
                If hwndChild = 0 Then Throw New ArgumentException("Fenêtre introuvable")
                hwndChild = hwndFindWindow(hwndChild, "ComboBox")
                If hwndChild = 0 Then Throw New ArgumentException("Fenêtre introuvable")
                hwndChild = hwndFindWindow(hwndChild, "Edit")
                If hwndChild = 0 Then Throw New ArgumentException("Fenêtre introuvable")
                Return hwndChild
            End If
            Return 0
        End Function
     
        Private Function hwndFindWindow(ByVal hwndParent As Int32, ByVal sClassName As String) As Int32
            Dim hwndChild As Int32
            Dim sClass As String = New String(" "c, MAX_PATH)
            Dim bTrouve As Boolean, iRepClassName As Int32
            'on recherche la première fenêtre enfant
            hwndChild = GetWindow(hwndParent, GW_CHILD)
            'on regarde la classe du premier enfant
            iRepClassName = GetClassName(hwndChild, sClass, MAX_PATH)
            If sClass.Substring(0, iRepClassName) = sClassName Then Return hwndChild
            If hwndChild = 0 Then Return 0 'il n'a pas d'enfant
            bTrouve = False
            Do Until bTrouve
                hwndChild = GetWindow(hwndChild, GW_HWNDNEXT)
                If hwndChild = 0 Then Return 0 'on a tout parcourru sans le trouver
                iRepClassName = GetClassName(hwndChild, sClass, MAX_PATH)
                If sClass.Substring(0, iRepClassName) = sClassName Then
                    Return hwndChild 'on l'a trouvé
                End If
     
            Loop
            Return 0
        End Function
    Je voudrais savoir comment agencer les fonctiontions ci dessus dans le Sub mon LinkButton1 pour que celui ci fonctionne.

    NB: C'est du code d'une page ASP.net 2.0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LinkButton1.Click
     
        End Sub
    Merci d'avance

  2. #2
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par défaut
    Et puis si c'est du ASP.NET,tout s'exécute du côté serveur,donc,tu vois ce que je veux dire et je ne crois pas que ce soit possible...(le code si j'ai bien compris doit s'exécuter chez le client...)

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2008
    Messages : 161
    Par défaut
    Bonjour,

    Dans ce cas que puis-je faire alors ?

    Merci

  4. #4
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Pourquoi vouloir faire une chose pareille?

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 304
    Par défaut
    Citation Envoyé par neptune Voir le message
    Pourquoi vouloir faire une chose pareille?
    Trompé l'utilisateur peut-être??? lui faire croire qu'il est sur www.unSite.com alors qu'il se trouve sur www.unAutreSite.com

    Citation Envoyé par peregna2007 Voir le message
    Dans ce cas que puis-je faire alors ?
    Peut-être voir du coté des langages qui s'exécute coté Client, du JavaScript par exemple ...

  6. #6
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Citation Envoyé par zehle Voir le message
    Trompé l'utilisateur peut-être??? lui faire croire qu'il est sur www.unSite.com alors qu'il se trouve sur www.unAutreSite.com
    Ah oui, comme quand on veut se faire passer pour un autre site et récupérer des mots de passe, numéro de carte de crédit, etc.

Discussions similaires

  1. [technique] Cacher la vrai URL et afficher une autre URL ?
    Par schnito dans le forum Général Conception Web
    Réponses: 21
    Dernier message: 04/01/2012, 12h54
  2. url sans passer par le navigateur
    Par rajaa dans le forum Bibliothèques
    Réponses: 4
    Dernier message: 22/05/2009, 13h06
  3. Réponses: 4
    Dernier message: 01/03/2008, 00h29
  4. Réponses: 1
    Dernier message: 10/09/2007, 12h41
  5. Ouvrir une page web (URL) dans le navigateur par défaut, dont Firefox.
    Par happy.rotter dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/09/2007, 12h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo