[C#]Comment récupérer l'url d'une page web ?
Skartt
-
Nico# Messages postés 338 Statut Membre -
Nico# Messages postés 338 Statut Membre -
Bonjour,
Je voudrais savoir comment récupérer l'url de la page internet sur laquelle on se trouve avec C#. Par exemple, si une page est ouverte et qu'on lance le programme, il s'affiche l'adresse dans la console.
Merci de votre aide !
Je voudrais savoir comment récupérer l'url de la page internet sur laquelle on se trouve avec C#. Par exemple, si une page est ouverte et qu'on lance le programme, il s'affiche l'adresse dans la console.
Merci de votre aide !
A voir également:
- [C#]Comment récupérer l'url d'une page web ?
- Url - Guide
- Comment supprimer une page sur word - Guide
- Web office - Guide
- Comment recuperer un message supprimé sur whatsapp - Guide
- Comment traduire une page web - Guide
1 réponse
bonjour,
tu peut le faire avec de l'interop
un truc comme ça
tu peut le faire avec de l'interop
un truc comme ça
#region API : Methodes
// version utilisée pour WM_GETTEXTLENGTH
[DllImport("user32.dll")]
private static extern int SendMessage (
IntPtr hWnd,
uint message,
int wParam,
int lParam );
// version utilisée pour WM_GETTEXT
[DllImport("user32.dll")]
private static extern int SendMessage (
IntPtr hWnd,
uint message,
int wParam,
StringBuilder lParam );
[DllImport("user32.dll")]
private static extern IntPtr FindWindowEx (
IntPtr hwndParent,
IntPtr hwndChildAfter,
string lpszClass,
string lpszWindow );
#endregion
#region API : Constantes
// Source : WinUser.h
private const uint WM_GETTEXT = 0x000D;
private const uint WM_GETTEXTLENGTH = 0x000E;
#endregion
private void ActualisationListe()
{
// RAZ liste
listView.Items.Clear();
IntPtr handleIE = IntPtr.Zero;
IntPtr handleEdit = IntPtr.Zero;
StringBuilder str;
string url="";
string titre="";
int longueur_texte;
while ( (handleIE = FindWindowEx(IntPtr.Zero, handleIE, "IEFrame", null))!=IntPtr.Zero)
{
// RECUPERATION DU TITRE DE FENETRE
// Récupération de sa longueur
longueur_texte = SendMessage(handleIE, WM_GETTEXTLENGTH, 0, 0);
// Récupération du texte
str = new StringBuilder(longueur_texte+1);
SendMessage(handleIE, WM_GETTEXT, str.Capacity, str);
titre = str.ToString();
// récupération du handle du controle
handleEdit = RecupHandleCtrl(handleIE);
// si notre Combo a été trouvé
if ( handleEdit != IntPtr.Zero)
{
longueur_texte = SendMessage(handleEdit, WM_GETTEXTLENGTH, 0, 0);
// Récupération du texte
str = new StringBuilder(longueur_texte+1);
SendMessage(handleEdit, WM_GETTEXT, str.Capacity, str);
url = str.ToString();
}
else
{
url = "Non disponible.";
}
}
}
private IntPtr RecupHandleCtrl(IntPtr handleIE)
{
IntPtr handleTmp = handleIE;
handleTmp = FindWindowEx(handleTmp, IntPtr.Zero, "WorkerW", null);
if ( handleTmp == IntPtr.Zero) // non trouvé
return IntPtr.Zero;
handleTmp = FindWindowEx(handleTmp, IntPtr.Zero, "ReBarWindow32", null);
if ( handleTmp == IntPtr.Zero) // non trouvé
return IntPtr.Zero;
handleTmp = FindWindowEx(handleTmp, IntPtr.Zero, "ComboBoxEx32", null);
if ( handleTmp == IntPtr.Zero) // non trouvé
return IntPtr.Zero;
return handleTmp; // trouvé
}
}