Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Toolbarin painikkeen kahva

Jorgga [18.04.2009 19:10:37]

#

Elikkäs mun pitäs selvittää jotenkin toisessa ohjelmassa olevan työkalurivin kahva. Painonapin kahva on helppo selvittää mutta työkalurivillä kun ei ole omaa otsikkoa niin sen perusteella ei pysty.

Napista kahva:

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private 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

Private Sub Form_Load()

Dim hwnd As Long, hWnd2 As Long
hwnd = FindWindow(vbNullString, "Testi")
hWnd2 = FindWindowEx(hwnd, 0, vbnullstring, "Painike")

End Sub

Ja testiohjelmassa oli command1 jonka tekstinä oli Painike.
Kahva löytyi näin ongelmitta nappulalle ja pystyin painamaan kyseistä painiketta kutsumalla PostMessagea.

Toolbarin kahvan (ja siitä mahdollisesti tietyn painikkeen kahvan) selvittäminen onkin sitten toinen juttu. Olen googlettanut koko päivän löytämättä toimivaa ratkaisua.

Grez [18.04.2009 19:14:26]

#

No jos tiedät esimerkiksi sen sijainnin, niin ko. kohdasta haet päälimäisen ikkunan? Aika vaikeaa tuohon on mitään yleisneuvoa antaa. Jossakin ohjelmassa voi olla jokaisella toolbarin painikkeella oma ikkuna, jollakin koko toolbar on vain yksi ikkuna. Ja mitä itse katsoin esimerkiksi Firefoxia, niin kaikki ikkunat näytti olevan nimeltään "" ja tyypiltään MozillaWindowClass. Eli ei pahemmin nimellä haeta.

Jorgga [18.04.2009 19:21:50]

#

VB6:ssa näyttäisi toolbarin tyyppi olevan "Toolbar20WndClass", mutta napeille kyseiseesä palkissa ei näytä olevan omaa kahvaa... täytynee yrittää keksiä jotain.

Juhko [18.04.2009 19:46:22]

#

Jos kummatkin ohjelmat ovat omia, niin on parasta tallentaa tarvittu kahva tiedostoon.

Jorgga [18.04.2009 19:50:56]

#

Voi kun oliskin omia :)

Hankalaks menee kyl...

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta