PDA

View Full Version : ذخیره کلید های فشرده شده



jaykob
سه شنبه 07 دی 1389, 22:07 عصر
سلام

به چه شکل می شه کلید های فشرده توسط کیبورد رو در یک فایل ذخیره کرد ؟

georgiaro
سه شنبه 07 دی 1389, 23:50 عصر
توی رویداد KeyPress فرمتون از e استفاده کنید و توی یک فایل بنویسیدش. مثال

using System.IO;


private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
FileStream f = new FileStream("a.txt", FileMode.Append);
StreamWriter sw = new StreamWriter(f);
sw.Write(e.KeyChar);
}


البته اینو هم بگم که این روش فقط زمانی کار میکنه که فرم فعال (اکتیو) باشه.
خود من هم دنبال راهی واسه گرفتن کلید در زمان غیر فعال بودن فرم هستم، مثل کاری که Keylogger ها انجام میدن (البته من نمیخوام Keylogger بنویسم).

موفق باشی

group45
چهارشنبه 08 دی 1389, 07:20 صبح
سلام
به لینک زیر یه سر بزن
http://barnamenevis.org/showthread.php?252621-%D8%AA%D8%B4%D8%AE%D9%8A%D8%B5-%D8%B2%D8%AF%D9%87-%D8%B4%D8%AF%D9%86-%D9%83%D9%84%D9%8A%D8%AF

jaykob
جمعه 10 دی 1389, 22:38 عصر
توی رویداد KeyPress فرمتون از e استفاده کنید و توی یک فایل بنویسیدش. مثال

using System.IO;


private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
FileStream f = new FileStream("a.txt", FileMode.Append);
StreamWriter sw = new StreamWriter(f);
sw.Write(e.KeyChar);
}


البته اینو هم بگم که این روش فقط زمانی کار میکنه که فرم فعال (اکتیو) باشه.
خود من هم دنبال راهی واسه گرفتن کلید در زمان غیر فعال بودن فرم هستم، مثل کاری که Keylogger ها انجام میدن (البته من نمیخوام Keylogger بنویسم).

موفق باشی

سلام

من زمانی از این کد به همین شکل که گفتید استفاده می کنم error می گیرم این پیغام رو می ده

The process cannot access the file 'C:\Users\Jaykob\Desktop\key\program\program\bin\D ebug\a.txt' because it is being used by another process.

georgiaro
جمعه 10 دی 1389, 23:11 عصر
حق با شماست البته مشکل کد قبل با f.Close() حل میشه ولی بازم ذخیره نمیکنه.
از این استفاده کن 100% جواب میده.


private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
StreamWriter w = new StreamWriter("a.txt", true);
w.Write(e.KeyChar);
w.Close();
}