Explorer/Assemblies.ps1
Add-Type -assembly System Add-Type -assembly System.Runtime.InteropServices Add-Type -assembly System.Windows.Forms Add-Type -assembly System.Data Add-Type -assembly System.Drawing Add-Type -assembly System.Design #--------------------- # treeView checkboxes #--------------------- # https://stackoverflow.com/questions/698369/how-to-disable-a-winforms-treeview-node-checkbox # P/invoke $TypeDefinition = @' using System; using System.Runtime.InteropServices; namespace Win32Functions { public class Win32TreeView { // constants used to hide a checkbox public const int TVIF_STATE = 0x8; public const int TVIS_STATEIMAGEMASK = 0xF000; public const int TV_FIRST = 0x1100; public const int TVM_SETITEM = TV_FIRST + 63; [DllImport("user32.dll", SetLastError = true)] public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); // struct used to set node properties public struct TVITEM { public int mask; public IntPtr hItem; public int state; public int stateMask; [MarshalAs(UnmanagedType.LPTStr)] public String lpszText; public int cchTextMax; public int iImage; public int iSelectedImage; public int cChildren; public IntPtr lParam; } public const int SB_HORZ = 0x0; public const int SB_VERT = 0x1; [DllImport("user32.dll", CharSet = CharSet.Unicode)] public static extern int GetScrollPos(IntPtr hWnd, int nBar); [DllImport("user32.dll", CharSet = CharSet.Unicode)] public static extern int SetScrollPos(IntPtr hWnd, int nBar, int nPos, bool bRedraw); public const int EM_SETCUEBANNER = 0x1501; } } '@ Add-Type -TypeDefinition $TypeDefinition #-PassThru #Add-Type -ErrorAction SilentlyContinue -TypeDefinition @" #public enum SRxFilteringResult { REMOVED, PROCESSED, ATTRIBUTES } #"@ Add-Type -TypeDefinition @" using System; using System.Diagnostics; using System.Security.Principal; using System.Runtime.InteropServices; public static class Kernel32 { [DllImport("kernel32.dll")] public static extern bool CheckRemoteDebuggerPresent( IntPtr hProcess, out bool pbDebuggerPresent); [DllImport("kernel32.dll")] public static extern int DebugActiveProcess(int PID); [DllImport("kernel32.dll")] public static extern int DebugActiveProcessStop(int PID); } "@ |