我正在使用lpBaseAddress : IntPtr
但是......我需要输入十六进制值: - /像普通偏移量
像在VB上那样可能是:offset = CLng("&H" + text)
所以我需要从文本框中获取一个值并在C#(或Nemerle ^ _)上制作相同的魔法
答案 0 :(得分:1)
offset = System.Convert.ToInt64(this.yourTextBox.Text, 16);
您确定需要Int64(Long)而不仅仅是Int32(Int)吗?如果您是VB6编码器,Int32(Int)就是您所需要的,而不是Long。
答案 1 :(得分:1)
如果您只想解析hex:
string hex = "0a12cc";
long ptr = Convert.ToInt64(hex, 16);
IntPtr newPtr = new IntPtr(ptr);
我在这里使用long
进行说明,因为IntPtr
可能是32/64。