我刚刚从互联网上看到了这个片段,但它对我不起作用。假设打开一个新的记事本应用程序并在其中添加“asdf”。
代码有什么错误吗?
[DllImport("User32.dll")]
public static extern int SendMessage(IntPtr hWnd, int uMsg, int wParam, [MarshalAs(UnmanagedType.LPStr)] string lParam);
void Test()
{
const int WM_SETTEXT = 0x000C;
ProcessStartInfo startInfo = new ProcessStartInfo("notepad.exe");
startInfo.UseShellExecute = false;
Process notepad = System.Diagnostics.Process.Start(startInfo);
SendMessage(notepad.MainWindowHandle, WM_SETTEXT, 0, "asdf");
}