c ++ - Sådan sendes tekst til en ansøgning?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at lave en ansøgning, som læser dataene fra en seriel port (på den serielle port er der en stregkodescanner plugget ind), og derefter videresender den til en applikation. Jeg kan nu læse data fra seriel port, men jeg ved ikke hvordan man videresender læseteksten til en applikation, f.eks. Notesblok. Jeg forsøgte at bruge SendMessage () API, men det lykkedes ikke. Måske gjorde jeg noget forkert.
Kan nogen hjælpe mig, og måske vise noget eksempel?


Tak,


Kampi

Bedste reference


Det lyder som om du leder efter keybd\_event eller den nyere SendInput. Det giver dig mulighed for at simulere tastaturindgang. [3] [4]

Andre referencer 1


Hvis du vil sende det til notesblokken, ville det være lettere at gemme teksten i en midlertidig fil og derefter åbne den med notesblokken. Fra en Windows-applikation kan dette gøres ved hjælp af CreateProcess.


På den anden side, hvis du styrer hvordan modtagerprogrammet virker, kan du bruge forskellige tilgange, såsom: rør, vinduemeddelelser, delt hukommelse og nogle andre. Dette er et godt sted at starte. [5]

Andre referencer 2


Hvis du mener et andet -program, skal du bruge en af ​​IPC-metoder. [6]

Andre referencer 3


HWND hwnd = FindWindow(NULL, L"Untitled - Notepad");
SendMessage(hwnd, WM\_SETTEXT, NULL, (LPARAM)L"Hello!");


Dette vil sætte notisblokens titellinje til Hello. Selvfølgelig kan du udarbejde lidt for at finde Notepads tekstbokskontrol eller for at finde din egen kontrol i et program eller for at finde den kontrol, der har fokus i den aktive forgrundsvindue (se GetForegroundWindow), men ideen er, at når du har en hwnd af vinduet/kontrollen du vil indstille tekst, skal ovenstående kode fungere.

Andre referencer 4


Den enkleste metode skal kaldes rør. [7]