Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 31.05.2017
Сообщений: 70
1

Отправка текстового сообщения в неактивное окно

10.05.2018, 00:44. Просмотров 702. Ответов 3
Метки нет (Все метки)


Всем привет!
Необходимо отправить сообщение в чат игры, при этом игра Warface свёрнута.
Как сделать так, чтобы сообщение в чат отправлялись даже в свёрнутом положении окна?
Вот код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
 
namespace Спамер
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        // Возьмите дескриптор окна приложения.
 
        [DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
          public static extern IntPtr FindWindow(string lpClassName,
            string lpWindowName);
        //Активировать окно приложения.
        [DllImport("USER32.DLL")]
        public static extern bool SetForegroundWindow(IntPtr hWnd);
 
        // Получить дескриптор приложения Warface. Класс окна
        // и имя окна были получены с помощью инструмента Spy ++.
        IntPtr calculatorHandle = FindWindow("CryEngine", "Warface");
        // Убедитесь, что Warface является запущенным процессом.
 
        private void button1_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true; // Запускам таймер.
        }
 
        private void timer1_Tick(object sender, EventArgs e)
        {
         {  if (calculatorHandle == IntPtr.Zero)
          {
             MessageBox.Show("Warface не запущен");
             return;
            }
            string i = textBox2.Text;
            int i1 = Convert.ToInt32(i);
            timer1.Interval = i1;
            SetForegroundWindow(calculatorHandle);
            SendKeys.Send(textBox1.Text); //Эта строчка пишет то что написано в тест боксе
            SendKeys.Send(textBox3.Text); //Эта строчка пишет то что написано в тест боксе
            SendKeys.Send(textBox4.Text); //Эта строчка пишет то что написано в тест боксе
            SendKeys.Send("{ENTER}"); // Эта строчка нажимает ENTER - тоесть переход на новую строчку.
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            // Теперь кнопка стоп.
            timer1.Enabled = false; //Останавливаем таймер ввода текста.
        }
    }
}
Дело в том, что условие:
C#
1
2
3
4
5
{  if (calculatorHandle == IntPtr.Zero)
          {
             MessageBox.Show("Warface не запущен");
             return;
            }
не выполняется.
Help!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.05.2018, 00:44
Ответы с готовыми решениями:

Отправка нажатия клавиши в неактивное окно
Столкнулся со следующей проблемой. Не получается отправить клавишу в неактивное окно игры....

Отправка нажатий клавиш в неактивное окно - SendMessage
Доброго времени суток, пытаюсь реализовать отправку нажатий клавиш/кликов в окно игры, но возникает...

Отправка текста и имитация кнопки в неактивное окно( по handle )
Всем доброго времени суток, столкнулся с проблемой, мне необходимо отправить нажатие клавиши Enter...

Отправка текстового сообщения в COM порт, на удаленном ПК
всем привет, требуется отправлять сообщение на принтер чеков, который подключен при помощи ком...

3
25 / 23 / 34
Регистрация: 22.11.2012
Сообщений: 183
10.05.2018, 15:49 2
а не че что ты пишешь в тему cpp, а кусок кода представлен на языке с#?
0
1 / 1 / 0
Регистрация: 31.05.2017
Сообщений: 70
10.05.2018, 22:22  [ТС] 3
Я пишу в Visual Studio, я вообще не понимаю отличий C# от C++.
0
Sasha38
11.05.2018, 09:16     Отправка текстового сообщения в неактивное окно
  #4

Не по теме:


Это разные языки и как же их вообще можно перепутать?
Вот так выглядит простейшая программа на C#

C#
1
2
3
4
5
6
7
8
9
10
11
12
using System;
 
namespace MyFirstConsoleApp
{
    class Program
    {
        static void Main()
        {
            Console.WriteLine("Hello World!");
        }
    }
}
И так на C++
C++
1
2
3
4
5
6
7
#include <iostream>
using namespace std;
 
int main() 
{ 
    cout << "Hello, world!" << endl;
}

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2018, 09:16
Привет! Вот еще темы с ответами:

Отправка цифр 1-9 в неактивное окно
procedure TForm1.Button1Click(Sender: TObject); var wnd: HWND; begin wnd :=...

Отправка текстового сообщения на email
Доброго времени суток. Запрограммировал отправление текстового сообщения на пошту вроде все...

Отправка сообщения в окно
Привет ) есть окно с TextBox &lt;Grid&gt; &lt;Grid.RowDefinitions&gt; &lt;RowDefinition...

Отправка текстового сообщения на принтер чеков по COM-порту
Всем доброго времени суток, хотелось бы понять, каким способом можно отправить текстовое сообщение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.