Metody On* pod konsolí – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Metody On* pod konsolí – .NET – Fórum – Programujte.comMetody On* pod konsolí – .NET – Fórum – Programujte.com

 

kukla110
Duch
18. 5. 2008   #1
-
0
-

Dobrý den.

Jsou různé metody, třeba OnKeyDown atd (samozřejmě všechny chtít pod konzolí je blbost), ale třeba uvedenou a podobné na vstup z klávesnice by mohly jít pod konzolí. Zajímalo by mě, jak to udělat, protože ve Windows Application to funguje jen když odvodím třídy od Form a danou metodu přepisuju...ale jak to udělat pod konzolí, kde třídu od Form nemohu odvodit? Nebo se pletu? Jak to tedy udělat? Potřeboval bych to v C#.

Děkuju všechm za případnou pomoc.

Nahlásit jako SPAM
IP: 88.103.71.–
18. 5. 2008   #2
-
0
-

To myslím nejde a popravdě mi není jasné, k čemu by to bylo.

Nahlásit jako SPAM
IP: 81.92.146.–
Dušan Janošík | web: djanosik.cz, @djanosik
kukla110
Duch
18. 5. 2008   #3
-
0
-

To djanosik : Hm škoda. Například by to mohlo být dobré k zaznamenávání stisknutých kláves do nějakého logu...takový malý keylogger, dělat na to okno mi přijde dost zbytečné.

Nahlásit jako SPAM
IP: 88.103.71.–
Sajmi0
Newbie
18. 5. 2008   #4
-
0
-

To kukla11 : No tak keylogger by šel i bez událostí ...



class Program
{
static void Main(string[] args)
{
ConsoleKeyInfo k = new ConsoleKeyInfo();
while((k = Console.ReadKey()) != null)
{
Console.WriteLine(k.KeyChar);
}
}
}

Nahlásit jako SPAM
IP: 88.101.171.–
kukla110
Duch
20. 5. 2008   #5
-
0
-

To Sajmi : No abych pravdu řekl, tak v tvém kódu se 1.- každá stisknutá klávesa vypíše dvakrát; 2.- nepřečte to třeba Enter, F3, 5, atd...Šlo by to tedy nějak udělat s tím, co chci?

Nahlásit jako SPAM
IP: 88.103.71.–
Sajmi0
Newbie
20. 5. 2008   #6
-
0
-

To kukla11 : To byla jen ukázka, že nepotřebuješ On* z WinForms.

ten logger by mohl vypadat takhle:



using System;
using System.Collections.Generic;

namespace Zkouska
{
class Program
{
static void Main(string[] args)
{
List<ConsoleKey> log = new List<ConsoleKey>();
ConsoleKeyInfo keys = new ConsoleKeyInfo();

Console.WriteLine("Zmáčkni klávesu pro zápis do logu, pro ukončení zmáčni klávesu Esc.");

while ((keys = Console.ReadKey(true)).Key != ConsoleKey.Escape)
{
log.Add(keys.Key);
}

foreach (ConsoleKey key in log)
{
// Tady můžeš zapisovat do souboru nebo kam chceš ...
Console.Write(key.ToString() + "-");
}

log.Clear();

Console.Read();
}
}
}


... a dokonce to přečte i F1-F12, Enter a spol

Nahlásit jako SPAM
IP: 88.101.171.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 40 hostů

Podobná vlákna

C / C++ pod Windowsom — založil qdMbp

C++ pod linuxom — založil janik366

Pod úsečkou — založil Marty1989

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý