internal static string ByteToString(byte[] value, int start, int count) { string str = new ASCIIEncoding().GetString(value, start, count); if (str.IndexOf("\0") != -1) str = str.Substring(0, str.IndexOf("\0")); return str; }
public static string GetAsciiStringLen16(byte[] msg, ref int pos) { int len = (int)GetUInt16(msg, ref pos); string value = new System.Text.ASCIIEncoding().GetString(msg, pos, len); pos += len; if (len > 0 && value[len - 1] == 0x0000) { value = value.Substring(0, len - 1); } return(value); }
public string GetItem(int row, int column) { if (row >= ItemCount) { return(""); } LVITEM item = new LVITEM(); byte[] buffer = new byte[100]; IntPtr external_buffer = window_process.AllocateMemory(buffer.Length); item.pszText = external_buffer; item.iItem = row; item.iSubItem = column; item.mask = LVIF_TEXT; item.cchTextMax = buffer.Length; unsafe { IntPtr item_pointer = new IntPtr((void *)&item); IntPtr external_item = window_process.AllocateMemory(Marshal.SizeOf(item)); window_process.Write(item_pointer, external_item, Marshal.SizeOf(item)); Interop.SendMessage(Handle, (uint)Messages.LVM_GETITEMA, IntPtr.Zero, external_item); window_process.Read(external_buffer, buffer, buffer.Length); window_process.FreeMemory(external_buffer); window_process.FreeMemory(external_item); } string text = new System.Text.ASCIIEncoding().GetString(buffer); return(text.Substring(0, text.IndexOf((char)0))); }
public string GetItem(int row, int column) { if (row >= ItemCount) return ""; LVITEM item = new LVITEM(); byte[] buffer = new byte[100]; IntPtr external_buffer = window_process.AllocateMemory(buffer.Length); item.pszText = external_buffer; item.iItem = row; item.iSubItem = column; item.mask = LVIF_TEXT; item.cchTextMax = buffer.Length; unsafe { IntPtr item_pointer = new IntPtr((void*)&item); IntPtr external_item = window_process.AllocateMemory(Marshal.SizeOf(item)); window_process.Write(item_pointer, external_item, Marshal.SizeOf(item)); Interop.SendMessage(Handle, (uint)Messages.LVM_GETITEMA, IntPtr.Zero, external_item); window_process.Read(external_buffer, buffer, buffer.Length); window_process.FreeMemory(external_buffer); window_process.FreeMemory(external_item); } string text = new System.Text.ASCIIEncoding().GetString(buffer); return text.Substring(0, text.IndexOf((char)0)); }