//AVVIO APP CON WINDOWS async private void requestButton_Click(object sender, RoutedEventArgs e) { StartupTask startupTask = await StartupTask.GetAsync("MyStartupId"); requestResult.Text = startupTask.State.ToString(); switch (startupTask.State) { case StartupTaskState.Disabled: // Task is disabled but can be enabled. StartupTaskState newState = await startupTask.RequestEnableAsync(); requestResult.Text = newState.ToString(); Debug.WriteLine("Request to enable startup, result = {0}", newState); break; case StartupTaskState.DisabledByUser: // Task is disabled and user must enable it manually. MessageDialog dialog = new MessageDialog( "I know you don't want this app to run " + "as soon as you sign in, but if you change your mind, " + "you can enable this in the Startup tab in Task Manager.", "TestStartup"); await dialog.ShowAsync(); requestResult.Text = "Disabilitato"; break; case StartupTaskState.DisabledByPolicy: Debug.WriteLine("Startup disabled by group policy, or not supported on this device"); requestResult.Text = "Disabilitato"; break; case StartupTaskState.Enabled: Debug.WriteLine("Startup is enabled."); requestResult.Text = "Automatico"; break; } }
public FirstTimeConfigForm() { InitializeComponent(); pbLogo.Image = ImageHelpers.ResizeImage(ShareXResources.Logo, 128, 128); StartupTaskState state = StartupManagerFactory.StartupManager.State; cbRunStartup.Checked = state == StartupTaskState.Enabled; cbRunStartup.Enabled = state != StartupTaskState.DisabledByUser; cbShellContextMenuButton.Checked = IntegrationHelpers.CheckShellContextMenuButton(); cbSendToMenu.Checked = IntegrationHelpers.CheckSendToMenuButton(); #if STEAM cbSteamInApp.Checked = IntegrationHelpers.CheckSteamShowInApp(); #else cbSteamInApp.Visible = false; #endif loaded = true; }
public async void Pin() { if (ApiInformation.IsTypePresent("Windows.UI.StartScreen.StartScreenManager")) { StartupTask startupTask = await StartupTask.GetAsync("AhnacSolutions"); StartupTaskState state = await startupTask.RequestEnableAsync(); var entry = (await Package.Current.GetAppListEntriesAsync())[0]; var startScreenManager = StartScreenManager.GetDefault(); bool supportsPin = startScreenManager.SupportsAppListEntry(entry); if (supportsPin) { var appListEntry = (await Package.Current.GetAppListEntriesAsync())[0]; bool didPin = await StartScreenManager.GetDefault().RequestAddAppListEntryAsync(appListEntry); } } }
private async void requestStartupButton_Click(object sender, RoutedEventArgs e) { StartupTask startupTask = await StartupTask.GetAsync("yataStartup"); MessageDialog dialog = new MessageDialog("Yata! is already running at startup.", "Startup task has been enabled already."); switch (startupTask.State) { case StartupTaskState.Disabled: // Task is disabled but can be enabled. StartupTaskState newState = await startupTask.RequestEnableAsync(); Debug.WriteLine("Request to enable startup, result = {0}", newState); break; case StartupTaskState.DisabledByUser: // Task is disabled and user must enable it manually. dialog.Content = "In order for this app to run at start up, you need to run task manager" + ", select the \"Start-up\" tab " + "then enable \"Yata!\" from there!"; dialog.Title = "You need to this yourself 😞"; await dialog.ShowAsync(); break; case StartupTaskState.DisabledByPolicy: dialog.Content = "Please contact your system administrator for more information"; dialog.Title = "Disabled by group policy"; await dialog.ShowAsync(); break; case StartupTaskState.Enabled: await dialog.ShowAsync(); break; } }
/// <inheritdoc/> public async Task ToggleAutostart() { StartupTask startupTask = await StartupTask.GetAsync(_startupId); StartupTaskState newState = StartupTaskState.Disabled; switch (startupTask.State) { case StartupTaskState.DisabledByPolicy: case StartupTaskState.DisabledByUser: case StartupTaskState.Disabled: newState = await startupTask.RequestEnableAsync(); _logger.LogInformation($"App autostart: {newState.ToString()}"); break; case StartupTaskState.EnabledByPolicy: case StartupTaskState.Enabled: startupTask.Disable(); _logger.LogInformation($"App autostart: disabled"); break; } }
private void CheckWindowsStoreStartup() { if (cbStartWithWindows.Enabled) { return; } lblWindowsStoreStartupStatus.Text = "Checking startup state..."; lblWindowsStoreStartupStatus.Visible = true; StartupTaskState state = StartupTaskState.Error; TaskEx.Run(() => { state = IntegrationHelpers.CheckStartupWindowsStore(); }, () => { if (!IsDisposed) { if (state == StartupTaskState.Error) { lblWindowsStoreStartupStatus.Text = "Startup state check failed. Check debug log for more info."; } else if (state == StartupTaskState.DisabledByUser) { lblWindowsStoreStartupStatus.Text = "The startup has been disabled by the user."; } else { lblWindowsStoreStartupStatus.Visible = false; cbStartWithWindows.Checked = state == StartupTaskState.Enabled; cbStartWithWindows.Enabled = true; } } }); }
private async Task UpdateStartupTaskState() { var startupTask = await StartupTask.GetAsync("AutoLaunchAppTask"); State = startupTask.State; if (IsChecked) { switch (State) { case StartupTaskState.Disabled: // Task is disabled but can be enabled. State = await startupTask.RequestEnableAsync(); // ensure that you are on a UI thread when you call RequestEnableAsync() break; case StartupTaskState.DisabledByUser: // Task is disabled and user must enable it manually. MessageDialog dialog = new MessageDialog( "You have disabled this app's ability to run " + "as soon as you sign in, but if you change your mind, " + "you can enable this in the Startup tab in Task Manager.", "TestStartup"); await dialog.ShowAsync(); break; case StartupTaskState.DisabledByPolicy: Debug.WriteLine("Startup disabled by group policy, or not supported on this device"); break; } } else { startupTask.Disable(); State = startupTask.State; } }
private void ConfigureWindowsStoreStartup() { if (cbStartWithWindows.Enabled) { cbStartWithWindows.Enabled = false; lblWindowsStoreStartupStatus.Text = "Configuring startup..."; lblWindowsStoreStartupStatus.Visible = true; bool enable = cbStartWithWindows.Checked; StartupTaskState state = StartupTaskState.Error; TaskEx.Run(() => { state = IntegrationHelpers.ConfigureStartupWindowsStore(enable); }, () => { if (!IsDisposed) { if (state == StartupTaskState.Error) { lblWindowsStoreStartupStatus.Text = "Startup configuration failed. Check debug log for more info."; } else if (state == StartupTaskState.DisabledByUser) { lblWindowsStoreStartupStatus.Text = "The startup has been disabled by the user."; } else { lblWindowsStoreStartupStatus.Visible = false; cbStartWithWindows.Enabled = true; } } }); } }
private void UpdateControls() { ready = false; // General ChangeLanguage(Program.Settings.Language); cbShowTray.Checked = Program.Settings.ShowTray; cbSilentRun.Enabled = Program.Settings.ShowTray; cbSilentRun.Checked = Program.Settings.SilentRun; cbTrayIconProgressEnabled.Checked = Program.Settings.TrayIconProgressEnabled; cbTaskbarProgressEnabled.Enabled = TaskbarManager.IsPlatformSupported; cbTaskbarProgressEnabled.Checked = Program.Settings.TaskbarProgressEnabled; cbRememberMainFormPosition.Checked = Program.Settings.RememberMainFormPosition; cbRememberMainFormSize.Checked = Program.Settings.RememberMainFormSize; cbTrayLeftDoubleClickAction.SelectedIndex = (int)Program.Settings.TrayLeftDoubleClickAction; cbTrayLeftClickAction.SelectedIndex = (int)Program.Settings.TrayLeftClickAction; cbTrayMiddleClickAction.SelectedIndex = (int)Program.Settings.TrayMiddleClickAction; #if STEAM || WindowsStore cbCheckPreReleaseUpdates.Visible = false; #else cbCheckPreReleaseUpdates.Checked = Program.Settings.CheckPreReleaseUpdates; #endif // Integration #if WindowsStore cbStartWithWindows.Enabled = false; StartupTaskState state = StartupTaskState.Error; TaskEx.Run(() => { state = IntegrationHelpers.CheckStartupWindowsStore(); }, () => { if (!IsDisposed && state != StartupTaskState.Error && state != StartupTaskState.DisabledByUser) { cbStartWithWindows.Checked = state == StartupTaskState.Enabled; cbStartWithWindows.Enabled = true; } }); cbShellContextMenu.Visible = false; cbSendToMenu.Visible = false; gbChrome.Visible = false; gbFirefox.Visible = false; #else cbStartWithWindows.Checked = IntegrationHelpers.CheckStartupShortcut(); cbShellContextMenu.Checked = IntegrationHelpers.CheckShellContextMenuButton(); cbSendToMenu.Checked = IntegrationHelpers.CheckSendToMenuButton(); cbChromeExtensionSupport.Checked = IntegrationHelpers.CheckChromeExtensionSupport(); btnChromeOpenExtensionPage.Enabled = cbChromeExtensionSupport.Checked; cbFirefoxAddonSupport.Checked = IntegrationHelpers.CheckFirefoxAddonSupport(); btnFirefoxOpenAddonPage.Enabled = cbFirefoxAddonSupport.Checked; #endif #if STEAM cbSteamShowInApp.Checked = IntegrationHelpers.CheckSteamShowInApp(); #else gbSteam.Visible = false; #endif // Paths lastPersonalPath = Program.ReadPersonalPathConfig(); txtPersonalFolderPath.Text = lastPersonalPath; UpdatePersonalFolderPathPreview(); cbUseCustomScreenshotsPath.Checked = Program.Settings.UseCustomScreenshotsPath; txtCustomScreenshotsPath.Text = Program.Settings.CustomScreenshotsPath; txtSaveImageSubFolderPattern.Text = Program.Settings.SaveImageSubFolderPattern; // Export / Import cbExportSettings.Checked = Program.Settings.ExportSettings; cbExportHistory.Checked = Program.Settings.ExportHistory; cbExportLogs.Checked = Program.Settings.ExportLogs; UpdateExportButton(); // Proxy cbProxyMethod.SelectedIndex = (int)Program.Settings.ProxySettings.ProxyMethod; txtProxyUsername.Text = Program.Settings.ProxySettings.Username; txtProxyPassword.Text = Program.Settings.ProxySettings.Password; txtProxyHost.Text = Program.Settings.ProxySettings.Host ?? ""; nudProxyPort.SetValue(Program.Settings.ProxySettings.Port); UpdateProxyControls(); // Upload nudUploadLimit.SetValue(Program.Settings.UploadLimit); cbBufferSize.Items.Clear(); for (int i = 0; i < MaxBufferSizePower; i++) { string size = ((long)(Math.Pow(2, i) * 1024)).ToSizeString(Program.Settings.BinaryUnits, 0); cbBufferSize.Items.Add(size); } cbBufferSize.SelectedIndex = Program.Settings.BufferSizePower.Between(0, MaxBufferSizePower); lvClipboardFormats.Items.Clear(); foreach (ClipboardFormat cf in Program.Settings.ClipboardContentFormats) { AddClipboardFormat(cf); } nudRetryUpload.SetValue(Program.Settings.MaxUploadFailRetry); chkUseSecondaryUploaders.Checked = Program.Settings.UseSecondaryUploaders; tlpBackupDestinations.Enabled = Program.Settings.UseSecondaryUploaders; Program.Settings.SecondaryImageUploaders.AddRange(Helpers.GetEnums <ImageDestination>().Where(n => Program.Settings.SecondaryImageUploaders.All(e => e != n))); Program.Settings.SecondaryTextUploaders.AddRange(Helpers.GetEnums <TextDestination>().Where(n => Program.Settings.SecondaryTextUploaders.All(e => e != n))); Program.Settings.SecondaryFileUploaders.AddRange(Helpers.GetEnums <FileDestination>().Where(n => Program.Settings.SecondaryFileUploaders.All(e => e != n))); Program.Settings.SecondaryImageUploaders.Where(n => Helpers.GetEnums <ImageDestination>().All(e => e != n)).ForEach(x => Program.Settings.SecondaryImageUploaders.Remove(x)); Program.Settings.SecondaryTextUploaders.Where(n => Helpers.GetEnums <TextDestination>().All(e => e != n)).ForEach(x => Program.Settings.SecondaryTextUploaders.Remove(x)); Program.Settings.SecondaryFileUploaders.Where(n => Helpers.GetEnums <FileDestination>().All(e => e != n)).ForEach(x => Program.Settings.SecondaryFileUploaders.Remove(x)); lvSecondaryImageUploaders.Items.Clear(); Program.Settings.SecondaryImageUploaders.ForEach <ImageDestination>(x => lvSecondaryImageUploaders.Items.Add(new ListViewItem(x.GetLocalizedDescription()) { Tag = x })); lvSecondaryTextUploaders.Items.Clear(); Program.Settings.SecondaryTextUploaders.ForEach <TextDestination>(x => lvSecondaryTextUploaders.Items.Add(new ListViewItem(x.GetLocalizedDescription()) { Tag = x })); lvSecondaryFileUploaders.Items.Clear(); Program.Settings.SecondaryFileUploaders.ForEach <FileDestination>(x => lvSecondaryFileUploaders.Items.Add(new ListViewItem(x.GetLocalizedDescription()) { Tag = x })); // History cbHistorySaveTasks.Checked = Program.Settings.HistorySaveTasks; cbHistoryCheckURL.Checked = Program.Settings.HistoryCheckURL; cbRecentTasksSave.Checked = Program.Settings.RecentTasksSave; nudRecentTasksMaxCount.SetValue(Program.Settings.RecentTasksMaxCount); cbRecentTasksShowInMainWindow.Checked = Program.Settings.RecentTasksShowInMainWindow; cbRecentTasksShowInTrayMenu.Checked = Program.Settings.RecentTasksShowInTrayMenu; cbRecentTasksTrayMenuMostRecentFirst.Checked = Program.Settings.RecentTasksTrayMenuMostRecentFirst; // Print cbDontShowPrintSettingDialog.Checked = Program.Settings.DontShowPrintSettingsDialog; cbPrintDontShowWindowsDialog.Checked = !Program.Settings.PrintSettings.ShowPrintDialog; // Advanced pgSettings.SelectedObject = Program.Settings; tttvMain.MainTabControl = tcSettings; ready = true; }
private async void EnableStartupSwitch_Toggled(object sender, RoutedEventArgs e) { if (!_isInit) { return; } if (_tempStartupHandle) { _tempStartupHandle = false; return; } bool isOn = EnableStartupSwitch.IsOn; StartupTask startupTask = await StartupTask.GetAsync("RichasyBiliBili"); bool isHandled = false; if (isOn) { switch (startupTask.State) { case StartupTaskState.Disabled: StartupTaskState newState = await startupTask.RequestEnableAsync(); if (newState == StartupTaskState.Enabled || newState == StartupTaskState.EnabledByPolicy) { isHandled = true; new TipPopup("已开启应用自启动").ShowMessage(); } else { new TipPopup("启动失败").ShowMessage(); } break; case StartupTaskState.DisabledByUser: await new ConfirmDialog("您已在任务管理器中禁用了 哔哩 的启动项,请先启用它").ShowAsync(); break; case StartupTaskState.DisabledByPolicy: await new ConfirmDialog("受限于设备或组织策略,您无法设置启动项").ShowAsync(); break; case StartupTaskState.Enabled: case StartupTaskState.EnabledByPolicy: isHandled = true; break; default: break; } } else { switch (startupTask.State) { case StartupTaskState.Disabled: case StartupTaskState.DisabledByUser: case StartupTaskState.DisabledByPolicy: isHandled = true; break; case StartupTaskState.Enabled: startupTask.Disable(); isHandled = true; new TipPopup("已禁用应用自启").ShowMessage(); break; case StartupTaskState.EnabledByPolicy: await new ConfirmDialog("受限于设备或组织策略,您无法设置启动项").ShowAsync(); break; default: break; } } if (!isHandled) { _tempStartupHandle = true; EnableStartupSwitch.IsOn = !isOn; } }
/// <summary> /// Logs the result of a request to enable startup task. /// </summary> /// <param name="newState"></param> public static void StartupTaskRequestEnableResult(StartupTaskState newState) { EventLog.Log.Info($"Request to enable startup resulted in new state: {newState}"); }