fatamos23 Ответов: 1

Приложение Wpf для записи движения мыши


Привет вам всем. Поэтому я сделал приложение, которое успешно записывает мое движение мыши в файл журнала. Теперь я хотел бы немного упорядочить свое приложение, добавив раздел входа в систему, чтобы записи позже было легче найти. Я сделал этот в качестве первой вкладки моего приложения WPF. После нажатия кнопки "Сохранить" я хотел бы сделать так, чтобы пользователь автоматически перемещался в второй вкладка, которая предоставляет вам кнопку записи, и Ваше имя пользователя, которое вы asigned. Моя запись вкладка-это место, где все записи отображаются и перечислены по имени пользователя. Позже я сделаю своего рода график, чтобы увидеть, какая секция наиболее активна, но главное, что я хочу добиться успеха: Автоматический переход на другую вкладку после входа в систему, начать запись в качестве назначенного имени пользователя, все записи сохраняются и перечислены в разделе "Мои записи".

Что я уже пробовал:

Мне удалось записать движение мыши:
private static void recordData()
        {
            Point current_pos, prev_pos;
            prev_pos.X = 0;
            prev_pos.Y = 0;

            do
            {
                Thread.Sleep(500);
                if (GetCursorPos(out current_pos))
                {
                    if ((current_pos.X != prev_pos.X) || (current_pos.Y != prev_pos.Y))
                    {
                        Console.WriteLine("({0},{1})", current_pos.X, current_pos.Y);
                        coords.Add(current_pos);
                    }
                    prev_pos.X = current_pos.X;
                    prev_pos.Y = current_pos.Y;
                }

            } while (record);
        }

Запись и Стоп кнопка теперь работает отдельно:
private void recordButton_click(object sender, EventArgs e)
        {
            t = new Thread(new ThreadStart(recordData));
            record = true;
            if (!t.IsAlive)
            {
                t.Start();
            }
            recordButton.Enabled = false;
            button2.Enabled = true;
        }

private void stopButton_Click(object sender, EventArgs e)
        {
            record = false;
            if (t.IsAlive)
            {
                t.Join();
            }

            string datum = DateTime.Now.ToString("MM-dd-yyyy_H_mm");
            string appPath = Path.GetDirectoryName(Application.ExecutablePath);

            string path = appPath + @"\logdata\" + datum + ".txt";
            Console.WriteLine(path);
            Directory.CreateDirectory(appPath + @"\logdata\");
            using (System.IO.StreamWriter file =
                new System.IO.StreamWriter(path)) 
            {
                foreach (Point line in coords)
                {
                    file.WriteLine(line.ToString());
                }
            }
            recordButton.Enabled = true;
            button2.Enabled = false;
        }

Chris Copeland

В чем, по-видимому, заключается настоящая проблема? Вы объяснили, чего вы достигли, и вы объяснили, когда должна быть следующая часть процесса, но вы на самом деле не описали проблему или ошибку, которые могли бы нуждаться в некоторой помощи.

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

Chris Copeland

На обратной стороне моего предыдущего комментария, возможно, звучащего немного невежественно или тупо, вы заглядывали в WPF TabControl- Это должно дать вам хорошую отправную точку.

fatamos23

Извините, если я плохо выразил свою проблему. То, что я хотел бы сделать и, конечно же, не знаю, что именно искать, - это проблема с заблокированными вкладками в моем WPF. Я хотел бы иметь возможность перейти на другую вкладку только после того, как я внесу свое имя в раздел входа в систему. Тот же принцип, когда вы сохраняете демо-версию в видеоиграх (я думаю). А после записи вы сможете найти эту демонстрационную запись и посмотреть график. Объяснился ли я теперь немного лучше? Вот весь мой проект вы можете точно видеть над чем я работаю https://easyupload.io/nugd7j

1 Ответов

Рейтинг:
2

Gerry Schmitz

Какое отношение "логин" имеет к "облегчению поиска записей"?

Переключение вкладок запускает загруженные и выгруженные события; ваше решение имеет побочные эффекты и является "нетрадиционным".

Используйте шаблон "мастер" или включите панель управления при успешном выполнении.