none
ReadProcessMemory的問題 RRS feed

  • 問題

  • 如果我輸入以下程式碼:

     Dim Memory As Integer()=New Integer(65535) {}

    Result=Readprocessmomory(hProcess,&h5000000,Memory,65536,0)

    Result是1

    但是我輸入以下的: 

     Dim Memory As Integer()=New Integer(65535) {}

    Result=Readprocessmomory(hProcess,&h10000000,Memory,65536,0)

    Result是0

    為甚麼當我的起始地址太大,會失敗,無法讀取記憶體呢?

    2010年9月16日 上午 10:10

解答

  • Error 299的意義應該是:

    Only part of a ReadProcessMemory or WriteProcessMemory request was completed.

    你啟始值太大 導致要讀取的範圍一部份超出可讀取的區域

    參考: System Error Codes

    • 已標示為解答 VisualPeter 2010年9月23日 上午 09:55
    2010年9月23日 上午 09:09

所有回覆

  • Hi,

    有用GetLastError查看錯誤訊息代碼?

    可查看看是否是已經超過可讀取範圍?


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    2010年9月16日 下午 02:28
  • 如果已經超過可讀取範圍,那如何找出那個範圍呢?
    2010年9月18日 上午 12:33
  • 先看GetLastError傳回的錯誤再說, 否則都只是猜測
    2010年9月18日 上午 05:52
  • 我GetLastError的傳回值是 299 , errortostring之後傳回 : "應用程式定義或物件定義的錯誤。"

    是甚麼原因啊~?

    2010年9月23日 上午 05:22
  • Error 299的意義應該是:

    Only part of a ReadProcessMemory or WriteProcessMemory request was completed.

    你啟始值太大 導致要讀取的範圍一部份超出可讀取的區域

    參考: System Error Codes

    • 已標示為解答 VisualPeter 2010年9月23日 上午 09:55
    2010年9月23日 上午 09:09