簡體   English   中英

如何更改通過ReadFile函數讀取的文本

[英]How can I change text that is read via ReadFile function

如何更改通過ReadFile函數讀取的文本? 我正在使用彎路來鈎住ReadFile函數調用。 它可以正常工作(由於調試消息框,我認為是這樣),但是我無法更改從文件讀取的文本。

static BOOL(WINAPI * true_read_file)(
  HANDLE hFile
  , LPVOID lpBuffer
  , DWORD nNumberOfBytesToRead
  , LPDWORD lpNumberOfBytesRead
  , LPOVERLAPPED lpOverlapped) = ReadFile;

BOOL WINAPI my_read_file(
  HANDLE hFile
  , LPVOID lpBuffer
  , DWORD nNumberOfBytesToRead
  , LPDWORD lpNumberOfBytesRead
  , LPOVERLAPPED lpOverlapped)
{
  MessageBoxA(NULL, "my_read_file", "Some caption", MB_OK);
  std::strcpy((char*)lpBuffer, "str"); // It doesn't work
  return TRUE;
}

我究竟做錯了什么? 我該如何解決?

提前致謝。

錯誤1:您應該檢查nNumberOfBytesToRead,可能為1,因此您代碼溢出了緩沖區。

錯誤2:您錯過填寫lpNumberOfBytesRead。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM