Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: Sendkeys C++:lla

tesmu [30.12.2007 01:21:40]

#

Elikkä tämä windowsin "hieno" ominaisuus "Sendkeys" C++ toteutettuna...

Ei tue mitään erikoismerkkejä ainoastaan kirjaimia ja välilyöntejä.

#include <iostream>
#include <windows.h>
#include <sstream>
#include <string>
using namespace std;
using std::string;

void send_keys(string word);
TCHAR string2tchar(string letter);

int main(void) {
    send_keys("Testi!");        //Lähetetään Testi!
    return 0;
}



void send_keys(string word) {
     int i;
     string e = "";
     for (i=0;i<=word.length();i++) {        //Käydään läpi jokainen kirjain ja muunnetaan se TCHAR -tyypiksi
         if (word[i] != '\0') {
            e = word[i];
            if (e == " ") {            //Jos on välilyönti
                keybd_event(VK_SPACE,0x20,0 , 0);              //Painetaan näppäin alas
                keybd_event(VK_SPACE,0x20, KEYEVENTF_KEYUP,0);        //Nostetaan se ylös
            }
            else {
                 keybd_event(VkKeyScan(string2tchar( e ) ),0x1e,0 , 0); //Painetaan näppäin alas
                 keybd_event(VkKeyScan(string2tchar( e ) ),0x1e, KEYEVENTF_KEYUP,0); //Nostetaan se ylös
            }
         }
     }
     keybd_event(VK_RETURN, 0x0D, 0, 0);            //Entteri alas
     keybd_event(VK_RETURN,0x0D, KEYEVENTF_KEYUP,0);        //Entteri ylös
}
TCHAR string2tchar(string letter) {                //Funktio jolla voidaan convertaa string -tyyppinen muuttuja TCHARiksi
      stringstream ss;
      TCHAR ret;
      ss << letter;
      ss >> ret;
      return ret;
}

Vastaus

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

Tietoa sivustosta