Beispiel #1
0
        /// <summary>
        /// Gets the file path of each file currently opened in the secondary view
        /// </summary>
        /// <returns></returns>
        private static List <string> GetOpenedFilesIn(NppMsg view, NppMsg mode)
        {
            var output = new List <string>();
            int nbFile = (int)Win32Api.SendMessage(Handle, NppMsg.NPPM_GETNBOPENFILES, 0, (int)view);

            using (Win32Api.UnmanagedStringArray cStrArray = new Win32Api.UnmanagedStringArray(nbFile, Win32Api.MaxPath)) {
                if (Win32Api.SendMessage(Handle, mode, cStrArray.NativePointer, nbFile) != IntPtr.Zero)
                {
                    output.AddRange(cStrArray.ManagedStringsUnicode);
                }
            }
            return(output);
        }
Beispiel #2
0
        /// <summary>
        /// Gets the file path of each file in the session file, return
        /// the files separated by a new line
        /// </summary>
        /// <param name="sessionFilePath"></param>
        /// <returns></returns>
        public static List <string> GetFilesListFromSessionFile(string sessionFilePath)
        {
            var output = new List <string>();
            int nbFile = (int)Win32Api.SendMessage(Handle, NppMsg.NPPM_GETNBSESSIONFILES, 0, sessionFilePath);

            if (nbFile > 0)
            {
                using (Win32Api.UnmanagedStringArray cStrArray = new Win32Api.UnmanagedStringArray(nbFile, Win32Api.MaxPath)) {
                    if (Win32Api.SendMessage(Handle, NppMsg.NPPM_GETSESSIONFILES, cStrArray.NativePointer, sessionFilePath) != IntPtr.Zero)
                    {
                        output.AddRange(cStrArray.ManagedStringsUnicode);
                    }
                }
            }
            return(output);
        }