Как отправить текст в блокнот в C # / Win32?

Выполните два класса и вызовите startTask() в main.

public void startTask()
{
    // Create a Runnable
    Runnable task = new Runnable() {
        public void run() {
            while (true) {
                runTask();
            }
        }
    };

    // Run the task in a background thread
    Thread backgroundThread = new Thread(task);
    // Terminate the running thread if the application exits
    backgroundThread.setDaemon(true);
    // Start the thread
    backgroundThread.start();
}

public void runTask()
{
    try {
        // do something...         
        Thread.sleep(1000);

    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}
30
задан lolcat 7 February 2009 в 07:50
поделиться

2 ответа

    [DllImport("user32.dll", EntryPoint = "FindWindowEx")]
    public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
    [DllImport("User32.dll")]
    public static extern int SendMessage(IntPtr hWnd, int uMsg, int wParam, string lParam);
    private void button1_Click(object sender, EventArgs e)
    {
        Process [] notepads=Process.GetProcessesByName("notepad");
        if(notepads.Length==0)return;            
        if (notepads[0] != null)
        {
            IntPtr child= FindWindowEx(notepads[0].MainWindowHandle, new IntPtr(0), "Edit", null);
            SendMessage(child, 0x000C, 0, textBox1.Text);
        }
    }

WM_SETTEXT=0x000c

45
ответ дан ebattulga 7 February 2009 в 17:50
поделиться
  • 1
    окраска края является лучшим решением, чем не показ его. трудно для нахождения, поскольку matplotlib документация упоминает неправильный " markeredgecolor" вместо корректного " edgecolor" – user989762 15 August 2013 в 21:27

Сначала необходимо найти дочернее окно, где текст введен. Можно сделать это путем нахождения дочернего окна с классом окна "Редактирование". После того как у Вас есть тот дескриптор окна, используйте WM_GETTEXT для получения текста, который уже введен, затем измените тот текст (например, добавьте собственное), затем используйте WM_SETTEXT для передачи измененного текста обратно.

6
ответ дан Stefan 7 February 2009 в 17:50
поделиться
  • 1
    При вызове plot.scatter от панды DataFrame, ни markeredgecolor, ни edgecolor кажутся допустимыми параметрами, по состоянию на декабрь 2017. – bli 9 December 2017 в 01:15
Другие вопросы по тегам:

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