Пример #1
0
        /// <summary>
        /// Parses the StringData
        /// </summary>
        private void ParseStringData()
        {
            StringData = new Structs.StringData();

            if (ShellLinkHeader.LinkFlags.HasFlag(Enums.LinkFlags.HasName))
            {
                StringData.NameString = ReadStringData();
            }

            if (ShellLinkHeader.LinkFlags.HasFlag(Enums.LinkFlags.HasRelativePath))
            {
                StringData.RelativePath = ReadStringData();
            }

            if (ShellLinkHeader.LinkFlags.HasFlag(Enums.LinkFlags.HasWorkingDir))
            {
                StringData.WorkingDir = ReadStringData();
            }

            if (ShellLinkHeader.LinkFlags.HasFlag(Enums.LinkFlags.HasArguments))
            {
                StringData.CommandLineArgs = ReadStringData();
            }

            if (ShellLinkHeader.LinkFlags.HasFlag(Enums.LinkFlags.HasIconLocation))
            {
                StringData.IconLocation = ReadStringData();
            }
        }
        /// <summary>
        /// Resets the Stream position to the beginning and clears the fields
        /// </summary>
        private void Reset()
        {
            Stream.Seek(0, SeekOrigin.Begin);

            ShellLinkHeader  = new Structs.ShellLinkHeader();
            LinkTargetIdList = new Structs.LinkTargetIDList();
            LinkInfo         = new Structs.LinkInfo();
            StringData       = new Structs.StringData();
        }