QJHoly
22.08.2009, 15:12
Мне нужно в окне напечатать определенный текст те мне нужен метод в который посылаешь строчку и она печатается. В моем методе реализованная работа с буфером обмена, но мне нужно чтоб именно кнопка за кнопкой нажималась. Помогите написать метод в котором не используется буфер обмена. Нужно с помощь функции PostMessage так как она работает даже без фокуса на окне что и нужно. Вот кстати метод который работает через буфер обмена.
public static void SendTextToNotepad(string text)
{
try
{
string data = Conversions.ToString(Clipboard.GetData(DataFormats .Text));
Clipboard.SetDataObject(text, true);
if (Operators.ConditionalCompareObjectEqual(Clipboard .GetData(DataFormats.Text), text, false))
{
PostMessage(mem.WindowHandle, 0x100, 13, (int)IntPtr.Zero);
PostMessage(mem.WindowHandle, 0x101, 13, (int)IntPtr.Zero);
Thread.Sleep(50);
PostMessage(mem.WindowHandle, 0x100, 0xa2, (int)IntPtr.Zero);
PostMessage(mem.WindowHandle, 0x100, 0x56, (int)IntPtr.Zero);
Thread.Sleep(200);
PostMessage(mem.WindowHandle, 0x101, 0xa2, (int)IntPtr.Zero);
Thread.Sleep(50);
PostMessage(mem.WindowHandle, 0x100, 8, (int)IntPtr.Zero);
Thread.Sleep(50);
PostMessage(mem.WindowHandle, 0x100, 13, (int)IntPtr.Zero);
PostMessage(mem.WindowHandle, 0x101, 13, (int)IntPtr.Zero);
PostMessage(mem.WindowHandle, 0x101, 0x56, (int)IntPtr.Zero);
PostMessage(mem.WindowHandle, 0x101, 8, (int)IntPtr.Zero);
Clipboard.SetDataObject(data, true);
}
}
catch (Exception exception1)
{
ProjectData.SetProjectError(exception1);
Exception exception = exception1;
ProjectData.ClearProjectError();
}
// return 0;
}
public static void SendTextToNotepad(string text)
{
try
{
string data = Conversions.ToString(Clipboard.GetData(DataFormats .Text));
Clipboard.SetDataObject(text, true);
if (Operators.ConditionalCompareObjectEqual(Clipboard .GetData(DataFormats.Text), text, false))
{
PostMessage(mem.WindowHandle, 0x100, 13, (int)IntPtr.Zero);
PostMessage(mem.WindowHandle, 0x101, 13, (int)IntPtr.Zero);
Thread.Sleep(50);
PostMessage(mem.WindowHandle, 0x100, 0xa2, (int)IntPtr.Zero);
PostMessage(mem.WindowHandle, 0x100, 0x56, (int)IntPtr.Zero);
Thread.Sleep(200);
PostMessage(mem.WindowHandle, 0x101, 0xa2, (int)IntPtr.Zero);
Thread.Sleep(50);
PostMessage(mem.WindowHandle, 0x100, 8, (int)IntPtr.Zero);
Thread.Sleep(50);
PostMessage(mem.WindowHandle, 0x100, 13, (int)IntPtr.Zero);
PostMessage(mem.WindowHandle, 0x101, 13, (int)IntPtr.Zero);
PostMessage(mem.WindowHandle, 0x101, 0x56, (int)IntPtr.Zero);
PostMessage(mem.WindowHandle, 0x101, 8, (int)IntPtr.Zero);
Clipboard.SetDataObject(data, true);
}
}
catch (Exception exception1)
{
ProjectData.SetProjectError(exception1);
Exception exception = exception1;
ProjectData.ClearProjectError();
}
// return 0;
}