Ruchy muszy oraz kliknięcie przycisku poza oknem C#

0

Siema!
Czego mam szukać żeby wyłapać ruch myszki, klikniecie na nią oraz klikniecie jakiegoś przycisku na klawiaturze gdy program jest zminimalizowany?
Dzięki "from the mountains":P
Kropek99

0
Kropek99 napisał(a):

Czego mam szukać żeby wyłapać ruch myszki, klikniecie na nią oraz klikniecie jakiegoś przycisku na klawiaturze gdy program jest zminimalizowany?

SetWindowsHookEx()

0

Dzięki za odpowiedzi
Zasysam źródła ze strony
http://www.codeproject.com/Articles/5038/Using-Hooks-from-C
i gdzie je mam umieścić w properties nic to nie daje. Proszę pomoc
Pozdrawiam

0

Ponownie ja już udało się zrobić Hook'a na klawiaturę, teraz staram się zrobić na myszkę
Mam taką oto klasę pożyczoną z internetu

public void Start(bool InstallMouseHook, bool InstallKeyboardHook)
        {
            // install Mouse hook only if it is not installed and must be installed
            if (hMouseHook == 0 && InstallMouseHook)
            {
                // Create an instance of HookProc.
                MouseHookProcedure = new HookProc(MouseHookProc);
                //install hook
                hMouseHook = SetWindowsHookEx(
                    WH_MOUSE_LL,
                    MouseHookProcedure,
                    Marshal.GetHINSTANCE(
                        Assembly.GetExecutingAssembly().GetModules()[0]),
                    0);
                //If SetWindowsHookEx fails.
                if (hMouseHook == 0)
                {
                    //Returns the error code returned by the last unmanaged function called using platform invoke that has the DllImportAttribute.SetLastError flag set. 
                    int errorCode = Marshal.GetLastWin32Error();
                    //do cleanup
                    Stop(true, false, false);
                    //Initializes and throws a new instance of the Win32Exception class with the specified error. 
                    //MIEJSCE BŁEDU
                    throw new Win32Exception(errorCode);
                }
            }

            // install Keyboard hook only if it is not installed and must be installed
            if (hKeyboardHook == 0 && InstallKeyboardHook)
            {
                // Create an instance of HookProc.
                KeyboardHookProcedure = new HookProc(KeyboardHookProc);
                //install hook
                hKeyboardHook = SetWindowsHookEx(
                    WH_KEYBOARD_LL,
                    KeyboardHookProcedure,
                    Marshal.GetHINSTANCE(
                    Assembly.GetExecutingAssembly().GetModules()[0]),
                    0);
                //If SetWindowsHookEx fails.
                if (hKeyboardHook == 0)
                {
                    //Returns the error code returned by the last unmanaged function called using platform invoke that has the DllImportAttribute.SetLastError flag set. 
                    int errorCode = Marshal.GetLastWin32Error();
                    //do cleanup
                    Stop(false, true, false);
                    //Initializes and throws a new instance of the Win32Exception class with the specified error. 
                    //Miejsce błędu
                    throw new Win32Exception(errorCode);
                }
            }
        }
 

W tych miejscach dostaję błąd:
Nie można odnaleźć określonego modułu

0

Mało widoczne w komentarzu ale chodzi o linijki

throw new Win32Exception(errorCode); 

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