2016-03-28 18 views
-3

Diesmal habe ich eine reciveText.txt öffnen und mit dem Schwerpunkt in dieser txt Datei und ich möchte etwas Text darauf schreiben; und schreibe gleichzeitig den gleichen Text in eine einer Form, die in der Sekundärebene, ich meine, ohne Brennpunkt sein wird. Wie kann ich Text von der notepad an die textBox in der zweiten Ebene senden?Sende Text von NotePad zu unfokussiertem Form1

Es ist möglich?

PS: In der realen Situation einen Barcode-Leser strings in einem bestimmten NotePadFile schreiben, aber eine andere Anwendung, die (wie ein backgroundprocess oder ohne Brennpunkt) in der zweiten Ebene ausgeführt werden wird jene strings lesen und wenn einige erkennen Art von Problem die Anwendung benachrichtigt uns mit einem visuellen Alarm ... Ich muss nur wissen, wie zu senden, was der Barcode-Leser gerade zu einem unfokussierten Form ...

lesen Sie bitte Hilfe!

+0

Was Sie machen, ist im Wesentlichen ein Keylogger. Nachschlagen, wie man einen in C# – Martheen

Antwort

-2

Ich würde kommentieren, aber ich kann nicht.

Wie dem auch sei, ich würde etwas Speicher tun Hacking: http://www.codeproject.com/Articles/670373/Csharp-Read-Write-another-Process-Memory

Zugriff auf die Speicher (RAM) der Notizblock, dass mit. Sie können den Klartext sehen.

Speicher Hacking wird in der Regel übersehen und wird nicht viel Kredit gegeben. Alle Keylogs oder so etwas, aber das ist nicht nötig. Genau dies tun:

Hier ist von 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(); 
} 
} 

UPDATE Kopieren und Einfügen falscher Code. Oben ist das neue

+0

Ich weiß ehrlich nicht, warum stackoverflow downvotes perfekt gute Fragen. Aldos Frage war großartig – CTR12

+0

Danke @ CTR12 für Antwort mein Beitrag, ich werde diesen Code versuchen und dann lassen Sie wissen, was passiert, weil ich 100% sicher bin, dass ich andere Frage haben werde ... Wenn stackoverflow downvote mich, es doesn ' t wichtig, weil du mir sehr hilfst. Danke noch einmal... –