示例#1
0
 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;
 }
示例#2
0
        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);
        }
示例#3
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)));
        }
示例#4
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));
        }