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


  • Kritikus 0day ASP.NET sebezhetőség és gyors védekezés

    Balássy György (MS RD, ASP.NET MVP, MCTS) Ahogy korábban már írtam róla, két hacker elég komoly hibát fedezett fel, amely az ASP.NET-es alkalmazások által használt titkosítást érinti. Sajnos a sebezhetőség részleteit csak pénteken hozták nyilvánosságra, ráadásul egy kész eszközt is közreadtak a kihasználására, sőt előtte a Microsofttal sem közölték a pontos módszert, így most a rossz fiúknak két teljes napjuk van, mielőtt a legtöbb webhely gazdája észbe kap (micsoda “véletlen” időzítés). Fontos, hogy a hiba alapvetően az összes ASP.NET-es webhelyet érinti, legyen az egyedi fejlesztésű, vagy kész rendszer, DotNetNuke vagy SharePoint ugyanúgy borulhat. Az üzemeltetőknek gyorsan kell lépniük! Tovább »
  • Tipikus ASP.NET hozzáférési szintek

    Dávid Zoltán Az ASP.NET-es erőforrások (például aspx oldalak) a kezdetek óta védhetőek web.config-ban elhelyezett deklaratív bejegyzésekkel. Az IIS7 megjelenése óta az ilyen jellegű deklaratív védelem minden webes erőforrásnak (például PNG állományoknak) is alapértelmezetten kijár. 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