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: ,


  • NXT.NET for Lego Mindstorms

    Balássy György (MS RD, ASP.NET MVP, MCTS) Néhány hónappal ezelőtt Dávid Zoli blogbejegyzése kapcsán figyeltem fel a Lego Mindstorms NXT készletére. Aki esetleg nem ismerné, ez egy olyan standard LEGO csomag, amiből programozható robotot építhetünk. A robot "agya" az ún. NXT Brick képes egyszerre négy szenzor jelét venni és három motort vezérelni, sőt a legszebb az egészben, hogy Bluetooth kapcsolatos keresztül távvezérelhető. Szóval nem csak egy gyerekjátékról van szó, sokkal több lehetőséget rejt ez a készlet magában. Nem véletlen... Tovább »
  • Időnként Access Denied a _layouts mappa fájljaira

    Balássy György (MS RD, ASP.NET MVP, MCTS) Meghalt a SharePointunk alatt a winchester, nem maradt más választásunk, mint backupból visszaállítani az egészet egy másik gépre. Ha már újratelepítés, akkor természetesen minden szoftverből a legújabb került a vasra: Windows Server 2008 R2, IIS 7.5, SQL Server 2008, WSS 3.0 SP2. A mentést sikerült visszaállítani, vidáman ketyegtek a csoportmunka webhelyek, időnként azonban furcsa 403 – Access Denied hibákat kaptunk. 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