C# 将文本从记事本发送到未聚焦的表单1

C# 将文本从记事本发送到未聚焦的表单1,c#,winforms,backgroundworker,background-process,setfocus,C#,Winforms,Backgroundworker,Background Process,Setfocus,这次我打开了reciveText.txt,焦点在这个txt文件中,我想在上面写一些文字;同时在一个文本框中写下同样的文本,这个文本框的形式是在secon平面上,我的意思是,没有焦点。如何将记事本中的文本发送到第二个平面中的文本框 有可能吗 PS:在真实情况下,条形码阅读器将在特定的记事本文件中写入字符串,但另一个将在第二个平面上运行的应用程序(如后台进程或没有焦点)将读取这些字符串,当检测到某种问题时,应用程序将以视觉警报通知我们。。。我只需要知道如何将条形码阅读器刚刚读取的内容发送到一个未聚焦

这次我打开了reciveText.txt,焦点在这个txt文件中,我想在上面写一些文字;同时在一个文本框中写下同样的文本,这个文本框的形式是在secon平面上,我的意思是,没有焦点。如何将记事本中的文本发送到第二个平面中的文本框

有可能吗

PS:在真实情况下,条形码阅读器将在特定的记事本文件中写入字符串,但另一个将在第二个平面上运行的应用程序(如后台进程或没有焦点)将读取这些字符串,当检测到某种问题时,应用程序将以视觉警报通知我们。。。我只需要知道如何将条形码阅读器刚刚读取的内容发送到一个未聚焦的表单


请帮忙

我会评论,但我不能

无论如何,我会做一些记忆黑客:

用它访问记事本的内存RAM。你可以看到明文

内存黑客通常被忽视,也没有得到太多的赞扬。每个人都有键盘记录之类的,但那是不必要的。只要这样做:

以下是来自codeplex的:

using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Text;

public class MemoryRead
{
const int PROCESS_WM_READ = 0x0010;

[DllImport("kernel32.dll")]
public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);

[DllImport("kernel32.dll")]
public static extern bool ReadProcessMemory(int hProcess, 
  int lpBaseAddress, byte[] lpBuffer, int dwSize, ref int lpNumberOfBytesRead);

public static void Main()
{
    Process process = Process.GetProcessesByName("notepad")[0]; 
    IntPtr processHandle = OpenProcess(PROCESS_WM_READ, false, process.Id); 

    int bytesRead = 0;
    byte[] buffer = new byte[24]; //'Hello World!' takes 12*2 bytes because of Unicode 


    // 0x0046A3B8 is the address where I found the string, replace it with what you found
    ReadProcessMemory((int)processHandle, 0x0046A3B8, buffer, buffer.Length, ref bytesRead);

    Console.WriteLine(Encoding.Unicode.GetString(buffer) + 
       " (" + bytesRead.ToString() + "bytes)");
    Console.ReadLine();
}
}

更新副本并粘贴错误代码。上面是一个新的

您正在制作的基本上是一个键盘记录器。查找如何在CI中构建一个,我真的不知道为什么stackoverflow会投票给完美的问题。Aldo的问题是greatThanks@CTR12回答我的帖子,我会试试这个代码,然后让你知道发生了什么,因为我100%肯定我会有其他问题…如果stackoverflow投票给我,那没关系,因为你帮了我很多。再次感谢。。。