2010-08-11 17 views
5

मैं एक हुक बनाना चाहता हूं जो सी # में "घटना" (और agly GetAsyncKeyState के साथ नहीं) की तरह कार्य करेगा (मैं इसे सी ++ में करना चाहता हूं)। इसलिए, मैंने इस सामग्री के साथ एक डीएल बनाया है: http://pastebin.com/yEHJKSS7निम्न स्तर हूकर

अच्छी तरह से, यह हैंडलर फ़ंक्शन पर कॉल नहीं करता है। मुझे लगता है कि यह है - SetWindowsHookEx रिटर्न 255:

void KeysHandler(int vkKey, int flags) 
{ 
    if(vkKey == VK_ESCAPE) 
     exit(0); 
    File << vkKey << endl << flags << endl; 
} 

int main 
{ 
    SetHandler(HandlerFunc); 
    //sleep here 
} 

संपादित करें: अब मैंने देखा है कि कैसे मैं "डिबग" dll में, यहाँ निष्कर्ष हैं कर सकते हैं

वैसे, यहाँ मैं कैसे dll इस्तेमाल किया है स्टर्गे क्योंकि यह वास्तव में चार के लायक है - मैं प्रलेखन में जांचने जा रहा हूं इसका क्या अर्थ है।

संपादित करें: 255 मान्य वापसी मूल्य है: ओ केवल न्यूल (0) त्रुटि है।

मुझे नहीं पता कि समस्या क्या है।

संपादित करें: ठीक है, अब मेरे दोस्त ने मुझे एक हूकर लाया जो उसके लिए काम करता था। और अनुमान लगाओ ... यह काम नहीं किया।

मैंने फैसला किया कि यह बहुत अजीब है इसलिए मैंने GetLastError किया और 127 मिल गया - प्रक्रिया नहीं मिली है। मैं किसी भी कारण से मेरी प्रक्रिया नहीं मिलेगा नहीं दिख रहा है, Help please :(

+11

पेटी निम्न स्तर के दिन के हुकर? –

+37

+1 शीर्षक के लिए +1 जिसने मुझे यह प्रश्न पढ़ा :) :) –

+12

शीर्षक ने मुझे चिंतित किया, वास्तविक प्रश्न ने मुझे निराश किया। –

उत्तर

1

आपका मुख्य वास्तव में केवल बुला नींद के बाद SetHandler है?

आप क्रम में एक MessageLoop जरूरत है किसी भी घटनाओं होने के लिए कहा जाता है।

+0

अब, मैं कंसोल विंडो पर हुकर आज़माता हूं। SetWindowHookEX में कीबोर्ड का "संदेश लूप" होना चाहिए, और प्रक्रिया भी डीएल में है। @ फिलिप और (|) फ्रैंक: मुझे वाकई खेद है कि मेरी मातृभाषा अंग्रेजी नहीं है। मैं अपनी पूरी कोशिश करूँगा। – Ohad

+0

ठीक है, मुझे एक दिशा मिली (मैंने संपादित किया, वाई प्रश्न), लेकिन मुझे नहीं पता कि वास्तव में क्या होता है, क्योंकि मेरे दोस्त ने मुझे बताया कि यह उसके लिए काम करता है। – Ohad

संबंधित मुद्दे