static void Main() { if (!WinShellUtility.IsVistaOver()) { // 非サポートOSメッセージ WinControlUtility.ShowErrorMessage(Properties.Resources.ImageSplitter_ERR_VERSION_UNMATCH); return; } // 多重起動防止 using (var mutex = new Mutex(false, Application.ProductName)) { if (mutex.WaitOne(0, false)) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm()); mutex.ReleaseMutex(); } else { if (!WinShellUtility.SetActiveByCurrentProcess()) { // 同じプロセスのメインウィンドウのアクティブ化に失敗した場合はメッセージ WinControlUtility.ShowInformationMessage(string.Format(Properties.Resources.ImageSplitter_INF_SAME_APP_EXISTED, Application.ProductName)); } } } }
/// <summary> /// 保存先フォルダをセットします。 /// </summary> /// <param name="settings">設定情報を表すImageSplitSettings。</param> private void setSavedPath(ImageSplitSettings settings) { if (settings.SavedSelectedFolderPath) { // 保存先フォルダを保存する場合のみ var folderPath = WinShellUtility.GetExistedFolderPath(settings.SavedFolderPath); if (string.IsNullOrEmpty(folderPath)) { // 存在しない場合はマイドキュメント folderPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); } this.txtSaveTo.Text = folderPath; } }