[C#]Comment récupérer l'url d'une page web ?
Fermé
Skartt
-
30 avril 2011 à 14:37
Nico# Messages postés 323 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 28 août 2013 - 1 mai 2011 à 11:51
Nico# Messages postés 323 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 28 août 2013 - 1 mai 2011 à 11:51
A voir également:
- [C#]Comment récupérer l'url d'une page web ?
- Comment supprimer une page sur word - Guide
- Traduire une page web - Guide
- Lien url - Guide
- Comment recuperer un message supprimé sur whatsapp - Guide
- Recuperer video youtube - Guide
1 réponse
Nico#
Messages postés
323
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
28 août 2013
102
1 mai 2011 à 11:51
1 mai 2011 à 11:51
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é } }