Ponownie logowanie klawiszy

0

Witam!
Ponownie w sprawie aplikacji logującej zdarzenai klawiatury.

Po pierwsze "hakierem" nie jestem, nie bawi mnie takie coś, aplikacje mam do napisania jako zaliczenie projektu z "Programowania w .NET". Projekty które dostwała grupa miały pokazywać wykorzystanie funkcji systemu windows i wywoływanie ich z systemowych bibliotek.
Niektórzy dostali zarządzanie disk qota czy coś w tym stylu, mi się trafiło logowanie zdarzeń klawiatury.

Po drugie gdybym chciał keyloggera to bym wziął gotowy program, albo lepiej - złożył przelotkę ps2->usb z funkcją logowania. Więc prosiłbym o brak podejrzeń "hakierstwa". Zresztą z moim poziomem wiedzy porządnego keyloggera nie napiszę i tak.

To co mam do tej pory napisane na 3.0 wystarczy, ale nie zadowala mnie ta ocena tak do końca. Dlatego napisałem na forum z prośbą o pomoc, ale jak to na polskich forach bywa - wszyscy Cię zjadą za brak wiedzy/głupie pytania, w ostateczności może ktoś coś pomoże. Tu proszę, temat na start do kosza...

Dlatego proszę jeszcze raz.

Jako zaliczenie mam do napisania niewidoczną aplikację która ma logować zdarzenia z klawiatury i zapisywać do pliku.
Mogę wysłać mój projekt, ale w większości bazuje na http://www.codeproject.com/KB/cs/globalhook.aspx.

Co do komentarzy:

Odnośnie pisania procesu systemu windows robiącego to samo, tzn logującego zdarzenia do pliku, owszem na winXP uruchomiłem to, bez problemu, natomiast z moich informacji procesy w systemie windows 7 nie mają tak prostego dostepu do klawiatury i jej zdarzeń, jesli mylę się prosiłbym o podpowiedzi, ew link do dokumentacji, jakiś kod. Dużo by mi to ułatwiło.

Co do niewidocznej aplikacji:
(Żeby co niektórzy nie czepiali się do pytania) Jak zrobić niewidoczną aplikację która nie ma okna, nie jest w pasku ani w tray'u oraz która nie zamyka się zaraz po uruchomieniu. Ma nasłuchiwać na zdarzenia użytkownika i zapewniać ich obsługę.

Prosiłbym o nie kasowanie tematu oraz nie przenoszenie go z miejsca do kosza.
Z góry dziękuje.

0
Misiu napisał(a)

Co do niewidocznej aplikacji:
(Żeby co niektórzy nie czepiali się do pytania) Jak zrobić niewidoczną aplikację która nie ma okna, nie jest w pasku ani w tray'u oraz która nie zamyka się zaraz po uruchomieniu. Ma nasłuchiwać na zdarzenia użytkownika i zapewniać ich obsługę.

No to wystarczy aby główna klasa programu dziedziczyła po ApplicationContext.
Głupi przykład:

 using System;
using System.Windows.Forms;

namespace AppContextTest
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MainApp());
        }
    }

    class MainApp : ApplicationContext
    {
        Timer tmr;

        public MainApp()
        {
            this.tmr = new Timer();
            this.tmr.Interval = 1000;
            this.tmr.Tick += new EventHandler(tmr_Tick);
            this.tmr.Start();
        }

        void tmr_Tick(object sender, EventArgs e)
        {
            MessageBox.Show("Pif - paf, a w mojej dłoni znowu skręt");
        }
    }
}
0

To już pomoc :)
Dzięki za podpowiedz, na pewno się przyda.
A co do tego procesu.
To pytanie: Czy da się zrobić aby w windowsie 7 mieć dostęp do zdarzeń klawiatury w procesie? Widziałem sterowanie głośnością za pomocą nasłuchu na odpowiedni skrót klawiszowy, ale jak już pisałem działało to tylko na windowsie xp. Jest w ogóle mozliwe takie coś w windowsie 7?

1 użytkowników online, w tym zalogowanych: 0, gości: 1