这是我的 Form1 代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Diagnostics;
namespace ReadMemory
{
public partial class Form1 : Form
{
List<int> memoryAddresses = new List<int>();
public Form1()
{
InitializeComponent();
Process proc = Process.GetCurrentProcess();
IntPtr startOffset = proc.MainModule.BaseAddress;
IntPtr endOffset = IntPtr.Add(startOffset, proc.MainModule.ModuleMemorySize);
for (int i = 0; i < startOffset.ToInt64(); i++)
{
memoryAddresses.Add(startOffset[i]
}
}
private void modelsToolStripMenuItem_Click(object sender, EventArgs e)
{
}
}
}
我试图从头到尾扫描所有内存地址并将它们添加到列表中。但是我在线上遇到错误:
memoryAddresses.Add(startOffset[i]
错误 3 无法将带有 [] 的索引应用于“System.IntPtr”类型的表达式
第二件事是在循环中做: startOffset.ToInt64() 可以吗?或者我应该做 ToInt32() ?