Kezdőoldal » Számítástechnika » Programozás » C# SendKeys hiba, üres a sor?

C# SendKeys hiba, üres a sor?

Figyelt kérdés

Tehát van egy ilyenem(Előszöris win form-ról beszélek):

private void Form1_Load(object sender, EventArgs e)

{


hook = new GlobalKeyboardHook();

hook.KeyDown += new KeyEventHandler(hook_KeyDown);

foreach (Keys key in Enum.GetValues(typeof(Keys)))

hook.HookedKeys.Add(key);

//WindowState = FormWindowState.Minimized;

hook.hook();

}


public void hook_KeyDown(object sender, KeyEventArgs e)

{

SendKeys.Send("asd123");

}


-----------

Ez az lenne hogy mikor a felhasználó lenyom egy gombot akkor elküldje ugye azt az "asd123"-at, pl írás közben...

De az a baj hogy egyszer lenyomok csak egy gombot, elküldi vagy hússzor, majd azt a hibát írja a SendKey.Send-re hogy üres a sor.

Fogalmam sincs mire gondol és hogy mi lenne a megoldás.


2013. júl. 5. 12:18
 1/7 anonim ***** válasza:
Nem igazán értem mit szeretnél csinálni. Ugye ez az alkalmazás figyeli a billentyű leütéseket, viszont a SendKeys.Send billentyűleütéseket szimulál, tehát az "asd123" elküldése azt jelenti, mintha leütted volna sorban az a, s, d, 1, 2, 3 betűket, amelyek pedig egymás után meghívják a billentyű leütéséhez rendelt eseményt és így tovább...
2013. júl. 5. 14:07
Hasznos számodra ez a válasz?
 2/7 SimkoL ***** válasza:

Hát most szúrom olyan helyre a nagybökőt.....

Billentyű lenyomásra még több leütést szimulálni. Ez olyan mint amikor a kamerát a monitorral szembe fordítod - sőt még rosszabb....

2013. júl. 5. 15:19
Hasznos számodra ez a válasz?
 3/7 A kérdező kommentje:

Első válaszoló: Igen, figyeli a lenyomott billentyűket, de mikor lenyom egy billentyűt, akkor szimulálja az asd123-ban található karaktereket.

Pontosan ezt kéne, de épp ez a baj hogy azt írja a Sendkey.Send-re hogy "üres a sor". Tehát lenyomok egy gombot, leszimulálja vagy hússzor az asd123-at, aztán kiírja hogy "üres a sor" és ennyi.


Második válaszoló: Akkor elmondanád kedvesen hogy ezzel mi a bajod?

2013. júl. 5. 15:34
 4/7 A kérdező kommentje:
Időközben leesett amit az első válaszoló írt, köszönöm a segítséget.
2013. júl. 5. 15:38
 5/7 anonim ***** válasza:
Oké, akkor újra: lenyomsz egy billentyűt, erre triggerelődik a hook_KeyDown esemény. Itt te meghívod a SendKeys.Send metódust, ami azt csinálja, hogy billentyűlenyomásokat szimulál. Tehát odáig jut a függvény, hogy "a" (az asd123 első karaktere), és újra triggerelődik a hook_KeyDown esemény, amiben te meghívod a SendKeys.Send metódust az asd123-ra, itt a függvény odáig jut, hogy "a", és triggerelődik a hook_keyDown esemény... ilyesmi (most pontosan nem tudom ez GlobalKeyboardHook milyen osztály, de remélem érted hol itt a gond).
2013. júl. 5. 15:40
Hasznos számodra ez a válasz?
 6/7 A kérdező kommentje:

Igen, már teljesen értem.

De hogy ez hogy le nem esett le nekem...

De azért tényleg köszönöm.

2013. júl. 5. 15:47
 7/7 SimkoL ***** válasza:

Bocs, ha megbántottalak volna, erős felindulás volt.

Azért példálóztam a kamerával és a monitorral mivel mivel mint az első válaszoló is írta a SendKeys.Send-el kiváltod a KeyDown eseményt és ez így a végtelenségig is ismétlődhtne. Valószínű, bár a C#-ot annyira nem ismerem - megtelik a billentyűzet puffer - mivel nincs ami a leütött - elküldött - karakterek feldolgozza. Nem tudom, hogy mit akarsz vele de ebben a formában....

Sokat segített volna ha leírod, hogy mire akarod alkalmazni ezt az alkalmazást.

2013. júl. 5. 15:49
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!