المشاركات : 71
المواضيع 38
:
: 0
الإنتساب : Aug 2010
السلام عليكم
وجدت كود لبرنامج keylogger لكن لم أفهم سطر من الكود
الكود على النحو التالي:
كود :
procedure TForm1.Timer1Timer(Sender: TObject);
var
keyloop, KeyResult : Integer;
begin
keyloop := 0;
repeat
KeyResult := GetAsyncKeyState(keyloop);
if KeyResult = -32767 then
begin
case keyloop of
8:Memo1.Text:=.Memo1.Text+ ' [BACKSPACE] ';
.
.
.
etc
السطر الذي لم أفهمه هو
if KeyResult = -32767 then
مادلالة هذا الرقم؟
المشاركات : 2,293
المواضيع 157
:
: 81
الإنتساب : Dec 2008
وعليكم السلام ورحمة الله
تابع GetAsyncKeyState هو API Windows يعيد النتيجة:
كود :
Return Values
If the function succeeds, the return value specifies whether the key was pressed since the last call to GetAsyncKeyState, and whether the key is currently up or down. If the most significant bit is set, the key is down, and if the least significant bit is set, the key was pressed after the previous call to GetAsyncKeyState. The return value is zero if a window in another thread or process currently has the keyboard focus.
القيمة التي شاهدتها هي أدنى قيمة لنوع البيانات SmallInt
كود :
Smallint -32768..32767
كان من الأحسن كتابتها بشكل:
PHP كود :
if KeyResult = Low(SmallInt) then
بالتوفيق.
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
المشاركات : 71
المواضيع 38
:
: 0
الإنتساب : Aug 2010
شكرا أخي kachwahed على الرد
لكن في الحقيقة لم افهم جيدا إذا كان بإمكانك ان توضع
ما هو قائدة إضافة الشرط
if KeyResult = -32767 then
المشاركات : 201
المواضيع 60
:
: 0
الإنتساب : Oct 2009
السلام عليكم ورحمة الله وبركاته
إقتباس :ما هو قائدة إضافة الشرط
if KeyResult = -32767 then
هي معرفة حالة المفتاح هل هو مضغوط او لا (if Key is down or no) .
نعطي مثال عملى :
[COLOR="Red"]نريد دراسة حالة قفل الايسر للماوس هل ثم الضغط عليه ام لا (button left of mouse is down or no) .
نستخدم دالة دراسة حالة المفاتيح GetAsyncKeyState ونمرر لها قيمة المفتاح الايسر للماوس هكدا :[/COLOR]
PHP كود :
GetAsyncKeyState(VK_LBUTTON)
هاته الدالة تعيد لنا 0 إذكان المفتاح الايسر للماوس غير مضغوط
و تعيد لنا القيمة -32767 إدا كان مضغوط .
فإدا وضعنا هدا الكود :
PHP كود :
KeyResult := GetAsyncKeyState(VK_LBUTTON);
if KeyResult = -32767 then
كاننا نقول هل المفتاح الايسر للماوس مضغوط او لا .
وسلام عليكم ورحمة الله وبركاته
كن متواضعا ولا تكن متكبرا // الصبر + المثابرة = النجاح
المشاركات : 2,293
المواضيع 157
:
: 81
الإنتساب : Dec 2008
الأفضل المقارنة إلى "أصغر من صفر":
كود :
http://support.microsoft.com/kb/277916/en
أي قيمة تحت الصفر تعني أن المفتاح مضغوط أيضا
ليست بالضرورة -32767 فقط.
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
المشاركات : 71
المواضيع 38
:
: 0
الإنتساب : Aug 2010