Soyez le premier à donner votre avis sur cette source.
Vue 7 498 fois - Téléchargée 424 fois
Option Explicit 'FORM de test pour ce programme 'PERMET de rechercher le texte contenu dans le contrôle sélectionné 'sur différents moteur du Web '//APIs 'API permettant de lancer le navigateur par défaut Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long '//VARIABLES Private sURLrecherche As String 'contient l'URL du moteur perso Private engineSearchEngine As SearchEngine 'contient le navigateur sélectionné '//ENUMs 'contient les différents moteur possibles Private Enum SearchEngine Google = 1 Altavista = 2 Live = 3 Personnel = 4 End Enum Private Sub Form_Load() 'définit les variables par défaut Dim x As Long 'par défaut, le moteur perso est google.fr sURLrecherche = "http://www.google.fr/search?hl=fr&q=%22[PROCESS]%22&btnG=Recherche+Google&meta=" 'par défaut, le moteur de recherche est google.com engineSearchEngine = Google 'ajout des élements du ListView With ListView1.ListItems For x = 1 To 30 .Add Text:="Element" & CStr(x) & " Listview" Next x End With 'ajout des éléments du Treeview With TreeView1 .Nodes.Add , tvwChild, "Root", "Tree1" .Nodes.Add , tvwChild, "Root2", "Tree2" .Nodes.Add "Root2", tvwChild, "n1", "Tree3" .Nodes.Add "Root2", tvwChild, "n2", "Tree4" .Nodes.Add "n2", tvwChild, "n21", "Tree5" .Nodes.Add "n2", tvwChild, "n22", "Tree6" .Nodes.Add "n22", tvwChild, "n221", "Tree7" .Nodes.Add "n221", tvwChild, "n2211", "Tree8" .Nodes.Add "n22", tvwChild, "n222", "Tree9" .Nodes.Add "n2", tvwChild, "n31", "Tree10" .Nodes.Add "Root2", tvwChild, "n3", "Tree11" End With 'expand les éléments du treeview For x = 1 To 11 TreeView1.Nodes(x).Expanded = True Next x End Sub Private Sub mnu_altavista_Click() 'change les checkboxes Me.mnu_google.Checked = False Me.mnu_altavista.Checked = True Me.mnu_define.Checked = False Me.mnu_live.Checked = False engineSearchEngine = Altavista End Sub Private Sub mnu_define_Click() Dim s As String 'change les checkboxes Me.mnu_google.Checked = False Me.mnu_altavista.Checked = False Me.mnu_define.Checked = True Me.mnu_live.Checked = False 'définit le moteur de recherche s = "Définissez l'URL par défaut de votre moteur personnalisé" & _ vbNewLine & "Mettez [TEXT] à la place de la zone de la string" & _ vbNewLine & "réservée au mot à rechercher" & _ vbNewLine & "Exemple : http://www.google.fr/search=%22[TEXT]%22" sURLrecherche = InputBox(s, "Définir un site de recherche personnalisé") engineSearchEngine = Personnel End Sub Private Sub mnu_end_Click() Unload Me End End Sub Private Sub mnu_go_for_search_Click() 'lance la recherche Dim sURL As String 'contient l'URL finale de recherche Dim sText As String 'texte à rechercher 'recherche de l'item sélectionné 'récupère son texte en fonction de la nature du contrôle If TypeOf Me.ActiveControl Is TextBox Then sText = Me.ActiveControl.Text ElseIf TypeOf Me.ActiveControl Is ListView Then sText = Me.ActiveControl.SelectedItem.Text ElseIf TypeOf Me.ActiveControl Is TreeView Then sText = Me.ActiveControl.SelectedItem.Text ElseIf TypeOf Me.ActiveControl Is CommandButton Then sText = Me.ActiveControl.Caption ElseIf TypeOf Me.ActiveControl Is CheckBox Then sText = Me.ActiveControl.Caption ElseIf TypeOf Me.ActiveControl Is OptionButton Then sText = Me.ActiveControl.Caption ElseIf TypeOf Me.ActiveControl Is ComboBox Then sText = Me.ActiveControl.Text ElseIf TypeOf Me.ActiveControl Is DriveListBox Then sText = Me.ActiveControl.Drive ElseIf TypeOf Me.ActiveControl Is ListBox Then sText = Me.ActiveControl.Text ElseIf TypeOf Me.ActiveControl Is DirListBox Then sText = Me.ActiveControl.Path ElseIf TypeOf Me.ActiveControl Is FileListBox Then sText = Me.ActiveControl.FileName ElseIf TypeOf Me.ActiveControl Is TabStrip Then sText = Me.ActiveControl.SelectedItem.Caption End If If engineSearchEngine = Personnel Then 'alors c'est un navigateur perso sURL = Replace(sURLrecherche, "[TEXT]", sText) Else 'un des navigateurs prédéfinis Select Case engineSearchEngine Case Google 'google.com sURL = "http://www.google.com/search?hl=en&q=%22" & sText & "%22" Case Altavista 'altavista.com sURL = "http://www.altavista.com/web/results?itag=ody&q=%22" & sText & "%22&kgs=0&kls=0" Case Live 'live.com sURL = "http://beta.search.live.com/results.aspx?q=%22" & sText & "%22&mkt=fr-fr&FORM=LVSP&go.x=0&go.y=0" End Select End If 'lance le navigateur internet par défaut ShellExecute Me.hwnd, "open", sURL, ByVal 0&, 0&, 1 End Sub Private Sub mnu_google_Click() 'change les checkboxes Me.mnu_google.Checked = True Me.mnu_altavista.Checked = False Me.mnu_define.Checked = False Me.mnu_live.Checked = False engineSearchEngine = Google End Sub Private Sub mnu_live_Click() 'change les checkboxes Me.mnu_google.Checked = False Me.mnu_altavista.Checked = False Me.mnu_define.Checked = False Me.mnu_live.Checked = True engineSearchEngine = Live End Sub
8 avril 2009 à 14:26
ok autant pour moi, faudrai alors demander auu web master de pouvoir le faire. ou tu peux pas non modifier le titre "code pour demontrer l'utilisation de ShellExecute". comme ca on cherche pas plus loin...
"GetCursorPos puis WindowFromPoint puis GetWindowText" : non ca ne marche pas avec internet explorer d'ou la fausse joie. (ca y'est qqun a trouvé le moyen de faire ca)
desolé du ton, et à nouveau merci pr tes autres codes (1)
(1) je te l'ai dit moi-meme: "et en plus, t'as des prog bcp plus interessants et vachements sympas"
"Bref, que dire si ce n'est que cette source provient du temps où je ne savais pas coder" j'aurai du regarder la date et le niveau... mais pas le tps. j'avais lu vite fait "RECHERCHER SUR INTERNET LE CONTENU TEXTUEL DU CONTROL AYANT LE FOCUS" et qd tu cherche tout azimut, tu lis mal.
8 avril 2009 à 13:45
cette source est en effet vraiment très très nulle, et la seule raison pour laquelle elle existe encore c'est qu'on ne puisse pas la supprimer.
En général je balance des codes a peu près inédits
http://www.vbfrance.com/codes/FASTCOLLECTION-COLLECTION-10000-FOIS-PLUS-RAPIDE-LECTURE-INDEX_42861.aspx
http://www.vbfrance.com/codes/RECUPERER-VARIABLES-ENVIRONNEMENT-IMPORTE-QUEL-PROCESSUS_49264.aspx
ou bien des trucs bien aboutis
http://www.vbfrance.com/codes/YET-ANOTHER-PROCESS-MONITOR_48860.aspx
pas des codes tous pourris, qui, comme tu dis, se résument à l'appel à une fonction de l'API Windows.
Bref, que dire si ce n'est que cette source provient du temps où je ne savais pas coder ? Je l'enleverais bien, mais c'est pas possible.
Par contre une remarque : je sais pas pourquoi t'es tombé sur cette source vu ce que tu cherches à faire...
Tu veux faire quoi précisément ? Si j'ai bien compris, c'est récupérer le handle d'un contrôle et récupérer le mdp ? (si c'est une textbox)
Si c'est çà : GetCursorPos puis WindowFromPoint puis GetWindowText.
@+
8 avril 2009 à 13:05
"Concernant l'utilité de ce code......... elle est pas évidente"
en effet, moi qui croyait que qqun avait enfin trouvé le moyen d'identifier un controle par son handle (hwnd) ds le navigateur pour y envoyer (ou recuperer) un mot de passe, etc... (fausse joie)
desolé violent_ken mais ton code servait pas à gd chose:
t'aurai juste du dire: voila le moyen de lancer une recherche sur internet avec ShellExecute. et basta
si je devais balancer sur vbfrance aussi tous les petits progs que j'avais fait ds ma carrière, le site serait innondé.
c'est ca la magie d'internet: on y trouve des trucs geniaux , comme aussi n'importe quoi.
enfin, j'aurais du m'en douter, mais j'ai cliqué sans regarder : niveau debutant - année 2006
et il faut bien debuter par ce genre de petits programmes (mais de grace gardez le pr vous, et une fois que vs avez vraiment un prog interessant et abouti, alors ok on le diffuse)
et en plus, t'as des prog bcp plus interessants et vachements sympas: COMMENT CONTRÔLER TOTALEMENT LES PROCESSUS D'UN PC DISTANT,
COMMENT FAIRE UN MONITORING DU REGISTRE (EXEMPLE : MONITORER...
alors les gars , faites le menage de tps en tps, virez vos vieux codes inutiles. sinon dans 10 ans, vbfrance contiendra 3 milliards de progr en tout genres et ont mettra des heures à y trouver ce qu'on cherche.
enfin merci qd meme pr tes progs et bonne continuation...
19 mars 2008 à 20:42
Lesz accents, les cédilles, les Euros, tout cela passe, même le chinois.
http://www.vbfrance.com/codes/ENCODER-URL-UTF8-DEPUIS-WORD_46108.aspx
16 mars 2008 à 10:12
Sinon, la recherche marche pour google avec des caractères accentués, mais échoue sur altavista et live search (la lettre accentuée est omise).
On pourrait en effet ajouter une fonction qui formate correctement le texte à rechercher, en se limitant par exemple aux chiffres et lettres de a à z.
@+
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.