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); } } }
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); } } }