Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: VB 6 ohjelmaan kirjoittaminen

Sivun loppuun

Lotto [14.03.2011 21:57:22]

#

Terve!

Tarkoituksenani olisi väsätä minecraftiin ohjelma, joka kirjoittaisi minecraft klienttiin haluamani asian, kuten esimerkiksi "/give nick 46 64". Tarkoituksena siis että saisin minecraftissa olevia asioita serverilläni vain nappia painamalla.

onko Herroilla tai miksei Neideilläkin ideoita?

Grez [14.03.2011 22:04:59]

#

VB6:ssa on AppActivate funktio, jolla voi aktivoida haluamansa ikkunan ja SendKeys -funktio, jolla voi lähettää haluamiaan näppäimenpainalluksia.

Lotto [15.03.2011 19:35:21]

#

Grez kirjoitti:

VB6:ssa on AppActivate funktio, jolla voi aktivoida haluamansa ikkunan ja SendKeys -funktio, jolla voi lähettää haluamiaan näppäimenpainalluksia.

aloin testailla noilla funktioilla, ja nyt törmäsin ropleemaan: AppActicate toimii hyvin, mutta SendKeys funkkari haluaa ilmeisesti että ohjelma johon kirjaimet lähetetään, avataan Shell-funktiolla. En kuitenkaan haluaisi vb:n avaavan softaa vaan vain lähettävän kirjaimet. Mitään tehtävissä?

Ohessa koodini jolla olen systeemiä testaillut, testiohjelmana on ollut notepad

Private Sub Command1_Click()
 'AppActivate ("Untitled - Notepad")
 'SendKeys "{ESC}", True
 Shell "", vbNormalFocus
 SendKeys "t"
 SendKeys "asas"
End Sub

Grez [15.03.2011 19:43:12]

#

Kyllä ne yleisesti ikkunaan, joka on kulloinkin aktiivisena.

Kannattaa tietty huomata, että sendkeys ei toimi (ainakaan kunnolla) vistassa tai uudemmissa, mutta ei kai kukaan VB6:lla koodaakaan Vistalle tai uudemmille.

Lotto [15.03.2011 19:44:22]

#

Grez kirjoitti:

Kyllä ne yleisesti ikkunaan, joka on kulloinkin aktiivisena.

Kannattaa tietty huomata, että sendkeys ei toimi (ainakaan kunnolla) vistassa tai uudemmissa, mutta ei kai kukaan VB6:lla koodaakaan Vistalle tai uudemmille.

Itse ainakin Windows XP SP3 lontoonkielisellä menen. Testailkaamme siis vielä.

Grez [15.03.2011 19:49:08]

#

Niin ja siis tietty on ohjelmia jotka hylkii tuolleen lähetettyjä näppäimenpainalluksia myös vanhemmilla. Mutta itse testailin äsken omalla XP virtuaalikoneella ja kaikki normaalit ohjelmat ottivat tarjotut painallukse vastaan vaikka mitään en ollut käynnistänyt VB:n kautta.

Lotto [16.03.2011 07:56:20]

#

Grez kirjoitti:

Niin ja siis tietty on ohjelmia jotka hylkii tuolleen lähetettyjä näppäimenpainalluksia myös vanhemmilla. Mutta itse testailin äsken omalla XP virtuaalikoneella ja kaikki normaalit ohjelmat ottivat tarjotut painallukse vastaan vaikka mitään en ollut käynnistänyt VB:n kautta.

Voinetko näyttää käyttämäsi testikoodinpätkän? Epäilen että omassa testissäni on jotain todella tärkeää unohtunut.

Grez [16.03.2011 09:29:01]

#

Tokihan voin

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
    AppActivate "Ohjelmointiputka"  'Aktivoi selaimen
    Sleep 200
    SendKeys "Tokihan voin"
End Sub

neau33 [16.03.2011 10:39:42]

#

Moi Lotto!

Toinen mahdollinen ja varsin hyvä ratkaisu olisi Active Accessibility

Imppaa Microsoft Active Accessibility 2.0 Redistributable

Imppaa hyvä esimekki Accessibility-jutskiin tutustumiseen...

Esimerkki tarvitsee myös tämän Microsoft Speech API 5.1

Imppaa täältä työkaluja...(voit käytää myös Spy++'aa)

Tsekkaa täältä hyvä artikkeli...

Olen esim. viritellyt .NET puolelle AccLayer-viritelmän, jota käytän nappaamaan/pukkaamaan viestejä mm. Poker-client'lle (online flash)...

Lotto [19.03.2011 11:52:45]

#

Kiitoksia vastauksista!

Grezin vinkissä olleen Sleep:n avulla sain tuon toimimaan.


Sivun alkuun

Vastaus

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

Tietoa sivustosta