Gépelés saját kódból

A System.Windows.Forms névtérben van egy nagyon poén osztály: a SendKeys. Ennek segítségével billentyűleütéseket küldhetünk ki saját programból. Kiküldésre én a SendWait metódust használom. Ennek egy string a bemenete, melyet “begépel”. Az egyetlen kaland, ha speciális karakter vagy karakterek gépelését szeretnénk elvégeztetni: ilyenek a +, ^, %, ~ és () jelek. Ezeket { } közé kell tenni. Emiatt persze a { és a } kiírása is {{}-re és {}}-re bonyolódik.

Még ha nem is a leghatékonyabban, de az alábbi metódussal meg lehet valósítani a fent elmondott karaktercseréket:

    public static string ReplaceSpecialCharacters( string text )
    {
        return text.Replace( "{", "{{}" )
            .Replace( "}", "{}}" )
            .Replace( "{{{}}", "{{}" )
            .Replace( "(", "{(}" )
            .Replace( ")", "{)}" )
            .Replace( "+", "{+}" )
            .Replace( "^", "{^}" )
            .Replace( "%", "{%}" )
            .Replace( "~", "{~}" )
            .Replace( "~", "{~}" );
    }

A fent felsorolt karakterek nem véletlenül speciálisak: a + jel a SHIFT billentyűt, a ^ jel a CTRL-t, a % pedig az ALT gombot jelenti. Lehetőség van továbbá például a CAPSLOCK vagy a BACKSPACE szimulált leütésére is a {CAPSLOCK} illetve a {BACKSPACE} segítségével, és így tovább.



Dávid Zoltán

Dávid Zoltán Mérnök Informatikusként végeztem a BME-n, jelenleg webfejlesztéssel és gépi tanulással foglalkozom.

2009.06.11. 12:45:19 | Permalink | Hozzászólások: 0 | Tárgyszavak: ,


  • IE8 accelerator (gyorssegéd) készítése

    Albert István JÓ REGGELT ! Vannak akik az IE8 acceleratorokat csak szemfényvesztésnek tekintik, mások kényelemről vagy éppen igazi hatékonyság növekedésről beszélnek. Nem tudom. Én eddig nem használtam őket, viszont ma reggel 20 perc alatt kész volt az első saját gyorssegédem. Legalább az elkészítése hatékony. Tovább »
  • Lekerekített sarkok IE9-ben - CSS3

    Dávid Zoltán Weboldalakon sokáig nem volt egyszerű lekerekített sarkú tarületeket definiálni - pedig igény az lett volna rá. Ezért több tucat módja alakult ki annak, hogyan lehet hasonló hatást kelteni. Az IE9-ben implementált CSS3 border-radius megjelenésével ennek vége! Mostantól nagyon egyszerű tényleg lekerekített sarkokat definiálni, ráadásul szabványosan. Tovább »


Írja meg Ön is véleményét!


Hozzászólásokat csak regisztrált, bejelentkezett felhasználóktól tudunk elfogadni!

Hozzászólások