Fix InputSimulator wParam, PeHeaderParser double-parse, and other review issues
Bug fixes: - InputSimulator: Pass correct button state (MK_LBUTTON/MK_RBUTTON) in wParam for button-down messages instead of 0. - PeHeaderParser: ParseOptionalHeader now reads only the optional header, not section headers (fixes double-parse waste). - EntryPoint: Removed useless isPe32Plus branch (AddressOfEntryPoint is at offset 16 in both PE32 and PE32+). - RemoteWindow: Handle null foreground window case in Activate to avoid calling GetWindowThreadProcessId with HWND 0. - RemotePointer: Remove dead null-conditional operators (encoding ??) since encoding is non-nullable. Constants added: - SystemMethods: MkLButton (0x0001) and MkRButton (0x0002) for mouse button state flags. Tests: 199 passing, 4 integration/interactive skipped.
This commit is contained in:
@@ -35,15 +35,16 @@ public sealed class RemotePointer
|
||||
/// <summary>Reads a null-terminated string at <c>BaseAddress + offset</c>.</summary>
|
||||
public string ReadString(Encoding encoding, int maxLength = 512, nint offset = 0)
|
||||
{
|
||||
return _memory.ReadString(BaseAddress + offset, encoding ?? Encoding.UTF8, maxLength);
|
||||
return _memory.ReadString(BaseAddress + offset, encoding, maxLength);
|
||||
}
|
||||
|
||||
/// <summary>Writes a null-terminated string at <c>BaseAddress + offset</c>.</summary>
|
||||
public bool WriteString(string value, Encoding encoding, nint offset = 0)
|
||||
{
|
||||
return _memory.WriteString(BaseAddress + offset, value, encoding ?? Encoding.UTF8);
|
||||
return _memory.WriteString(BaseAddress + offset, value, encoding);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>Returns a new <see cref="RemotePointer"/> with the offset added.</summary>
|
||||
public RemotePointer this[nint offset] => new RemotePointer(_memory, BaseAddress + offset);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user