Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: Funktio ei toimi niinku pitäis

Sivun loppuun

Mestre [23.05.2005 17:25:54]

#

void SendKeys(char *keys)
{
	int pituus = strlen(keys);

	for(int i = 0; i < pituus; i = i + 1)
	{
		keybd_event(keys[i],keys[i],0,0);
	}
}

ton tarkotushan olis kirjottaa tekstiä johonkin toiseen ohjelmaan mut se kirjottaa vaan jotain merkkisotkua, eli mites ton sais toimimaan?

sqwiik [23.05.2005 17:37:18]

#

Asiaa auttaisi suuresti, jos kertoisit myös mitä tuo keyb_event tekee tai laittaisit senkin koodin tänne. Muuten on melko hankala arvuutella.

Edit - Blaze valaisikin minua jo. Voisi auttaa, jos joku WinApia tunteva laittaisi tähän topikkiin hieman tietoa tuon keyb_event:n parametreista.

Blaze [23.05.2005 17:49:37]

#

keyb_event on WinApin funktio.

Juice [23.05.2005 18:36:40]

#

http://www.mentalis.org/apilist/keyb_event.shtml

sqwiik [23.05.2005 18:48:06]

#

Muokkausaikakin lopahti. Juicen antamasta linkistä löytyy esimerkki, josta selviää hyödyllisiä asioiota; mm. se, että kannattaa myös vapauttaa se simuloitu näppäin.

keyb_event(keys[i], 0, KEYEVENTF_KEYUP, 0);

Toisekseen, se toinen parametri on hardware scancode. En sitten tiedä mitä siihen pitäisi laittaa, ainakin tuossa esimerkissä siinä oli 0 joka merkille?

Mestre [23.05.2005 19:03:14]

#

no joo mut erikoismerkit ei silti toimi.

sqwiik [23.05.2005 19:04:24]

#

Mitkä erikoismerkit? Jos katsot tuosta esimerkistä, niin niihin pitää laittaa lisäksi se extended-lippu päälle.

Metabolix [23.05.2005 22:40:33]

#

Lukekaa kuvaus mieluumin suoraan MSDN:stä. Sen mukaan kakkosparametria ei käytetä, ja tässä varmaankin kannattaa luottaa Microsoftiin.

Ongelma on varmaankin siinä, että virtuaaliset näppäinkoodit eivät ole samat kuin kirjainten ASCII-arvot. Koko teksti pitää siis muuttaa sopivaksi. Lisäksi isoja ja pieniä kirjaimia ei voi erottaa toisistaan näppäinkoodin perusteella, vaan pitää "painaa" shiftiä.


Sivun alkuun

Vastaus

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

Tietoa sivustosta