/// <summary> /// /// </summary> /// <param name="path"></param> /// <returns></returns> public BitmapSource fun_取得exe圖示(string path, String s_附檔名) { //如果是捷徑,就先抓取真實路徑 if (s_附檔名 == "LNK") { path = cs.C_按鈕選單_其他程式開啟.ResolveShortcut(path); if (path == null) //如果抓不到圖片,就直接顯示錯誤圖片 { return(null); } } //取得EXE的圖示 var ar_exe = C_exe_img.fun_exe_img(path); if (ar_exe != null) { foreach (var item in ar_exe) { return(M.c_影像.BitmapToBitmapSource(item)); } } return(null); }
/// <summary> /// /// </summary> /// <param name="path"></param> public void fun_播放_EXE(string path) { ar_img_delay = new List <int>(); x = 0; //int_延遲 = 16; bool_暫停 = false; M.stackPlanel_動圖工具.Visibility = Visibility.Visible; fun_開始動作(false); String path_真實路徑 = path; //如果是捷徑,就先抓取真實路徑 if (M.s_img_type_附檔名 == "LNK") { path_真實路徑 = cs.C_按鈕選單_其他程式開啟.ResolveShortcut(path); if (path_真實路徑 == null) //如果抓不到圖片,就直接顯示錯誤圖片 { M.fun_顯示錯誤圖片(path); return; } } List <BitmapSource> ar_BitmapSource = new List <BitmapSource>(); //取得EXE的圖示 var ar_exe = C_exe_img.fun_exe_img(path_真實路徑); if (ar_exe != null) { foreach (var item in ar_exe) { ar_BitmapSource.Add(M.c_影像.BitmapToBitmapSource(item)); } } //取得EXE的圖示 /*foreach (var item in IconHandler.IconHandler.IconsFromFile(path, IconHandler.IconSize.Large)) { * var b = item.ToBitmap(); * if (IsTransparentPalette(b)==false) * ar_BitmapSource.Add(M.c_apng.BitmapToBitmapSource(b)); * } * foreach (var item in IconHandler.IconHandler.IconsFromFile(path, IconHandler.IconSize.Small)) { * var b = item.ToBitmap(); * if (IsTransparentPalette(b) == false) * ar_BitmapSource.Add(M.c_apng.BitmapToBitmapSource(b)); * }*/ //存到全域變數 ar_img = new BitmapSource[ar_BitmapSource.Count]; for (int i = 0; i < ar_BitmapSource.Count; i++) { ar_img[i] = ar_BitmapSource[i]; ar_img_delay.Add(500); } if (ar_img.Length > 0) //至少有一張圖片才顯示 { M.img.Source = ar_img[x]; //顯示圖片 M.fun_設定顯示圖片size(ar_img[0].PixelWidth, ar_img[0].PixelHeight); //顯示寬高 fun_顯示目前圖片張數(); //顯示總張數 M.fun_圖片全滿(true); } else { M.fun_顯示錯誤圖片(path); } //隱藏exif視窗 M.c_影像.c_exif.fun_初始化exif資訊(); M.c_影像.c_exif.fun_顯示或隱藏視窗(); }