Пример #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 Decrypt(string Data, byte[] Key, byte[] IV)
        {
            try
            {

                MemoryStream msDecrypt = new MemoryStream(Convert.FromBase64String(Data));

                // Create a CryptoStream using the MemoryStream
                // and the passed key and initialization vector (IV).
                CryptoStream csDecrypt = new CryptoStream(msDecrypt,
                    new TripleDESCryptoServiceProvider().CreateDecryptor(Key, IV),
                    CryptoStreamMode.Read);

                // Create buffer to hold the decrypted data.
                byte[] fromEncrypt = new byte[Data.Length];

                // Read the decrypted data out of the crypto stream
                // and place it into the temporary buffer.
                csDecrypt.Read(fromEncrypt, 0, fromEncrypt.Length);

                //Convert the buffer into a string and return it.
                string ReturnValue = new ASCIIEncoding().GetString(fromEncrypt);
                if (ReturnValue.Contains("\0\0\0"))
                {
                    ReturnValue = ReturnValue.Remove(ReturnValue.IndexOf("\0\0\0"));
                }
                return ReturnValue;
            }
            catch (CryptographicException e)
            {
                Console.WriteLine("A Cryptographic error occurred: {0}", e.Message);
                return null;
            }
        }
Пример #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));
        }