Autor
Nachricht
Hellmaster1024_
Unregistrierter
Hellmaster1024_ Unregistrierter
18:30:00 05.09.2002 Titel:
System - Text an fremde Fenster senden
Zitieren
ich habe letztens eine funktion gesucht um einen string an ein anderes programm zu senden ... z.b. für die ms-dos eingabeaufforderung! oder andere programme!
da ich leider keien funktion gefunden habe habe ich mal eine geschrieben .. und da es sehr viel arbeit war die ganzen tastaturcodes rauszusuchen wollte ich anderen diese arbeit erspaaren
einfach die kunktion aufrufen und namen des fensters und den text übergeben ...
C/C++ Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
TextSend("Unbenannt - Editor ","Dies ist ein test!!\n ");
void __fastcall TForm1::TextSend(AnsiString fenster,AnsiString Text)
{
int x;
int key=' ',gross,altgr;
HWND window=FindWindow(0,fenster.c_str());
SetForegroundWindow(window);
for (x=0;x<strlen(Text.c_str());x++)
{
switch (Text.c_str()[x])
{
case '0 ':{key='0 ';gross=0;altgr=0;break ;}
case '1 ':{key='1 ';gross=0;altgr=0;break ;}
case '2 ':{key='2 ';gross=0;altgr=0;break ;}
case '3 ':{key='3 ';gross=0;altgr=0;break ;}
case '4 ':{key='4 ';gross=0;altgr=0;break ;}
case '5 ':{key='5 ';gross=0;altgr=0;break ;}
case '6 ':{key='6 ';gross=0;altgr=0;break ;}
case '7 ':{key='7 ';gross=0;altgr=0;break ;}
case '8 ':{key='8 ';gross=0;altgr=0;break ;}
case '9 ':{key='9 ';gross=0;altgr=0;break ;}
case 'a ':{key='A ';gross=0;altgr=0;break ;}
case 'b ':{key='B ';gross=0;altgr=0;break ;}
case 'c ':{key='C ';gross=0;altgr=0;break ;}
case 'd ':{key='D ';gross=0;altgr=0;break ;}
case 'e ':{key='E ';gross=0;altgr=0;break ;}
case 'f ':{key='F ';gross=0;altgr=0;break ;}
case 'g ':{key='G ';gross=0;altgr=0;break ;}
case 'h ':{key='H ';gross=0;altgr=0;break ;}
case 'i ':{key='I ';gross=0;altgr=0;break ;}
case 'j ':{key='J ';gross=0;altgr=0;break ;}
case 'k ':{key='K ';gross=0;altgr=0;break ;}
case 'l ':{key='L ';gross=0;altgr=0;break ;}
case 'm ':{key='M ';gross=0;altgr=0;break ;}
case 'n ':{key='N ';gross=0;altgr=0;break ;}
case 'o ':{key='O ';gross=0;altgr=0;break ;}
case 'p ':{key='P ';gross=0;altgr=0;break ;}
case 'q ':{key='Q ';gross=0;altgr=0;break ;}
case 'r ':{key='R ';gross=0;altgr=0;break ;}
case 's ':{key='S ';gross=0;altgr=0;break ;}
case 't ':{key='T ';gross=0;altgr=0;break ;}
case 'u ':{key='U ';gross=0;altgr=0;break ;}
case 'v ':{key='V ';gross=0;altgr=0;break ;}
case 'w ':{key='W ';gross=0;altgr=0;break ;}
case 'x ':{key='X ';gross=0;altgr=0;break ;}
case 'y ':{key='Y ';gross=0;altgr=0;break ;}
case 'z ':{key='Z ';gross=0;altgr=0;break ;}
case 'ß ':{key=219;gross=0;altgr=0;break ;}
case 'ä ':{key=222;gross=0;altgr=0;break ;}
case 'ü ':{key=186;gross=0;altgr=0;break ;}
case 'ö ':{key=192;gross=0;altgr=0;break ;}
case 'A ':{key='A ';gross=1;altgr=0;break ;}
case 'B ':{key='B ';gross=1;altgr=0;break ;}
case 'C ':{key='C ';gross=1;altgr=0;break ;}
case 'D ':{key='D ';gross=1;altgr=0;break ;}
case 'E ':{key='E ';gross=1;altgr=0;break ;}
case 'F ':{key='F ';gross=1;altgr=0;break ;}
case 'G ':{key='G ';gross=1;altgr=0;break ;}
case 'H ':{key='H ';gross=1;altgr=0;break ;}
case 'I ':{key='I ';gross=1;altgr=0;break ;}
case 'J ':{key='J ';gross=1;altgr=0;break ;}
case 'K ':{key='K ';gross=1;altgr=0;break ;}
case 'L ':{key='L ';gross=1;altgr=0;break ;}
case 'M ':{key='M ';gross=1;altgr=0;break ;}
case 'N ':{key='N ';gross=1;altgr=0;break ;}
case 'O ':{key='O ';gross=1;altgr=0;break ;}
case 'P ':{key='P ';gross=1;altgr=0;break ;}
case 'Q ':{key='Q ';gross=1;altgr=0;break ;}
case 'R ':{key='R ';gross=1;altgr=0;break ;}
case 'S ':{key='S ';gross=1;altgr=0;break ;}
case 'T ':{key='T ';gross=1;altgr=0;break ;}
case 'U ':{key='U ';gross=1;altgr=0;break ;}
case 'V ':{key='V ';gross=1;altgr=0;break ;}
case 'W ':{key='W ';gross=1;altgr=0;break ;}
case 'X ':{key='X ';gross=1;altgr=0;break ;}
case 'Y ':{key='Y ';gross=1;altgr=0;break ;}
case 'Z ':{key='Z ';gross=1;altgr=0;break ;}
case '? ':{key=219;gross=1;altgr=0;break ;}
case 'Ä ':{key=222;gross=1;altgr=0;break ;}
case 'Ü ':{key=186;gross=1;altgr=0;break ;}
case 'Ö ':{key=192;gross=1;altgr=0;break ;}
case 'µ ':{key='M ';gross=0;altgr=1;break ;}
case '= ':{key='0 ';gross=1;altgr=0;break ;}
case '! ':{key='1 ';gross=1;altgr=0;break ;}
case '" ':{key='2 ';gross=1;altgr=0;break ;}
case '§ ':{key='3 ';gross=1;altgr=0;break ;}
case '$ ':{key='4 ';gross=1;altgr=0;break ;}
case '% ':{key='5 ';gross=1;altgr=0;break ;}
case '& ':{key='6 ';gross=1;altgr=0;break ;}
case '/ ':{key='7 ';gross=1;altgr=0;break ;}
case '( ':{key='8 ';gross=1;altgr=0;break ;}
case ') ':{key='9 ';gross=1;altgr=0;break ;}
case '+ ':{key=187;gross=0;altgr=0;break ;}
case '- ':{key=189;gross=0;altgr=0;break ;}
case '. ':{key=190;gross=0;altgr=0;break ;}
case ', ':{key=188;gross=0;altgr=0;break ;}
case '# ':{key=191;gross=0;altgr=0;break ;}
case '* ':{key=187;gross=1;altgr=0;break ;}
case '_ ':{key=189;gross=1;altgr=0;break ;}
case ': ':{key=190;gross=1;altgr=0;break ;}
case '; ':{key=188;gross=1;altgr=0;break ;}
case '\' ':{key=191;gross=1;altgr=0;break ;}
case '´ ':{key=221;gross=1;altgr=0;break ;}
case '~ ':{key=191;gross=1;altgr=1;break ;}
case '} ':{key='0 ';gross=0;altgr=1;break ;}
case '² ':{key='2 ';gross=0;altgr=1;break ;}
case '³ ':{key='3 ';gross=0;altgr=1;break ;}
case '{ ':{key='7 ';gross=0;altgr=1;break ;}
case '[ ':{key='8 ';gross=0;altgr=1;break ;}
case '] ':{key='9 ';gross=0;altgr=1;break ;}
case '\\ ':{key=219;gross=0;altgr=1;break ;}
case ' ':{key=' ';gross=0;altgr=0;break ;}
case '^ ':{key=220;gross=0;altgr=0;break ;}
case '° ':{key=220;gross=1;altgr=0;break ;}
case '< ':{key=226;gross=0;altgr=0;break ;}
case '> ':{key=226;gross=1;altgr=0;break ;}
case '| ':{key=226;gross=0;altgr=1;break ;}
case '\n ':{key=VK_RETURN;gross=0;altgr=0;break ;}
}
if (altgr==1)keybd_event(VK_RMENU, 0, 0, NULL);
if (gross==1)keybd_event(VK_SHIFT, 0, 0, NULL);
keybd_event(key, 0, 0, NULL);
keybd_event(key, 0, KEYEVENTF_KEYUP, 0);
if (gross==1)keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
if (altgr==1)keybd_event(VK_RMENU, 0, KEYEVENTF_KEYUP, 0);
}
if (0==strlen(Text.c_str()))
{
keybd_event(' ', 0, 0, NULL);
keybd_event(' ', 0, KEYEVENTF_KEYUP, 0);
}
}
C/C++ Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
TextSend("Unbenannt - Editor ","Dies ist ein test!!\n ");
void __fastcall TForm1::TextSend(AnsiString fenster,AnsiString Text)
{
int x;
int key=' ',gross,altgr;
HWND window=FindWindow(0,fenster.c_str());
SetForegroundWindow(window);
for (x=0;x<strlen(Text.c_str());x++)
{
switch (Text.c_str()[x])
{
case '0 ':{key='0 ';gross=0;altgr=0;break ;}
case '1 ':{key='1 ';gross=0;altgr=0;break ;}
case '2 ':{key='2 ';gross=0;altgr=0;break ;}
case '3 ':{key='3 ';gross=0;altgr=0;break ;}
case '4 ':{key='4 ';gross=0;altgr=0;break ;}
case '5 ':{key='5 ';gross=0;altgr=0;break ;}
case '6 ':{key='6 ';gross=0;altgr=0;break ;}
case '7 ':{key='7 ';gross=0;altgr=0;break ;}
case '8 ':{key='8 ';gross=0;altgr=0;break ;}
case '9 ':{key='9 ';gross=0;altgr=0;break ;}
case 'a ':{key='A ';gross=0;altgr=0;break ;}
case 'b ':{key='B ';gross=0;altgr=0;break ;}
case 'c ':{key='C ';gross=0;altgr=0;break ;}
case 'd ':{key='D ';gross=0;altgr=0;break ;}
case 'e ':{key='E ';gross=0;altgr=0;break ;}
case 'f ':{key='F ';gross=0;altgr=0;break ;}
case 'g ':{key='G ';gross=0;altgr=0;break ;}
case 'h ':{key='H ';gross=0;altgr=0;break ;}
case 'i ':{key='I ';gross=0;altgr=0;break ;}
case 'j ':{key='J ';gross=0;altgr=0;break ;}
case 'k ':{key='K ';gross=0;altgr=0;break ;}
case 'l ':{key='L ';gross=0;altgr=0;break ;}
case 'm ':{key='M ';gross=0;altgr=0;break ;}
case 'n ':{key='N ';gross=0;altgr=0;break ;}
case 'o ':{key='O ';gross=0;altgr=0;break ;}
case 'p ':{key='P ';gross=0;altgr=0;break ;}
case 'q ':{key='Q ';gross=0;altgr=0;break ;}
case 'r ':{key='R ';gross=0;altgr=0;break ;}
case 's ':{key='S ';gross=0;altgr=0;break ;}
case 't ':{key='T ';gross=0;altgr=0;break ;}
case 'u ':{key='U ';gross=0;altgr=0;break ;}
case 'v ':{key='V ';gross=0;altgr=0;break ;}
case 'w ':{key='W ';gross=0;altgr=0;break ;}
case 'x ':{key='X ';gross=0;altgr=0;break ;}
case 'y ':{key='Y ';gross=0;altgr=0;break ;}
case 'z ':{key='Z ';gross=0;altgr=0;break ;}
case 'ß ':{key=219;gross=0;altgr=0;break ;}
case 'ä ':{key=222;gross=0;altgr=0;break ;}
case 'ü ':{key=186;gross=0;altgr=0;break ;}
case 'ö ':{key=192;gross=0;altgr=0;break ;}
case 'A ':{key='A ';gross=1;altgr=0;break ;}
case 'B ':{key='B ';gross=1;altgr=0;break ;}
case 'C ':{key='C ';gross=1;altgr=0;break ;}
case 'D ':{key='D ';gross=1;altgr=0;break ;}
case 'E ':{key='E ';gross=1;altgr=0;break ;}
case 'F ':{key='F ';gross=1;altgr=0;break ;}
case 'G ':{key='G ';gross=1;altgr=0;break ;}
case 'H ':{key='H ';gross=1;altgr=0;break ;}
case 'I ':{key='I ';gross=1;altgr=0;break ;}
case 'J ':{key='J ';gross=1;altgr=0;break ;}
case 'K ':{key='K ';gross=1;altgr=0;break ;}
case 'L ':{key='L ';gross=1;altgr=0;break ;}
case 'M ':{key='M ';gross=1;altgr=0;break ;}
case 'N ':{key='N ';gross=1;altgr=0;break ;}
case 'O ':{key='O ';gross=1;altgr=0;break ;}
case 'P ':{key='P ';gross=1;altgr=0;break ;}
case 'Q ':{key='Q ';gross=1;altgr=0;break ;}
case 'R ':{key='R ';gross=1;altgr=0;break ;}
case 'S ':{key='S ';gross=1;altgr=0;break ;}
case 'T ':{key='T ';gross=1;altgr=0;break ;}
case 'U ':{key='U ';gross=1;altgr=0;break ;}
case 'V ':{key='V ';gross=1;altgr=0;break ;}
case 'W ':{key='W ';gross=1;altgr=0;break ;}
case 'X ':{key='X ';gross=1;altgr=0;break ;}
case 'Y ':{key='Y ';gross=1;altgr=0;break ;}
case 'Z ':{key='Z ';gross=1;altgr=0;break ;}
case '? ':{key=219;gross=1;altgr=0;break ;}
case 'Ä ':{key=222;gross=1;altgr=0;break ;}
case 'Ü ':{key=186;gross=1;altgr=0;break ;}
case 'Ö ':{key=192;gross=1;altgr=0;break ;}
case 'µ ':{key='M ';gross=0;altgr=1;break ;}
case '= ':{key='0 ';gross=1;altgr=0;break ;}
case '! ':{key='1 ';gross=1;altgr=0;break ;}
case '" ':{key='2 ';gross=1;altgr=0;break ;}
case '§ ':{key='3 ';gross=1;altgr=0;break ;}
case '$ ':{key='4 ';gross=1;altgr=0;break ;}
case '% ':{key='5 ';gross=1;altgr=0;break ;}
case '& ':{key='6 ';gross=1;altgr=0;break ;}
case '/ ':{key='7 ';gross=1;altgr=0;break ;}
case '( ':{key='8 ';gross=1;altgr=0;break ;}
case ') ':{key='9 ';gross=1;altgr=0;break ;}
case '+ ':{key=187;gross=0;altgr=0;break ;}
case '- ':{key=189;gross=0;altgr=0;break ;}
case '. ':{key=190;gross=0;altgr=0;break ;}
case ', ':{key=188;gross=0;altgr=0;break ;}
case '# ':{key=191;gross=0;altgr=0;break ;}
case '* ':{key=187;gross=1;altgr=0;break ;}
case '_ ':{key=189;gross=1;altgr=0;break ;}
case ': ':{key=190;gross=1;altgr=0;break ;}
case '; ':{key=188;gross=1;altgr=0;break ;}
case '\' ':{key=191;gross=1;altgr=0;break ;}
case '´ ':{key=221;gross=1;altgr=0;break ;}
case '~ ':{key=191;gross=1;altgr=1;break ;}
case '} ':{key='0 ';gross=0;altgr=1;break ;}
case '² ':{key='2 ';gross=0;altgr=1;break ;}
case '³ ':{key='3 ';gross=0;altgr=1;break ;}
case '{ ':{key='7 ';gross=0;altgr=1;break ;}
case '[ ':{key='8 ';gross=0;altgr=1;break ;}
case '] ':{key='9 ';gross=0;altgr=1;break ;}
case '\\ ':{key=219;gross=0;altgr=1;break ;}
case ' ':{key=' ';gross=0;altgr=0;break ;}
case '^ ':{key=220;gross=0;altgr=0;break ;}
case '° ':{key=220;gross=1;altgr=0;break ;}
case '< ':{key=226;gross=0;altgr=0;break ;}
case '> ':{key=226;gross=1;altgr=0;break ;}
case '| ':{key=226;gross=0;altgr=1;break ;}
case '\n ':{key=VK_RETURN;gross=0;altgr=0;break ;}
}
if (altgr==1)keybd_event(VK_RMENU, 0, 0, NULL);
if (gross==1)keybd_event(VK_SHIFT, 0, 0, NULL);
keybd_event(key, 0, 0, NULL);
keybd_event(key, 0, KEYEVENTF_KEYUP, 0);
if (gross==1)keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
if (altgr==1)keybd_event(VK_RMENU, 0, KEYEVENTF_KEYUP, 0);
}
if (0==strlen(Text.c_str()))
{
keybd_event(' ', 0, 0, NULL);
keybd_event(' ', 0, KEYEVENTF_KEYUP, 0);
}
}
C/C++ Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
TextSend("Unbenannt - Editor ","Dies ist ein test!!\n ");
void __fastcall TForm1::TextSend(AnsiString fenster,AnsiString Text)
{
int x;
int key=' ',gross,altgr;
HWND window=FindWindow(0,fenster.c_str());
SetForegroundWindow(window);
for (x=0;x<strlen(Text.c_str());x++)
{
switch (Text.c_str()[x])
{
case '0 ':{key='0 ';gross=0;altgr=0;break ;}
case '1 ':{key='1 ';gross=0;altgr=0;break ;}
case '2 ':{key='2 ';gross=0;altgr=0;break ;}
case '3 ':{key='3 ';gross=0;altgr=0;break ;}
case '4 ':{key='4 ';gross=0;altgr=0;break ;}
case '5 ':{key='5 ';gross=0;altgr=0;break ;}
case '6 ':{key='6 ';gross=0;altgr=0;break ;}
case '7 ':{key='7 ';gross=0;altgr=0;break ;}
case '8 ':{key='8 ';gross=0;altgr=0;break ;}
case '9 ':{key='9 ';gross=0;altgr=0;break ;}
case 'a ':{key='A ';gross=0;altgr=0;break ;}
case 'b ':{key='B ';gross=0;altgr=0;break ;}
case 'c ':{key='C ';gross=0;altgr=0;break ;}
case 'd ':{key='D ';gross=0;altgr=0;break ;}
case 'e ':{key='E ';gross=0;altgr=0;break ;}
case 'f ':{key='F ';gross=0;altgr=0;break ;}
case 'g ':{key='G ';gross=0;altgr=0;break ;}
case 'h ':{key='H ';gross=0;altgr=0;break ;}
case 'i ':{key='I ';gross=0;altgr=0;break ;}
case 'j ':{key='J ';gross=0;altgr=0;break ;}
case 'k ':{key='K ';gross=0;altgr=0;break ;}
case 'l ':{key='L ';gross=0;altgr=0;break ;}
case 'm ':{key='M ';gross=0;altgr=0;break ;}
case 'n ':{key='N ';gross=0;altgr=0;break ;}
case 'o ':{key='O ';gross=0;altgr=0;break ;}
case 'p ':{key='P ';gross=0;altgr=0;break ;}
case 'q ':{key='Q ';gross=0;altgr=0;break ;}
case 'r ':{key='R ';gross=0;altgr=0;break ;}
case 's ':{key='S ';gross=0;altgr=0;break ;}
case 't ':{key='T ';gross=0;altgr=0;break ;}
case 'u ':{key='U ';gross=0;altgr=0;break ;}
case 'v ':{key='V ';gross=0;altgr=0;break ;}
case 'w ':{key='W ';gross=0;altgr=0;break ;}
case 'x ':{key='X ';gross=0;altgr=0;break ;}
case 'y ':{key='Y ';gross=0;altgr=0;break ;}
case 'z ':{key='Z ';gross=0;altgr=0;break ;}
case 'ß ':{key=219;gross=0;altgr=0;break ;}
case 'ä ':{key=222;gross=0;altgr=0;break ;}
case 'ü ':{key=186;gross=0;altgr=0;break ;}
case 'ö ':{key=192;gross=0;altgr=0;break ;}
case 'A ':{key='A ';gross=1;altgr=0;break ;}
case 'B ':{key='B ';gross=1;altgr=0;break ;}
case 'C ':{key='C ';gross=1;altgr=0;break ;}
case 'D ':{key='D ';gross=1;altgr=0;break ;}
case 'E ':{key='E ';gross=1;altgr=0;break ;}
case 'F ':{key='F ';gross=1;altgr=0;break ;}
case 'G ':{key='G ';gross=1;altgr=0;break ;}
case 'H ':{key='H ';gross=1;altgr=0;break ;}
case 'I ':{key='I ';gross=1;altgr=0;break ;}
case 'J ':{key='J ';gross=1;altgr=0;break ;}
case 'K ':{key='K ';gross=1;altgr=0;break ;}
case 'L ':{key='L ';gross=1;altgr=0;break ;}
case 'M ':{key='M ';gross=1;altgr=0;break ;}
case 'N ':{key='N ';gross=1;altgr=0;break ;}
case 'O ':{key='O ';gross=1;altgr=0;break ;}
case 'P ':{key='P ';gross=1;altgr=0;break ;}
case 'Q ':{key='Q ';gross=1;altgr=0;break ;}
case 'R ':{key='R ';gross=1;altgr=0;break ;}
case 'S ':{key='S ';gross=1;altgr=0;break ;}
case 'T ':{key='T ';gross=1;altgr=0;break ;}
case 'U ':{key='U ';gross=1;altgr=0;break ;}
case 'V ':{key='V ';gross=1;altgr=0;break ;}
case 'W ':{key='W ';gross=1;altgr=0;break ;}
case 'X ':{key='X ';gross=1;altgr=0;break ;}
case 'Y ':{key='Y ';gross=1;altgr=0;break ;}
case 'Z ':{key='Z ';gross=1;altgr=0;break ;}
case '? ':{key=219;gross=1;altgr=0;break ;}
case 'Ä ':{key=222;gross=1;altgr=0;break ;}
case 'Ü ':{key=186;gross=1;altgr=0;break ;}
case 'Ö ':{key=192;gross=1;altgr=0;break ;}
case 'µ ':{key='M ';gross=0;altgr=1;break ;}
case '= ':{key='0 ';gross=1;altgr=0;break ;}
case '! ':{key='1 ';gross=1;altgr=0;break ;}
case '" ':{key='2 ';gross=1;altgr=0;break ;}
case '§ ':{key='3 ';gross=1;altgr=0;break ;}
case '$ ':{key='4 ';gross=1;altgr=0;break ;}
case '% ':{key='5 ';gross=1;altgr=0;break ;}
case '& ':{key='6 ';gross=1;altgr=0;break ;}
case '/ ':{key='7 ';gross=1;altgr=0;break ;}
case '( ':{key='8 ';gross=1;altgr=0;break ;}
case ') ':{key='9 ';gross=1;altgr=0;break ;}
case '+ ':{key=187;gross=0;altgr=0;break ;}
case '- ':{key=189;gross=0;altgr=0;break ;}
case '. ':{key=190;gross=0;altgr=0;break ;}
case ', ':{key=188;gross=0;altgr=0;break ;}
case '# ':{key=191;gross=0;altgr=0;break ;}
case '* ':{key=187;gross=1;altgr=0;break ;}
case '_ ':{key=189;gross=1;altgr=0;break ;}
case ': ':{key=190;gross=1;altgr=0;break ;}
case '; ':{key=188;gross=1;altgr=0;break ;}
case '\' ':{key=191;gross=1;altgr=0;break ;}
case '´ ':{key=221;gross=1;altgr=0;break ;}
case '~ ':{key=191;gross=1;altgr=1;break ;}
case '} ':{key='0 ';gross=0;altgr=1;break ;}
case '² ':{key='2 ';gross=0;altgr=1;break ;}
case '³ ':{key='3 ';gross=0;altgr=1;break ;}
case '{ ':{key='7 ';gross=0;altgr=1;break ;}
case '[ ':{key='8 ';gross=0;altgr=1;break ;}
case '] ':{key='9 ';gross=0;altgr=1;break ;}
case '\\ ':{key=219;gross=0;altgr=1;break ;}
case ' ':{key=' ';gross=0;altgr=0;break ;}
case '^ ':{key=220;gross=0;altgr=0;break ;}
case '° ':{key=220;gross=1;altgr=0;break ;}
case '< ':{key=226;gross=0;altgr=0;break ;}
case '> ':{key=226;gross=1;altgr=0;break ;}
case '| ':{key=226;gross=0;altgr=1;break ;}
case '\n ':{key=VK_RETURN;gross=0;altgr=0;break ;}
}
if (altgr==1)keybd_event(VK_RMENU, 0, 0, NULL);
if (gross==1)keybd_event(VK_SHIFT, 0, 0, NULL);
keybd_event(key, 0, 0, NULL);
keybd_event(key, 0, KEYEVENTF_KEYUP, 0);
if (gross==1)keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
if (altgr==1)keybd_event(VK_RMENU, 0, KEYEVENTF_KEYUP, 0);
}
if (0==strlen(Text.c_str()))
{
keybd_event(' ', 0, 0, NULL);
keybd_event(' ', 0, KEYEVENTF_KEYUP, 0);
}
}
Edit:
Bitte die Code-Tags benutzen. Danke!
Zuletzt bearbeitet von Jansen am 21:32:55 24.02.2004, insgesamt 1-mal bearbeitet
Werbeunterbrechung
WebFritzi
Mitglied
Benutzerprofil
Anmeldungsdatum: 23.09.2001
Beiträge: 9879
WebFritzi Mitglied
20:43:00 05.09.2002 Titel:
Zitieren
C/C++ Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
void TextSend(AnsiString wintext, AnsiString text)
{
HWND hwndPrev = GetForegroundWindow();
HWND hwnd = FindWindow(0, wintext.c_str());
SetForegroundWindow(hwnd);
DWORD idAttach = GetCurrentThreadId();
DWORD idAttachTo = GetWindowThreadProcessId(hwnd, NULL);
if ( AttachThreadInput(idAttach, idAttachTo, TRUE) == FALSE )
ShowMessage("ERROR: AttachThreadInput\(\) ");
HWND hwndFocus = GetFocus();
if (hwndFocus != FALSE)
SendMessage(hwndFocus, WM_SETTEXT, 0, (LPARAM)(LPCTSTR)text.c_str());
if ( AttachThreadInput(idAttach, idAttachTo, FALSE) == FALSE )
ShowMessage("ERROR: AttachThreadInput\(\) ");
SetForegroundWindow(hwndPrev);
}
C/C++ Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
void TextSend(AnsiString wintext, AnsiString text)
{
HWND hwndPrev = GetForegroundWindow();
HWND hwnd = FindWindow(0, wintext.c_str());
SetForegroundWindow(hwnd);
DWORD idAttach = GetCurrentThreadId();
DWORD idAttachTo = GetWindowThreadProcessId(hwnd, NULL);
if ( AttachThreadInput(idAttach, idAttachTo, TRUE) == FALSE )
ShowMessage("ERROR: AttachThreadInput\(\) ");
HWND hwndFocus = GetFocus();
if (hwndFocus != FALSE)
SendMessage(hwndFocus, WM_SETTEXT, 0, (LPARAM)(LPCTSTR)text.c_str());
if ( AttachThreadInput(idAttach, idAttachTo, FALSE) == FALSE )
ShowMessage("ERROR: AttachThreadInput\(\) ");
SetForegroundWindow(hwndPrev);
}
C/C++ Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
void TextSend(AnsiString wintext, AnsiString text)
{
HWND hwndPrev = GetForegroundWindow();
HWND hwnd = FindWindow(0, wintext.c_str());
SetForegroundWindow(hwnd);
DWORD idAttach = GetCurrentThreadId();
DWORD idAttachTo = GetWindowThreadProcessId(hwnd, NULL);
if ( AttachThreadInput(idAttach, idAttachTo, TRUE) == FALSE )
ShowMessage("ERROR: AttachThreadInput\(\) ");
HWND hwndFocus = GetFocus();
if (hwndFocus != FALSE)
SendMessage(hwndFocus, WM_SETTEXT, 0, (LPARAM)(LPCTSTR)text.c_str());
if ( AttachThreadInput(idAttach, idAttachTo, FALSE) == FALSE )
ShowMessage("ERROR: AttachThreadInput\(\) ");
SetForegroundWindow(hwndPrev);
}
_________________ Riskiere doch mal einen Blick auf www.WebFritzi.de.vu
FROM: doofie (192.255.2.88); TO: WebFritzi (212.128.130.6)
hi, i'm a signature virus. copy me into your signature to help me spread.
WebFritzi
Mitglied
Benutzerprofil
Anmeldungsdatum: 23.09.2001
Beiträge: 9879
WebFritzi Mitglied
20:58:00 05.09.2002 Titel:
Zitieren
Nicht Text neu setzen, sondern Text anhängen (wie im allerersten Posting):
C/C++ Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
void TextSend(AnsiString wintext, AnsiString text)
{
HWND hwndPrev = GetForegroundWindow();
HWND hwnd = FindWindow(0, wintext.c_str());
DWORD idAttach = GetCurrentThreadId();
DWORD idAttachTo = GetWindowThreadProcessId(hwnd, NULL);
SetForegroundWindow(hwnd);
if ( AttachThreadInput(idAttach, idAttachTo, TRUE) == FALSE )
ShowMessage("ERROR: AttachThreadInput\(\) ");
HWND hwndFocus = GetFocus();
if (hwndFocus)
{
int length = (int )SendMessage(hwndFocus, WM_GETTEXTLENGTH, 0, 0);
length++;
char * prevText = new char [length + text.Length()];
SendMessage(hwndFocus, WM_GETTEXT, (WPARAM)(length), (LPARAM)prevText);
strcat(prevText, text.c_str());
if ( SendMessage(hwndFocus, WM_SETTEXT, 0, (LPARAM)prevText) == FALSE )
ShowMessage("ERROR: WM_SETTEXT ");
delete [] prevText;
}
if ( AttachThreadInput(idAttach, idAttachTo, FALSE) == FALSE )
ShowMessage("ERROR: AttachThreadInput\(\) ");
SetForegroundWindow(hwndPrev);
}
C/C++ Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
void TextSend(AnsiString wintext, AnsiString text)
{
HWND hwndPrev = GetForegroundWindow();
HWND hwnd = FindWindow(0, wintext.c_str());
DWORD idAttach = GetCurrentThreadId();
DWORD idAttachTo = GetWindowThreadProcessId(hwnd, NULL);
SetForegroundWindow(hwnd);
if ( AttachThreadInput(idAttach, idAttachTo, TRUE) == FALSE )
ShowMessage("ERROR: AttachThreadInput\(\) ");
HWND hwndFocus = GetFocus();
if (hwndFocus)
{
int length = (int )SendMessage(hwndFocus, WM_GETTEXTLENGTH, 0, 0);
length++;
char * prevText = new char [length + text.Length()];
SendMessage(hwndFocus, WM_GETTEXT, (WPARAM)(length), (LPARAM)prevText);
strcat(prevText, text.c_str());
if ( SendMessage(hwndFocus, WM_SETTEXT, 0, (LPARAM)prevText) == FALSE )
ShowMessage("ERROR: WM_SETTEXT ");
delete [] prevText;
}
if ( AttachThreadInput(idAttach, idAttachTo, FALSE) == FALSE )
ShowMessage("ERROR: AttachThreadInput\(\) ");
SetForegroundWindow(hwndPrev);
}
C/C++ Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
void TextSend(AnsiString wintext, AnsiString text)
{
HWND hwndPrev = GetForegroundWindow();
HWND hwnd = FindWindow(0, wintext.c_str());
DWORD idAttach = GetCurrentThreadId();
DWORD idAttachTo = GetWindowThreadProcessId(hwnd, NULL);
SetForegroundWindow(hwnd);
if ( AttachThreadInput(idAttach, idAttachTo, TRUE) == FALSE )
ShowMessage("ERROR: AttachThreadInput\(\) ");
HWND hwndFocus = GetFocus();
if (hwndFocus)
{
int length = (int )SendMessage(hwndFocus, WM_GETTEXTLENGTH, 0, 0);
length++;
char * prevText = new char [length + text.Length()];
SendMessage(hwndFocus, WM_GETTEXT, (WPARAM)(length), (LPARAM)prevText);
strcat(prevText, text.c_str());
if ( SendMessage(hwndFocus, WM_SETTEXT, 0, (LPARAM)prevText) == FALSE )
ShowMessage("ERROR: WM_SETTEXT ");
delete [] prevText;
}
if ( AttachThreadInput(idAttach, idAttachTo, FALSE) == FALSE )
ShowMessage("ERROR: AttachThreadInput\(\) ");
SetForegroundWindow(hwndPrev);
}
[ Dieser Beitrag wurde am 05.09.2002 um 21:07 Uhr von WebFritzi editiert. ]
_________________ Riskiere doch mal einen Blick auf www.WebFritzi.de.vu
FROM: doofie (192.255.2.88); TO: WebFritzi (212.128.130.6)
hi, i'm a signature virus. copy me into your signature to help me spread.
Jansen
Moderator
Benutzerprofil
Anmeldungsdatum: 30.04.2001
Beiträge: 14520
Jansen Moderator
21:29:00 05.09.2002 Titel:
Zitieren
WebFritzi:
Funktionieren deine Methoden auch mit Konsolen-Fenstern (hab grad keinen Windows-BCB zur Hand)? Mit WM_SETTEXT wohl eher nicht, oder?
Und ja, auch dieser Thread kommt nach einer kurzen Reifezeit in die FAQ.
_________________ Jansen (Mod nur im BCB-Forum)
WebFritzi
Mitglied
Benutzerprofil
Anmeldungsdatum: 23.09.2001
Beiträge: 9879
WebFritzi Mitglied
21:34:00 05.09.2002 Titel:
Zitieren
Oder mit Hilfe des Clipboards:
C/C++ Code: 1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 5 6 7 8 9 10 11 12
void SendText(AnsiString wintext, AnsiString text)
{
HWND hwndPrev = GetForegroundWindow();
HWND hwnd = FindWindow(0, wintext.c_str());
Clipboard()->AsText = text;
SetForegroundWindow(hwnd);
keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(VK_INSERT, 0, 0, 0);
keybd_event(VK_INSERT, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
SetForegroundWindow(hwndPrev);
}
C/C++ Code: 1 2 3 4 5 6 7 8 9 10 11 12
void SendText(AnsiString wintext, AnsiString text)
{
HWND hwndPrev = GetForegroundWindow();
HWND hwnd = FindWindow(0, wintext.c_str());
Clipboard()->AsText = text;
SetForegroundWindow(hwnd);
keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(VK_INSERT, 0, 0, 0);
keybd_event(VK_INSERT, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
SetForegroundWindow(hwndPrev);
}
C/C++ Code: 1 2 3 4 5 6 7 8 9 10 11 12
void SendText(AnsiString wintext, AnsiString text)
{
HWND hwndPrev = GetForegroundWindow();
HWND hwnd = FindWindow(0, wintext.c_str());
Clipboard()->AsText = text;
SetForegroundWindow(hwnd);
keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(VK_INSERT, 0, 0, 0);
keybd_event(VK_INSERT, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
SetForegroundWindow(hwndPrev);
}
Finde ich bisher am besten.
_________________ Riskiere doch mal einen Blick auf www.WebFritzi.de.vu
FROM: doofie (192.255.2.88); TO: WebFritzi (212.128.130.6)
hi, i'm a signature virus. copy me into your signature to help me spread.
Jansen
Moderator
Benutzerprofil
Anmeldungsdatum: 30.04.2001
Beiträge: 14520
Jansen Moderator
22:00:00 05.09.2002 Titel:
Zitieren
Musst du nur noch den alten Clipboard-Inhalt zwischenspeichern, sofern vorhanden. Ich würde es ganz schön zum Kotzen finden, wenn mir ein Programm den ungefragt überschreibt.
_________________ Jansen (Mod nur im BCB-Forum)
WebFritzi
Mitglied
Benutzerprofil
Anmeldungsdatum: 23.09.2001
Beiträge: 9879
WebFritzi Mitglied
22:17:00 05.09.2002 Titel:
Zitieren
Zur Eingabeaufforderung: Hab jetzt alle 4 Funktionen getestet. Keine von allen funzt da.
Zum Clipboard: Im Allgemeinen hast du recht. Aber ich denke da gerade an ein Proggi, das ich mal geschrieben hatte. Das war eine virtuelle deutsche Tastatur, bestehend aus Buttons und einem Edit-Feld. Wird ein Button gedrückt, dann erscheint die entsprechende Operation im Edit-Feld. Mit diesen Methoden hier kann ich jetzt auf das Edit-Feld verzichten. Ein Dankeschön an dieser Stelle an Hellmaster, der mich auf diesen Gedanken gebracht hat. Nunja, es müssten also andauernd Buchstaben/Zeichen an das Eingabefenster geschickt werden. Schwierig ist das mit Formularen im IE (so wie das, in das ich gerade schreibe). Das sind nämlich keine Fenster. Man muss also Hellmasters oder meine Clipboard-Funktion benutzen. Da ich Hellmasters nicht so ganz traue (er verzeihe es mir ), würde ich meine nehmen. Und da wäre es doch ziemlich blöde, immer wieder den alten Clipboard-Inhalt nach dem Senden eines Buchstabens in das Clipboard einzufügen. In diesem Falle sollte man den User vielleicht benachrichtigen, dass jegliche Clipboard-Daten verloren gehen.
_________________ Riskiere doch mal einen Blick auf www.WebFritzi.de.vu
FROM: doofie (192.255.2.88); TO: WebFritzi (212.128.130.6)
hi, i'm a signature virus. copy me into your signature to help me spread.
Hellmaster1024
Unregistrierter
Hellmaster1024 Unregistrierter
16:07:00 06.09.2002 Titel:
Zitieren
es sei dir verziehen das du meiner funktion nicht traust ...
ich abe sie aber getestet .. sie funktioniert einewandfrei ...
ich habe ein programm zum archivieren von cd´s geschrieben .. und da ich für meien filme covers drucken wollte habe ich mit dieser funktion die daten an den Nero Covereditor gesendet .... ich habe es mit 400 filmen getestet ... ohne einen einzigen fehler .... das programm ist mit der TAB taste von feld zu feld gesprungen und hat die felder mit meiner funktion ausgefüllt ... alles ohne probleme oder fehler.... also 400 fach getestet!!!
mfg
Hellmaster1024
WebFritzi
Mitglied
Benutzerprofil
Anmeldungsdatum: 23.09.2001
Beiträge: 9879
WebFritzi Mitglied
17:34:00 06.09.2002 Titel:
Zitieren
OK, ich glaub dir.
_________________ Riskiere doch mal einen Blick auf www.WebFritzi.de.vu
FROM: doofie (192.255.2.88); TO: WebFritzi (212.128.130.6)
hi, i'm a signature virus. copy me into your signature to help me spread.
e=mc²
Mitglied
Benutzerprofil
Anmeldungsdatum: 11.10.2001
Beiträge: 160
e=mc² Mitglied
15:26:00 09.09.2002 Titel:
Zitieren
Ja und wie kann ich nun Zeichen an die MS-DOS-Eingabeaufforderung senden?
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können keine Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum nicht antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.