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
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?
0
Więcej szczegółów:
http://blogs.msdn.com/b/toub/archive/2006/05/03/589468.aspx
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);