public static bool GetFileInformationByHandleEx( SafeFileHandle hFile, out FILE_ID_BOTH_DIR_INFO info ) { var fileStruct = new FILE_ID_BOTH_DIR_INFO(); return(GetFileInformationByHandleEx(hFile, FILE_INFO_BY_HANDLE_CLASS.FileIdBothDirectoryInfo, out info, (uint)Marshal.SizeOf(fileStruct))); }
public static StringBuilder getDirectories() { Process[] procs; procs = Process.GetProcesses(); StringBuilder paths = new StringBuilder(); var fileStruct = new FILE_ID_BOTH_DIR_INFO(); uint bufferSize = 0x10000; foreach (Process p in procs) { foreach (SYSTEM_HANDLE_INFORMATION sH in getHandles(p, getAllHandles())) { if (p.ProcessName.Contains("excel")) { IntPtr handle = getAllHandles(); paths.Append(GetFileInformationByHandleEx(handle, FILE_INFO_BY_HANDLE_CLASS.FileFullDirectoryInfo, out fileStruct, bufferSize)); string test = GetFileInformationByHandleEx(handle, FILE_INFO_BY_HANDLE_CLASS.FileFullDirectoryInfo, out fileStruct, bufferSize); } } } return(paths); }
private static extern string GetFileInformationByHandleEx(IntPtr hFile, FILE_INFO_BY_HANDLE_CLASS infoClass, out FILE_ID_BOTH_DIR_INFO dirInfo, uint dwBufferSize);
public static extern bool GetFileInformationByHandleEx( SafeFileHandle hFile, FILE_INFO_BY_HANDLE_CLASS infoClass, out FILE_ID_BOTH_DIR_INFO dirInfo, uint dwBufferSize);