[DllImport("user32.dll", SetLastError = true)] static extern IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport("user32.dll", SetLastError = true)] public static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string className, IntPtr windowTitle); [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)] static extern IntPtr SendMessage(HandleRef hWnd, uint Msg, IntPtr wParam, IntPtr lParam); private const int WM_CHAR = 0x0102; public static void SendETCommand(string Command) { string command = Command + '\r'; IntPtr parenthWnd = FindWindow("ET WinConsole", null); if (parenthWnd != IntPtr.Zero) { IntPtr hWnd = FindWindowEx(parenthWnd, IntPtr.Zero, "Edit", IntPtr.Zero); HandleRef hRef = new HandleRef(null, hWnd); IntPtr ptrlParam = new IntPtr(1); for (int i = 0; i < command.Length; i++) SendMessage(hRef, WM_CHAR, new IntPtr(command[i]), ptrlParam); } }