Node.js - это фреймворк / программа, которая установлена на машине и содержит код, написанный на javascript, и обрабатывает эти коды, запрошенные клиентом, как браузер. Да, каждый браузер содержит свой собственный движок, который обрабатывает javascript.
Просто выньте свой Control.FromHandle и проверьте форму == null.
Играл с этим. Посмотрим, поможет ли это.
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Diagnostics;
namespace ConsoleTestApp
{
class Program
{
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SetForegroundWindow(IntPtr hWnd);
static void Main(string[] args)
{
Process[] processes = Process.GetProcesses();
foreach (var process in processes)
{
Console.WriteLine("Process Name: {0} ", process.ProcessName);
if (process.ProcessName == "WINWORD")
{
IntPtr handle = process.MainWindowHandle;
bool topMost = SetForegroundWindow(handle);
}
}
}
}