2013-01-25 27 views
1

我想打開並讀取尚未保存的文件。我想在Windows操作系統中使用VC++或僅通過批處理文件來完成此操作。如何從未保存的文件中打開和讀取內容

如果我通過fopen或fopen_s的普通方法打開文件,文件以最後保存的方式打開,這不是我想要的。我想要所有存在於文件中但尚未保存的數據。

我已閱讀此鏈接上的一些內容。 Similar question。但我無法遵循腳本。有人可以將它轉換成一批並交給我嗎?

+0

如果文件沒有被保存,我看不到它是如何打開和讀取的,因爲這意味着文件在被寫入之前被讀取。如果你想在一個程序中讀入一個文件,而另一個程序正在寫入這個文件,那麼使用[管道]可能會更好地滿足你的需求(http://stackoverflow.com/questions/6877697/communicating-between-two -child-processes-with-pipes)在兩個進程之間? – Simon

+0

我無法使用管道,因爲我無法控制將數據寫入文件的過程。 – user1190882

回答

0

我相信你的意思是從窗口或控件讀取內容。 僅在保存數據後才生成文件。

要像記事本中的編輯控件一樣讀取窗口內容,首先必須獲取控件的句柄。您可以使用FindWindow來執行此操作,首先獲取主窗口的句柄,然後在FindWindowEx中使用它來獲取編輯控件的句柄。

一旦掌握了控件的句柄,就可以使用SendMessage發送WM_GETTEXT消息來讀取它包含的文本。

請注意,這可能不適用於所有應用程序。例如,MS-Word使用一個豐富的編輯控件,它有自己的方法來獲取文本。

+0

感謝您的回覆。但問題是FindWindow僅適用於那些有窗口的應用程序。我的軟件在後臺寫入記事本,並不以任何窗口的形式出現在前臺。請你能告訴我該怎麼辦? – user1190882

+0

如果你的意思是記事本窗口不可見或隱藏,你仍然可以使用'FindWindow'。 – Superman

相關問題