Я хочу создать программное обеспечение, такое как виртуальная клавиатура, у вас есть окно AlwaysTop и использовать это, чтобы поместить некоторые данные в другой процесс/окна. В этом случае я буду записывать все данные в буфер обмена и сравнивать, если эти данные совместимы с шаблоном (A###
- это patern и A123
совместим с patern), если да, приложение будет помещать его в список, и пользователь может вставить его на другой процесс/окна (уже открыт), щелкнув по элементу списка.Как установить фоновое окно/процесс сверху
Мой вопрос о том, как поместить эту информацию на последнем используемом приложении/процессе, я уже начал прототип кода, но указанная строка неверна, в моем коде это текущий процесс и должен быть последним использованным до щелчка по моей форме.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[DllImport("user32.dll")]
static extern IntPtr SetForegroundWindow(IntPtr hWnd);
[DllImport("user32.dll")]
internal static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
[DllImport("User32.dll")]
static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);
private void button2_Click(object sender, EventArgs e)
{
Process currentProcess = Process.GetCurrentProcess(); //this line is wrong
IntPtr hWnd = currentProcess.MainWindowHandle; //this line is wrong
if (hWnd != IntPtr.Zero)
{
SetForegroundWindow(hWnd);
ShowWindow(hWnd, 9);
SendKeys.Send("A123");
}
}
}
}