示例#1
0
        static void Main(string[] args)
        {
            // https://msdn.microsoft.com/en-us/library/ms404308%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

            Console.InputEncoding  = UTF8Encoding.UTF8;
            Console.OutputEncoding = UTF8Encoding.UTF8;

            // Should I follow the shortcut path to try to get the exe icon?
            useShortcutPath = args.Length > 0 && args.Contains("--x");

            // Should I try to retrieve an icon size other than 32x32
            useSize      = args.Length > 0 && args.Intersect(sizeArgs).ToArray().Length == 1;
            selectedSize = useSize ? sizeSHIL[Array.IndexOf(sizeArgs, args.Intersect(sizeArgs).ToArray()[0])] : Shell32.SHIL_LARGE;

            while (true)
            {
                string      input = Console.In.ReadLine().Trim();
                IconRequest data  = JsonConvert.DeserializeObject <IconRequest>(input);

                try
                {
                    data.Base64ImageData = getIconAsBase64(data.Path);
                    Console.WriteLine(JsonConvert.SerializeObject(data));
                }
                catch (Exception ex)
                {
                    Console.Error.WriteLine(ex);
                    Console.Error.WriteLine(input);
                }
            }
        }
示例#2
0
        static void Main(string[] args)
        {
            // https://msdn.microsoft.com/en-us/library/ms404308%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

            Console.InputEncoding  = UTF8Encoding.UTF8;
            Console.OutputEncoding = UTF8Encoding.UTF8;

            useShortcutPath = args.Length > 0 && args[0] == "-x";

            while (true)
            {
                string      input = Console.In.ReadLine().Trim();
                IconRequest data  = JsonConvert.DeserializeObject <IconRequest>(input);

                try {
                    data.Base64ImageData = getIconAsBase64(data.Path);
                    Console.WriteLine(JsonConvert.SerializeObject(data));
                } catch (Exception ex) {
                    Console.Error.WriteLine(ex);
                    Console.Error.WriteLine(input);
                }
            }
        }