Я пытаюсь написать в текстовое поле и отображать сообщения в блокноте с помощью HwndSource C#

Я не очень понимаю, как использовать HwndSource, но насколько я понимаю, вы можете "регистрировать" любые сообщения, которые вы вводите в текстовое поле, в блокнот. Это где я с моим кодом. Любая помощь с благодарностью. Надеюсь, я это выясню в ближайшие 6 часов...

public MainWindow()
        {
            InitializeComponent();  
            notePadFound.Text = "Unable to find NotePad";
        }


        IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
        {
            // Handle messages...

            return IntPtr.Zero;
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Process[] processName = Process.GetProcessesByName("notepad");
            HwndSource source = PresentationSource.FromVisual(textBox) as HwndSource;
            base.OnSourceInitialized(e);

            source.AddHook(WndProc);


            if (processName.Length == 0)
            {

                OpenNotePad(processName);
            }
            else
            {
                textBox.Focus();
                notePadFound.Text = "Notepad already open. Start Typing!";
            }
        }

        private void OpenNotePad(Process[] processName)
        {
            notePadFound.Text = "Notepad Located. Start Typing!";
            Process.Start("notepad.exe");
            Thread.Sleep(50);
            IntPtr myWindowHandler = Process.GetCurrentProcess().MainWindowHandle;
            SetForegroundWindow(myWindowHandler);
            textBox.Focus();

            if (processName == null)
            {
                notePadFound.Text = "Unable to find Notepad.";
            }
        }

0 ответов

Другие вопросы по тегам