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 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; } }
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)); }