Ejemplo n.º 1
0
 public override string ToString()
 {
     return($"Path={Path}" + Environment.NewLine +
            $"AppId={AppId.Substring(0, 3).PadRight(AppId.Length, '*')}" + Environment.NewLine +
            $"AppKey={AppKey.Substring(0, 3).PadRight(AppKey.Length, '*')}" + Environment.NewLine +
            $"VersionId={VersionId}");
 }
Ejemplo n.º 2
0
        private async void FetchInfos()
        {
            Bitmap bitmap = new Bitmap(16, 16);

            await Task.Run(() =>
            {
                var processName = AppId.Substring(0, AppId.Length - 4);
                var processes   = Process.GetProcessesByName(processName);

                if (processes?.Length > 0)
                {
                    sourceProcess = processes[0];
                    try
                    {
                        AppName = sourceProcess.MainModule.FileVersionInfo.FileDescription;
                    }
                    catch { }

                    try
                    {
                        var path = sourceProcess.MainModule.FileName;
                        var ie   = new IconExtractor(path);
                        var icon = ie.GetIcon(0);
                        bitmap   = icon.ToBitmap();
                    }
                    catch { }
                }
            });

            if (bitmap != null)
            {
                Application.Current.Dispatcher.Invoke(() =>
                {
                    AppImage = Imaging.CreateBitmapSourceFromHBitmap(bitmap.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
                }, System.Windows.Threading.DispatcherPriority.Send);
            }

            InfoFetched?.Invoke(this, null);
        }