我想做一個應用程序,它從串口讀取數據(在串口上插入一個條形碼掃描器),然後將其轉發給應用程序。我現在可以從串口讀取數據,但我不知道如何將讀取的文本轉發到應用程序,例如記事本。我試圖使用SendMessage()API,但它沒有成功。也許我做錯了什麼。 有人可以幫助我,也許顯示一些例子嗎?如何發送文本到應用程序?
感謝,
kampi
我想做一個應用程序,它從串口讀取數據(在串口上插入一個條形碼掃描器),然後將其轉發給應用程序。我現在可以從串口讀取數據,但我不知道如何將讀取的文本轉發到應用程序,例如記事本。我試圖使用SendMessage()API,但它沒有成功。也許我做錯了什麼。 有人可以幫助我,也許顯示一些例子嗎?如何發送文本到應用程序?
感謝,
kampi
聽起來像是你在尋找keybd_event或更新的SendInput。它允許你模擬鍵盤輸入。
如果你想將它發送到記事本中,那麼這將是更容易文本保存到一個臨時文件,然後用記事本打開它。從Windows應用程序,這可以使用CreateProcess
完成。另一方面,如果您控制接收器應用程序的工作方式,則可以使用不同的方法,例如:管道,窗口消息,共享內存以及其他一些方法。 This是一個開始的好地方。
如果你的意思是另一個申請,你應該使用IPC methods之一。
HWND hwnd = FindWindow(NULL, L"Untitled - Notepad");
SendMessage(hwnd, WM_SETTEXT, NULL, (LPARAM)L"Hello!");
這將設置記事本的標題欄文本爲Hello。當然,您可以詳細介紹一下記事本的文本框控件,或者在應用程序中查找自己的控件,或者查找焦點位於活動前景窗口中的控件(請參閱GetForegroundWindow),但是想法是,只要您有一個你想設置文本的窗口/控件的hwnd,上面的代碼應該可以工作。
最簡單的方法應該是named pipes。
您是否可以使用命名管道將一些文本發送給您沒有其源代碼的應用程序? (如記事本?) – 2010-12-05 12:11:40
另一個應用程序根本不會意識到您的通信機制,它不會打開管道等。這與您希望應用程序突然開始從您創建的特定文件中讀取數據時類似。 – VitalyVal 2010-12-05 12:45:06
定義「發送」。你爲什麼期望其他應用程序願意**接收**數據? – 2010-12-05 12:18:24