[ miki987 @ 18.11.2010. 10:16 ] @
Zdravo svima.Molim vas za pomoc, treba mi sledece:
Da iz jedne aplikacije izvucem tekst koji se nalazi u Lisbox-u te aplikacije ciji je lisbox.enable = false i ne mogu da ga iskopiram rucno
Citajuci razne postove nasao sam Windows Spy preko koga uspevam da saznam sledece (prilog)

Moze li iko da mi pomogne sa ovim problemom, tacnije kako da u mojoj aplikaciji, svom textbox-u prikazem taj sadrzaj

[ dava @ 19.11.2010. 07:46 ] @
Evo ovako:

Code:

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long

Const SW_SHOWNORMAL = 1
Const GW_CHILD = 5

Private Const GW_HWNDFIRST = 0
Private Const GW_HWNDNEXT = 2
Private Const WM_GETTEXT = &HD
Private Const WM_GETTEXTLENGTH = &HE
Private Const WM_SETTEXT = &HC

Dim tWnd As Long, bWnd As Long, sSave As String * 250, a As String, str As String

Private Sub Form_Load()
    
    Procitaj
    
End Sub


Private Sub Procitaj()
Dim tmp As String
    
    ' Uzimamo hWnd objekta/prozora koji ima oznaku Forma
    tWnd = FindWindow(vbNullString, "Forma")
    
    ' Ovako dolazimo do njegovog prvog child objekta
    bWnd = GetWindow(tWnd, GW_CHILD)
    Do While Not bWnd = 0

        ' Provjeravamo o kojoj se kalsi radi...
        GetClassName bWnd, sSave, 250
        
        ' i ako je u pitanju ListBox
        If InStr(1, sSave, "ListBox") > 0 Then

            ' Prosledjujemo njegovu adresu funkciji WindowTextGet koja ce očitati upisani tekst.
            tmp = WindowTextGet(bWnd)
            If InStr(1, tmp, "http:") = 0 Then
                str = str & vbCrLf & tmp
            End If
        End If

        ' Ovako uzimamo adresu sledećeg objekta
        bWnd = GetWindow(bWnd, GW_HWNDNEXT)
        
    Loop
    
End Sub

Private Function WindowTextGet(ByVal hwnd As Long) As String
    Dim strBuff As String, lngLen As Long
    lngLen = SendMessage(hwnd, WM_GETTEXTLENGTH, 0, 0)
    If lngLen > 0 Then
        lngLen = lngLen + 1
        strBuff = String(lngLen, vbNullChar)
        lngLen = SendMessage(hwnd, WM_GETTEXT, lngLen, ByVal strBuff)
        WindowTextGet = Left(strBuff, lngLen)
    End If
End Function

[ miki987 @ 20.11.2010. 20:21 ] @
hvala na pomoci, no nisam uspeo da shvatim, nisam bas dobar u ovome, znam samo osnove.
ja hocu da iz jednog programa ciji source nemam da izvucem jedan tekst koji se nalazi u listbox tog programa
e sad uz pomoc spy-a imam sve podatkete aplikjacije , meni samo treba objasnjenj kako da taj sad tekst izvucem i smestim na moju aplikaciju u listbox? primera radi rade obe aplikacije moja samo izvuce tekst iz one i i to je to













[ dava @ 22.11.2010. 19:58 ] @
Tamo gdje piše "Forma", zamjeni sa nazivom prozora programa u kojem se nalazi taj listBox iz kojeg želiš pročitati tekst. Kao što je tvom programu koji si uslikao u prvom postu naziv prozora "Form1"
[ miki987 @ 22.11.2010. 21:03 ] @
Dava:






















' Uzimamo hWnd objekta/prozora koji ima oznaku Forma
Code:
 tWnd = FindWindow(vbNullString, [b]"Calculator"[/b]) '=============== Ovo je ime/Window Text, odnosno ime te forme aplikacije od koje vadim text koji se nalazi u listboxu


kako sad da prikazem u MOJ textbox taj tekst koji sam iscupao
Dakle moj tekstbox sam stavio na moju aplikaciju
[ miki987 @ 22.11.2010. 21:06 ] @
Dava:

' Uzimamo hWnd objekta/prozora koji ima oznaku Forma
Code:
 tWnd = FindWindow(vbNullString, [b]"Calculator"[/b]) '=============== Ovo je ime/Window Text, odnosno ime te forme aplikacije od koje vadim text koji se nalazi u listboxu


kako sad da prikazem u MOJ textbox taj tekst koji sam iscupao
Dakle moj tekstbox sam stavio na moju aplikaciju
[ dava @ 23.11.2010. 06:54 ] @

Code:
Text1.Text = strText 

ako je strText varijabla koja drzi tvoj tekst.

Jbg, sad skočišmo sa subclassinga na najelementarnije stvari.
[ miki987 @ 23.11.2010. 21:11 ] @
dava, izvini pomenuo sam da nisam bas dobar u ovome
da bi resili evo okacicu ti sta sam probao, meni ne uspeva
[ miki987 @ 28.11.2010. 12:39 ] @
dava...moze li pomoc




[ miki987 @ 13.02.2011. 18:05 ] @
meni ovo onda nije uspelo a jako mi je potrebno obzirom da je program u zavsnoj fazi. moze li mi neko pomoci, evo i primera u predhodnom postu. hvala
[ vuchko.vuchko @ 04.03.2011. 22:17 ] @
Evo druze, odvojih nekoliko casova i rjesih tvoj problemcic :-) . Ako negdje jos zapne samo pitaj.
Pozdrav!
[ miki987 @ 05.03.2011. 12:05 ] @
hvala Vuchko ziv bio :D proveri poruku na private
[ Nikola Dunja @ 16.02.2013. 20:36 ] @
Vucko da li bi bili ljubazni da mi objasnite kako uz pomoc ovog vaseg programa ja mogu izvuci odredjeni tekst koji se nalazi u programu koji aktivan.
Ja pokrenem taj program i pokrenem ovaj vas, ali sve sto dobijem kada unesem ime forme je neki brojevi i imena listboxova dok meni treba sadrzina tih listboxova?
Bio bih vam neizmerno zahvalan na pomoci
[ Nikola Dunja @ 19.02.2013. 21:22 ] @
Moze li mi neko pomoci evo nasao sam neki program spy koji cita sve ali kao za inat nece da procita sadrzaj teksta iz ListBox-a
Moze li neko da pregleda evo postavljam vam source. Stvarno mi je potrebna pomoc. Hvala