USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Equivalente em VB6
Milhomens
ARAGUAÍNA
TO - BRASIL
ENUNCIADA !
Postada em 18/06/2008 18:17 hs            

Copiando a URL do Explorer [ usando o Delphi ]

 

A Questão é: Como fezer isso de forma equivalente no VB6?

 

Confira as funções necessárias para se copiar a URL do Explorer:

 

Function GetText(WindowHandle: hwnd):string;

var

  txtLength : integer;

  buffer: string;

begin

   TxtLength := SendMessage(WindowHandle, WM_GETTEXTLENGTH, 0, 0);

   txtlength := txtlength + 1;

   setlength (buffer, txtlength);

   sendmessage (WindowHandle,wm_gettext, txtlength, longint(@buffer[1]));

   result := buffer;

end;

 

function GetURL:string;

var

ie,toolbar,combo,

comboboxex,edit,

worker,toolbarwindow:hwnd;

  begin

   ie := FindWindow(pchar('IEFrame'),nil);

   worker := FindWindowEx(ie,0,'WorkerA',nil);

   toolbar := FindWindowEx(worker,0,'rebarwindow32',nil);

   comboboxex := FindWindowEx(toolbar, 0, 'comboboxex32', nil);

   combo := FindWindowEx(comboboxex,0,'ComboBox',nil);

   edit := FindWindowEx(combo,0,'Edit',nil);

   toolbarwindow := FindWindowEx(comboboxex, 0, 'toolbarwindow32', nil);

   result := GetText(edit);

end;

 

A URL fica armazenada em GetURL, no nosso exemplo utilizamos o comando showmessage para exibí-la.

 

ShowMessage(GetURL);

 

A Questão é: Como fezer isso de forma equivalente no VB6?

Emoções

   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 18/06/2008 19:18 hs            
Eu já postei esta função aqui veja se te ajuda
 
Primeiro coloque em um novo projeto...
 
01 Listbox
01 ComandButton
 
agora faça a a seguinte referência: PROJECT/REFERENCES e selecione Microsoft Internet Controls
 
agora cole o seguinte código
 
Sub InfoIEWindows(LST As Control)
    Dim SWS As New SHDocVw.ShellWindows
    Dim IE As New SHDocVw.InternetExplorer
   
    LST.Clear
    For Each IE In SWS
        ' O ShellWindows pega também as janelas do Windows Explorer,
        ' portanto separe-as das do IE
        If LCase(Right(IE.FullName, 12)) = "iexplore.exe" Then
            LST.AddItem IE.hWnd 
            ' Handle
            LST.AddItem IE.LocationURL      ' URL
            LST.AddItem IE.Document.Title   ' Titulo
            LST.AddItem "-------------------------------"
        End If
    Next IE
End Sub
 
Private Sub Command1_Click()
        InfoIEWindows List1
End Sub
 
 
Agora veja se retorna o desejado.
 
 
   
Milhomens
ARAGUAÍNA
TO - BRASIL
ENUNCIADA !
Postada em 19/06/2008 18:13 hs            
Caro, Treze;
Vc não entendeu exatamente o que postei. Não me referia à captura da URL em si, e sim ao equivalente em vb ao código já postado acima em delphi. Saca?!Emoções
 
A sua resposta é equivalente sim, no que diz respeito à captura da URL, mas não à codificação mencionada fazendo uso de API's como o SendMessage, FindWindow e FindWindowEx.Emoções
 
Entendeu?!
Emoções
 
Foi a isso q me referi quando disse: "equivalente em VB6".Emoções
 
D qualquer forma, na verdade de uma forma bem especial, Muito Obrigado pela tentativa de resolução à minha dúvida.
Emoções
   
Ama
Pontos: 2843
UBERLÂNDIA
MG - BRASIL
ENUNCIADA !
Postada em 20/06/2008 00:26 hs         
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Global buffer As String
Public Const WM_GETTEXT = &HD
Public Const WM_GETTEXTLENGTH = &HE
 
 
Function GetURL() As String
Dim ie As Long, toolbar As Long, combo As Long
Dim comboboxex As Long, edit As Long
Dim worker As Long, toolbarwindow As Long
Dim hWnd As Long
Dim strIe As String
strIe = "Microsoft Internet Explorer"
   ie = FindWindow("IEFrame", vbNullString)
   worker = FindWindowEx(ie, 0, "workerw", vbNullString)
   toolbar = FindWindowEx(worker, 0, "rebarwindow32", vbNullString)
   comboboxex = FindWindowEx(toolbar, 0, "comboboxex32", vbNullString)
   combo = FindWindowEx(comboboxex, 0, "ComboBox", vbNullString)
   edit = FindWindowEx(combo, 0, "Edit", vbNullString)
   toolbarwindow = FindWindowEx(comboboxex, 0, "toolbarwindow32", vbNullString)
   GetURL = GetText(edit)
End Function
 
Function GetText(WindowHandle As Long) As String
Dim txtLength As Long

   txtLength = SendMessage(WindowHandle, WM_GETTEXTLENGTH, ByVal 0, ByVal 0) + 1
   buffer = Space(txtLength - 1)
   SendMessage WindowHandle, WM_GETTEXT, ByVal txtLength, ByVal buffer
   GetText = buffer
End Function
   
Milhomens
ARAGUAÍNA
TO - BRASIL
ENUNCIADA !
Postada em 20/06/2008 14:22 hs            
Olá, Ama! Emoções
 
Na linha: " comboboxex = FindWindowEx(toolbar, 0, "comboboxex32", vbNullString) "
a variável "comboboxex" não está recebendo o handle do objeto "comboboxex32".
Será que o nome do Objeto está errado?! Emoções
 
Gostaria d saber se vc testou o código e se funcionou corretamente. Emoções
 
No meu caso, lógico, usei a msgbox ( equivalente à ShowMessage do Delphi ) para exibir
o conteúdo recuperado pela Função GetURL, mas está retornando vazio.
Emoções
 
Alguém pode me ajudar?!
Emoções
TÓPICO EDITADO
 
Milhomens
ARAGUAÍNA
TO - BRASIL
ENUNCIADA !
Postada em 20/06/2008 16:13 hs            
No ie7 notei q o FindWindowEx(toolbar, 0, "ComboBoxEx32", vbNullString) está retornando "" (vazio).
 
   
Página(s): 1/3      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página