как отправить сигнал от одной программы до другого?

Вы можете просто установить значение необходимого textBox из первой формы, как показано ниже, но прежде чем убедиться, что вы установили этот textBox как внутренний, чтобы вы могли получить к нему доступ из первой формы (в Form.Designer. cs):

internal System.Windows.Forms.TextBox textBox1;

и

private void ButtonA_Click(object sender, EventArgs e)
{
       Form2 numb = new form2();
       numb.FormClosed += new FormClosedEventHandler(numb_FormClosed);
       numb.textbox1.Text = "400";
       numb.textbox2.Text = "0.4";
       this.Hide();
       CalcForm.Show();
}

Другой подход заключается в определении параметризованного конструктора для Form2 и установке значения TextBox в этом конструкторе, как показано ниже:

public Form2(string a,string b)
{
    textBox1.Text = a;
    textBox2.Text = b;
}

и

private void ButtonA_Click(object sender, EventArgs e)
{
       Form2 numb = new form2("aaaa","bbbb");
       numb.FormClosed += new FormClosedEventHandler(numb_FormClosed);
       this.Hide();
       CalcForm.Show();
}
6
задан Chaithra 12 March 2009 в 09:32
поделиться

4 ответа

Сигнал в Linux может быть, отправляют, использование уничтожают системный вызов, просто проверяют эту ссылку на документацию системного вызова уничтожения и примера. Вы видите, что человек-2 уничтожает также. и не желательно использовать использование SIGINT SIGUSR1 или SIGUSR2

5
ответ дан 8 December 2019 в 18:41
поделиться
#include <sys/types.h>
#include <signal.h>
int kill(pid_t pid, int sig);
11
ответ дан 8 December 2019 в 18:41
поделиться

Обратите внимание, что при помощи sigqueue () системный вызов, можно передать дополнительную часть данных наряду с сигналом. Вот является краткая кавычка от "человека 2 sigqueue":

Аргумент значения используется для определения сопроводительного объекта данных (или целое число или значение указателя), чтобы быть отправленным с сигналом, и имеет следующий тип:

     union sigval {
         int   sival_int;
         void *sival_ptr;
     };

Это - очень удобный способ передать маленький бит информации между 2 процессами. Я соглашаюсь с пользователем выше - используют SIGUSR1 или SIGUSR2 и хороший sigval, и можно передать то, что Вы хотели бы.

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

1
ответ дан 8 December 2019 в 18:41
поделиться
system("kill -2 `pidof <app_name_here>` ");
-4
ответ дан 8 December 2019 в 18:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: