C Toolbox’ına Mousehook1 Ekleme
Giriş
Mousehook1, C programlama dilinde fare olaylarını yakalamak için kullanılan bir kütüphanedir. Fare hareketleri, tıklamaları ve tekerlek olayları gibi olayları yakalamaya olanak tanır. Bu makale, C Toolbox’ına Mousehook1 kütüphanesini nasıl ekleyeceğinizi adım adım açıklayacaktır.
Adım 1: Mousehook1 Kütüphanesini İndirin
Mousehook1 kütüphanesini resmi web sitesinden indirin: https://github.com/Codeusa/MouseHook1
Adım 2: Kütüphaneyi Çıkarın
İndirilen ZIP dosyasını çıkarın. Bu, “MouseHook1” adında bir klasör oluşturacaktır.
Adım 3: Kütüphane Dosyalarını Kopyalayın
“MouseHook1” klasöründeki aşağıdaki dosyaları C Toolbox’ınızın “Lib” klasörüne kopyalayın:
- MouseHook1.h
- MouseHook1.lib
Adım 4: Projenize Kütüphaneyi Ekleyin
C Toolbox’ınızda yeni bir proje oluşturun. Proje ayarlarına gidin ve “Bağlantılar” sekmesine tıklayın. “Bağlantı Ayarları” bölümünde, “Ek Bağlantılar” kutusuna “MouseHook1.lib” dosyasının yolunu ekleyin.
Adım 5: Kütüphane Başlığını Dahil Edin
Projenizin kaynak dosyasına aşağıdaki satırı ekleyerek Mousehook1 başlığını dahil edin:
“`c
include
“`
Adım 6: Fare Olaylarını Yakalayın
Fare olaylarını yakalamak için aşağıdaki işlevleri kullanabilirsiniz:
- SetWindowsHookEx(): Fare olaylarını yakalamak için bir kanca ayarlar.
- UnhookWindowsHookEx(): Fare olaylarını yakalayan kancayı kaldırır.
- CallNextHookEx(): Olayı bir sonraki kancaya iletir.
Örnek Kod
Aşağıdaki örnek kod, fare hareketlerini yakalar ve konsola yazdırır:
“`c
include
include
HHOOK hHook;
LRESULT CALLBACK MouseHookProc(int nCode, WPARAM wParam, LPARAM lParam) {
if (nCode == HC_ACTION) {
PMOUSEHOOKSTRUCT p = (PMOUSEHOOKSTRUCT)lParam;
printf(“Fare hareket etti: (%d, %d)\n”, p->pt.x, p->pt.y);
}
return CallNextHookEx(hHook, nCode, wParam, lParam);
}
int main() {
hHook = SetWindowsHookEx(WH_MOUSE_LL, MouseHookProc, NULL, 0);
if (hHook == NULL) {
printf(“Kanca ayarlanamadı.\n”);
return 1;
}
MSG msg;
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
UnhookWindowsHookEx(hHook);
return 0;
}
“`
Faydalı Kaynaklar