private void FormNew_Load(object sender, EventArgs e) { //设置提示文字 DwmApi.SetTextBoxTipText(txtInput.Handle, "将网页地址粘贴或填写到此处"); //显示默认文字 if (!string.IsNullOrEmpty(u)) { txtInput.Text = u; } cboPath.Items.Add(CoreManager.ConfigManager.Settings.SavePath); cboPath.Items.AddRange(CoreManager.ConfigManager.Settings.SaveFolders.ToArray()); cboPath.Items.Add(CLEAR_HISTORY); cboPath.SelectedIndex = 0; //填充代理服务器 LoadProxys(); //下载类型 for (int i = 0; i < lstDownloadType.Items.Count; i++) { lstDownloadType.SetItemChecked(i, true); } //解析关联的下载项 chkParseRelated.Checked = CoreManager.ConfigManager.Settings.ParseRelated; //自动应答 chkAutoAnswer.Checked = CoreManager.ConfigManager.Settings.AutoAnswer; //缓存提取 chkExtractCache.Checked = CoreManager.ConfigManager.Settings.ExtractCache; //设置焦点 btnAdd.Focus(); }
private void FormStart_Load(object sender, EventArgs e) { //设置AERO效果 marg = new DwmApi.MARGINS(this.Width, this.Height, this.Width, this.Height); if (Config.IsWindowsVistaOrHigher()) //如果是vista以上 { if (DwmApi.DwmIsCompositionEnabled()) //如果dwm被启用了(有AERO效果) { this.BackColor = Color.Black; this.picIcon.BackColor = Color.Black; DwmApi.DwmExtendFrameIntoClientArea(this.Handle, marg); } } }
//窗体重绘事件 private void FormStart_Paint(object sender, PaintEventArgs e) { if (Config.IsWindowsVistaOrHigher()) { //定义重绘的矩形范围 Rectangle rect = new Rectangle(0, 0, this.ClientRectangle.Width, this.ClientRectangle.Height); //如果操作系统dwm启用 if (DwmApi.DwmIsCompositionEnabled()) { //使用黑色画刷进行重绘 using (SolidBrush blackbrush = new SolidBrush(Color.Black)) { e.Graphics.FillRectangle(blackbrush, rect);//重绘玻璃部分 } } } }
/// <summary> /// 创建文件关联 /// </summary> /// <param name="programFile">应用程序文件的完整路径("C:\abc\def.exe")</param> /// <param name="extension">文件扩展名(例如 ".txt")</param> /// <param name="typeName">文件类型名称</param> /// <param name="description">文件类型描述</param> /// <param name="argument">附加参数(不包括"%1")</param> /// <returns></returns> public static bool CreateAssociate(string programFile, string extension, string typeName, string description, string argument) { argument = argument ?? ""; try { RegistryKey key; //设置自定义文件的双击打开 key = Registry.ClassesRoot.OpenSubKey(typeName); if (key == null) { key = Registry.ClassesRoot.CreateSubKey(typeName); } key.SetValue("", description); key = key.CreateSubKey("shell"); key = key.CreateSubKey("open"); key = key.CreateSubKey("command"); key.SetValue("", string.Format(@"""{0}"" ""%1"" {1}", programFile, argument)); //设置自定义文件的默认图标 //key = Registry.ClassesRoot.OpenSubKey(typeName, true); //key = key.CreateSubKey("DefaultIcon"); //key.SetValue("", string.Format("{0},0", programFile)); //新增的扩展名和设置关联 key = Registry.ClassesRoot.OpenSubKey(extension); if (key == null) { key = Registry.ClassesRoot.CreateSubKey(extension); } key.SetValue("", typeName); //刷新Explorer DwmApi.RefreshNotify(); return(true); } catch { return(false); } }
//设置文件关联 private void btnSetFileAsso_Click(object sender, EventArgs e) { Process p = new Process(); p.StartInfo = new ProcessStartInfo() { FileName = Application.ExecutablePath, Arguments = "regasso", Verb = "runas" }; //WinXP不使用Verb if (!DwmApi.IsWindowsVistaOrHigher()) { p.StartInfo.Verb = ""; } try { p.Start(); } catch { } }
private void FormConfig_Load(object sender, EventArgs e) { //视觉效果 DwmApi.SetListViewVisualEffect(this.lsvProxy); DwmApi.SetShieldIcon(btnSetFileAsso); //Mono if (Tools.IsRunningOnMono) { chkWatch.Enabled = false; chkWatchShortUrl.Enabled = false; chkEnableWin7.Enabled = false; } //设置控件状态 chkOpenFolder.Checked = CoreManager.ConfigManager.Settings.OpenFolderAfterComplete; chkPlaySound.Checked = CoreManager.ConfigManager.Settings.PlaySound; if (!string.IsNullOrEmpty(CoreManager.ConfigManager.Settings.SoundFile)) { chkCustomSound.Checked = true; txtCustomSound.Text = CoreManager.ConfigManager.Settings.SoundFile; } chkParseRelated.Checked = CoreManager.ConfigManager.Settings.ParseRelated; chkEnableExtractCache.Checked = CoreManager.ConfigManager.Settings.ExtractCache; numCacheSize.Value = CoreManager.ConfigManager.Settings.CacheSize; txtSavePath.Text = CoreManager.ConfigManager.Settings.SavePath; chkEnableLog.Checked = CoreManager.ConfigManager.Settings.Logging; chkWatch.Checked = CoreManager.ConfigManager.Settings.WatchClipboard; chkWatchShortUrl.Checked = CoreManager.ConfigManager.Settings.WatchClipboardShortUrl; chkDeleteFile.Checked = CoreManager.ConfigManager.Settings.DeleteTaskAndFile; if (!DwmApi.IsWindows7OrHigher()) { chkEnableWin7.Enabled = false; } chkEnableWin7.Checked = CoreManager.ConfigManager.Settings.Windows7Feature; chkHideWhenClose.Checked = CoreManager.ConfigManager.Settings.HideWhenClose; cboMaxRunningCount.SelectedIndex = CoreManager.ConfigManager.Settings.MaxRunningTaskCount - 1; txtSearchText.Text = CoreManager.ConfigManager.Settings.SearchQuery; udRefreshInfo.Value = CoreManager.ConfigManager.Settings.RefreshInfoInterval; udToolFormTimeout.Value = CoreManager.ConfigManager.Settings.ToolFormTimeout; chkEnableCheckUpdate.Checked = CoreManager.ConfigManager.Settings.CheckUpdate; udNetworkTimeout.Value = CoreManager.ConfigManager.Settings.NetworkTimeout; if (CoreManager.ConfigManager.Settings.CheckUpdateDocument == "stable") { rdoChannelStable.Checked = true; } else if (CoreManager.ConfigManager.Settings.CheckUpdateDocument == "develop") { rdoChannelDevelop.Checked = true; } else { rdoChannelCustom.Checked = true; txtUpdateDocument.Text = CoreManager.ConfigManager.Settings.CheckUpdateDocument; } udRetryTimes.Value = CoreManager.ConfigManager.Settings.RetryTimes; udRetryWatingTime.Value = CoreManager.ConfigManager.Settings.RetryWaitingTime / 1000; //代理服务器设置 if (CoreManager.ConfigManager.Settings.Proxy_Settings != null) { foreach (AcDownProxy item in CoreManager.ConfigManager.Settings.Proxy_Settings) { lsvProxy.Items.Add(new ListViewItem(new string[] { item.Name, item.Address, item.Port.ToString(), item.Username, item.Password })); } } }
//初始化数据 private void LoadData() { //官方插件 var plugins = new Collection <IPlugin>() { new AcFunPlugin(), new YoukuPlugin(), //new YouTubePlugin(), new NicoPlugin(), new BilibiliPlugin(), new TudouPlugin(), new ImanhuaPlugin(), //new TiebaAlbumPlugin(), new SfAcgPlugin(), new TucaoPlugin(), new XiamiPlugin(), new GoodmangaPlugin(), new JiyingDmPlugin(), new Dm530Plugin(), new FlvcdPlugin(), //new AcDown.Downloader.AcDown.AcDownPlugin() }; //初始化核心 CoreManager.Initialize( Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Kaedei" + Path.DirectorySeparatorChar + "AcDown" + Path.DirectorySeparatorChar), new UIDelegateContainer(null, null, null, null, null, null, null, null), plugins); //检查是否是首次运行 var firstrun = new FirstrunHandler(); if (firstrun.IsFirstRun()) { Process p = new Process(); p.StartInfo = new ProcessStartInfo() { FileName = Application.ExecutablePath, Arguments = "firstrun", Verb = "runas" }; //WinXP不使用Verb if (!DwmApi.IsWindowsVistaOrHigher()) { p.StartInfo.Verb = ""; } try { p.Start(); } catch { } } if (this.Disposing || this.IsDisposed) { return; } this.Invoke(new MethodInvoker(() => { //加载主窗体 Program.frmMain = new FormMain(); Program.frmMain.Show(); this.Hide(); })); }