[BUG] Microsoft Store Autostart not working (#131), version 1.0.23.0

This commit is contained in:
Markus Hofknecht 2021-10-23 13:45:22 +02:00
parent f5234bcec3
commit 7c234efad6
17 changed files with 227 additions and 77 deletions

View file

@ -69,6 +69,15 @@ namespace SystemTrayMenu.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Activated.
/// </summary>
internal static string Activated {
get {
return ResourceManager.GetString("Activated", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Advanced.
/// </summary>
@ -285,6 +294,15 @@ namespace SystemTrayMenu.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Deactivated.
/// </summary>
internal static string Deactivated {
get {
return ResourceManager.GetString("Deactivated", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Default.
/// </summary>
@ -303,15 +321,6 @@ namespace SystemTrayMenu.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Expert.
/// </summary>
internal static string Expert {
get {
return ResourceManager.GetString("Expert", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Folder.
/// </summary>
@ -691,6 +700,15 @@ namespace SystemTrayMenu.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Task Manger.
/// </summary>
internal static string Task_Manger {
get {
return ResourceManager.GetString("Task Manger", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Read the FAQ and then choose a root directory for the SystemTrayMenu..
/// </summary>

View file

@ -192,9 +192,6 @@
<data name="MessageRootFolderNoAccess" xml:space="preserve">
<value>Nemáte přístup do kořenové složky pro SystemTrayMenu. Udělte přístup ke složce nebo změňte kořenovou složku.</value>
</data>
<data name="Expert" xml:space="preserve">
<value>Expert</value>
</data>
<data name="Single click to start item" xml:space="preserve">
<value>Jediným kliknutím otevřete položku namísto dvojitého kliknutí</value>
</data>
@ -348,4 +345,13 @@
<data name="Open Folder" xml:space="preserve">
<value>Otevřete složku</value>
</data>
<data name="Activated" xml:space="preserve">
<value>Aktivováno</value>
</data>
<data name="Deactivated" xml:space="preserve">
<value>Deaktivováno</value>
</data>
<data name="Task Manger" xml:space="preserve">
<value>Správce úloh</value>
</data>
</root>

View file

@ -192,9 +192,6 @@
<data name="MessageRootFolderNoAccess" xml:space="preserve">
<value>Du hast keine Rechte für den Hauptordner. Gewähre die Rechte oder ändere den Hauptordner.</value>
</data>
<data name="Expert" xml:space="preserve">
<value>Experte</value>
</data>
<data name="Single click to start item" xml:space="preserve">
<value>Öffnen durch einfachen Klick anstelle eines Doppelklicks</value>
</data>
@ -348,4 +345,13 @@
<data name="Open Folder" xml:space="preserve">
<value>Ordner öffnen</value>
</data>
<data name="Activated" xml:space="preserve">
<value>Aktiviert</value>
</data>
<data name="Deactivated" xml:space="preserve">
<value>Deaktiviert</value>
</data>
<data name="Task Manger" xml:space="preserve">
<value>Taskmanager</value>
</data>
</root>

View file

@ -192,9 +192,6 @@
<data name="MessageRootFolderNoAccess" xml:space="preserve">
<value>No tiene acceso a la carpeta raíz del SystemTrayMenu. Otorgue acceso a la carpeta o cambie la carpeta raíz.</value>
</data>
<data name="Expert" xml:space="preserve">
<value>Experta</value>
</data>
<data name="Single click to start item" xml:space="preserve">
<value>Un solo clic para abrir un elemento en lugar de hacer doble clic</value>
</data>
@ -348,4 +345,13 @@
<data name="Open Folder" xml:space="preserve">
<value>Abra carpeta</value>
</data>
<data name="Activated" xml:space="preserve">
<value>Activado</value>
</data>
<data name="Deactivated" xml:space="preserve">
<value>Desactivado</value>
</data>
<data name="Task Manger" xml:space="preserve">
<value>Administrador de tareas</value>
</data>
</root>

View file

@ -192,9 +192,6 @@
<data name="MessageRootFolderNoAccess" xml:space="preserve">
<value>Vous n'avez pas accès au répertoire des raccourcis. Donnez les droits ou changez de répertoire.</value>
</data>
<data name="Expert" xml:space="preserve">
<value>Expert</value>
</data>
<data name="Single click to start item" xml:space="preserve">
<value>Un simple clic pour ouvrir un élément au lieu d'un double clic</value>
</data>
@ -348,4 +345,13 @@
<data name="Open Folder" xml:space="preserve">
<value>Ouvrez de dossier</value>
</data>
<data name="Activated" xml:space="preserve">
<value>Activé</value>
</data>
<data name="Deactivated" xml:space="preserve">
<value>Désactivé</value>
</data>
<data name="Task Manger" xml:space="preserve">
<value>Gestionnaire des tâches</value>
</data>
</root>

View file

@ -192,9 +192,6 @@
<data name="MessageRootFolderNoAccess" xml:space="preserve">
<value>Non hai accesso alla cartella principale per SystemTrayMenu. Concedi l'accesso alla cartella o cambia la cartella principale.</value>
</data>
<data name="Expert" xml:space="preserve">
<value>Esperto</value>
</data>
<data name="Single click to start item" xml:space="preserve">
<value>Clic singolo per aprire un elemento invece del doppio clic</value>
</data>
@ -348,4 +345,13 @@
<data name="Open Folder" xml:space="preserve">
<value>Aprire cartella</value>
</data>
<data name="Activated" xml:space="preserve">
<value>Attivato</value>
</data>
<data name="Deactivated" xml:space="preserve">
<value>Disattivato</value>
</data>
<data name="Task Manger" xml:space="preserve">
<value>Task Manger</value>
</data>
</root>

View file

@ -192,9 +192,6 @@
<data name="MessageRootFolderNoAccess" xml:space="preserve">
<value>SystemTrayMenu のルート フォルダーにアクセスできません。 フォルダーへのアクセスを許可するか、ルート フォルダーを変更します。</value>
</data>
<data name="Expert" xml:space="preserve">
<value>エキスパート</value>
</data>
<data name="Single click to start item" xml:space="preserve">
<value>ダブルクリックではなく、シングルクリックでアイテムを開きます</value>
</data>
@ -348,4 +345,13 @@
<data name="Open Folder" xml:space="preserve">
<value>開いたフォルダ</value>
</data>
<data name="Activated" xml:space="preserve">
<value>有効化</value>
</data>
<data name="Deactivated" xml:space="preserve">
<value>非アクティブ化</value>
</data>
<data name="Task Manger" xml:space="preserve">
<value>タスクマネージャー</value>
</data>
</root>

View file

@ -192,9 +192,6 @@
<data name="MessageRootFolderNoAccess" xml:space="preserve">
<value>SystemTrayMenu의 루트 폴더에 액세스 할 수 없습니다. 폴더에 대한 액세스 권한을 부여하거나 루트 폴더를 변경하십시오.</value>
</data>
<data name="Expert" xml:space="preserve">
<value>전문가</value>
</data>
<data name="Single click to start item" xml:space="preserve">
<value>두 번 클릭하는 대신 한 번 클릭하여 항목을 엽니 다.</value>
</data>
@ -348,4 +345,13 @@
<data name="Open Folder" xml:space="preserve">
<value>폴더 열기</value>
</data>
<data name="Activated" xml:space="preserve">
<value>활성화됨</value>
</data>
<data name="Deactivated" xml:space="preserve">
<value>비활성화됨</value>
</data>
<data name="Task Manger" xml:space="preserve">
<value>작업 관리자</value>
</data>
</root>

View file

@ -192,9 +192,6 @@
<data name="MessageRootFolderNoAccess" xml:space="preserve">
<value>U heeft geen toegang tot de hoofdmap voor het SystemTrayMenu. Verleen toegang tot de map of wijzig de hoofdmap.</value>
</data>
<data name="Expert" xml:space="preserve">
<value>Expert</value>
</data>
<data name="Single click to start item" xml:space="preserve">
<value>Enkele klik om een item te openen in plaats van dubbelklikken</value>
</data>
@ -348,4 +345,13 @@
<data name="Open Folder" xml:space="preserve">
<value>Open Map</value>
</data>
<data name="Activated" xml:space="preserve">
<value>Geactiveerd</value>
</data>
<data name="Deactivated" xml:space="preserve">
<value>Gedeactiveerd</value>
</data>
<data name="Task Manger" xml:space="preserve">
<value>Taakbeheer</value>
</data>
</root>

View file

@ -192,9 +192,6 @@
<data name="MessageRootFolderNoAccess" xml:space="preserve">
<value>Você não possui acesso à pasta raiz para o SystemTrayMenu. Conceda acesso à pasta ou mude a pasta raiz.</value>
</data>
<data name="Expert" xml:space="preserve">
<value>Expert</value>
</data>
<data name="Single click to start item" xml:space="preserve">
<value>Clique uma vez para abrir um item em vez de clicar duas vezes</value>
</data>
@ -348,4 +345,13 @@
<data name="Open Folder" xml:space="preserve">
<value>Abra Pasta</value>
</data>
<data name="Activated" xml:space="preserve">
<value>Ativado</value>
</data>
<data name="Deactivated" xml:space="preserve">
<value>Desativado</value>
</data>
<data name="Task Manger" xml:space="preserve">
<value>Gerenciador de tarefas</value>
</data>
</root>

View file

@ -192,9 +192,6 @@
<data name="MessageRootFolderNoAccess" xml:space="preserve">
<value>You have no access to the root folder for the SystemTrayMenu. Grant access to the folder or change the root folder.</value>
</data>
<data name="Expert" xml:space="preserve">
<value>Expert</value>
</data>
<data name="Single click to start item" xml:space="preserve">
<value>Single click to open an item instead of double click</value>
</data>
@ -348,4 +345,13 @@
<data name="Open Folder" xml:space="preserve">
<value>Open Folder</value>
</data>
<data name="Task Manger" xml:space="preserve">
<value>Task Manger</value>
</data>
<data name="Deactivated" xml:space="preserve">
<value>Deactivated</value>
</data>
<data name="Activated" xml:space="preserve">
<value>Activated</value>
</data>
</root>

View file

@ -192,9 +192,6 @@
<data name="MessageRootFolderNoAccess" xml:space="preserve">
<value>У вас нет доступа к корневой папке для SystemTrayMenu. Разрешите доступ к папке или измените корневую папку.</value>
</data>
<data name="Expert" xml:space="preserve">
<value>Эксперт</value>
</data>
<data name="Single click to start item" xml:space="preserve">
<value>Один щелчок, чтобы открыть элемент, вместо двойного щелчка</value>
</data>
@ -348,4 +345,13 @@
<data name="Open Folder" xml:space="preserve">
<value>Открыть папку</value>
</data>
<data name="Activated" xml:space="preserve">
<value>Активирован</value>
</data>
<data name="Deactivated" xml:space="preserve">
<value>Деактивировано</value>
</data>
<data name="Task Manger" xml:space="preserve">
<value>Диспетчер задач</value>
</data>
</root>

View file

@ -192,9 +192,6 @@
<data name="MessageRootFolderNoAccess" xml:space="preserve">
<value>SystemTrayMenu için ana klasöre erişiminiz yok. Klasöre erişim izni verin veya ana klasörü değiştirin.</value>
</data>
<data name="Expert" xml:space="preserve">
<value>Uzman</value>
</data>
<data name="Single click to start item" xml:space="preserve">
<value>Bir öğeyi açmak için çift tıklama yerine tek tıklama</value>
</data>
@ -348,4 +345,13 @@
<data name="Open Folder" xml:space="preserve">
<value>Klasörü Aç</value>
</data>
<data name="Activated" xml:space="preserve">
<value>Aktif</value>
</data>
<data name="Deactivated" xml:space="preserve">
<value>Devre dışı</value>
</data>
<data name="Task Manger" xml:space="preserve">
<value>Görev Yöneticisi</value>
</data>
</root>

View file

@ -192,9 +192,6 @@
<data name="MessageRootFolderNoAccess" xml:space="preserve">
<value>Bạn không có quyền truy cập vào thư mục gốc cho SystemTrayMenu. Cấp quyền truy cập vào thư mục hoặc thay đổi thư mục gốc.</value>
</data>
<data name="Expert" xml:space="preserve">
<value>Chuyên gia</value>
</data>
<data name="Single click to start item" xml:space="preserve">
<value>Nhấp một lần để mở một mục thay vì nhấp đúp</value>
</data>
@ -348,4 +345,13 @@
<data name="Open Folder" xml:space="preserve">
<value>Mở thư mục</value>
</data>
<data name="Activated" xml:space="preserve">
<value>Đã kích hoạt</value>
</data>
<data name="Deactivated" xml:space="preserve">
<value>Đã hủy kích hoạt</value>
</data>
<data name="Task Manger" xml:space="preserve">
<value>Quản lý công việc</value>
</data>
</root>

View file

@ -192,9 +192,6 @@
<data name="MessageRootFolderNoAccess" xml:space="preserve">
<value>您无权访问 SystemTrayMenu 的根文件夹。 授予对该文件夹的访问权限或更改根文件夹。</value>
</data>
<data name="Expert" xml:space="preserve">
<value>专家</value>
</data>
<data name="Single click to start item" xml:space="preserve">
<value>单击以打开项目而不是双击</value>
</data>
@ -348,4 +345,13 @@
<data name="Open Folder" xml:space="preserve">
<value>打开文件夹</value>
</data>
<data name="Activated" xml:space="preserve">
<value>活性</value>
</data>
<data name="Deactivated" xml:space="preserve">
<value>停用</value>
</data>
<data name="Task Manger" xml:space="preserve">
<value>任务管理器</value>
</data>
</root>

View file

@ -50,7 +50,9 @@ namespace SystemTrayMenu.UserInterface
this.checkBoxStoreConfigAtAssemblyLocation = new System.Windows.Forms.CheckBox();
this.groupBoxAutostart = new System.Windows.Forms.GroupBox();
this.tableLayoutPanelAutostart = new System.Windows.Forms.TableLayoutPanel();
this.buttonAddTaskManagerStartupTask = new System.Windows.Forms.Button();
this.checkBoxAutostart = new System.Windows.Forms.CheckBox();
this.labelStartupTaskStatus = new System.Windows.Forms.Label();
this.groupBoxHotkey = new System.Windows.Forms.GroupBox();
this.tableLayoutPanelHotkey = new System.Windows.Forms.TableLayoutPanel();
this.textBoxHotkeyPlaceholder = new System.Windows.Forms.TextBox();
@ -264,7 +266,6 @@ namespace SystemTrayMenu.UserInterface
this.buttonOk = new System.Windows.Forms.Button();
this.buttonCancel = new System.Windows.Forms.Button();
this.colorDialog = new System.Windows.Forms.ColorDialog();
this.buttonAddTaskManagerStartupTask = new System.Windows.Forms.Button();
this.tableLayoutPanelMain.SuspendLayout();
this.tabControl.SuspendLayout();
this.tabPageGeneral.SuspendLayout();
@ -682,6 +683,7 @@ namespace SystemTrayMenu.UserInterface
this.tableLayoutPanelAutostart.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanelAutostart.Controls.Add(this.buttonAddTaskManagerStartupTask, 0, 0);
this.tableLayoutPanelAutostart.Controls.Add(this.checkBoxAutostart, 0, 0);
this.tableLayoutPanelAutostart.Controls.Add(this.labelStartupTaskStatus, 2, 0);
this.tableLayoutPanelAutostart.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanelAutostart.Location = new System.Drawing.Point(3, 22);
this.tableLayoutPanelAutostart.Name = "tableLayoutPanelAutostart";
@ -690,6 +692,19 @@ namespace SystemTrayMenu.UserInterface
this.tableLayoutPanelAutostart.Size = new System.Drawing.Size(394, 31);
this.tableLayoutPanelAutostart.TabIndex = 0;
//
// buttonAddTaskManagerStartupTask
//
this.buttonAddTaskManagerStartupTask.AutoSize = true;
this.buttonAddTaskManagerStartupTask.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.buttonAddTaskManagerStartupTask.Location = new System.Drawing.Point(135, 3);
this.buttonAddTaskManagerStartupTask.MinimumSize = new System.Drawing.Size(75, 23);
this.buttonAddTaskManagerStartupTask.Name = "buttonAddTaskManagerStartupTask";
this.buttonAddTaskManagerStartupTask.Size = new System.Drawing.Size(204, 25);
this.buttonAddTaskManagerStartupTask.TabIndex = 1;
this.buttonAddTaskManagerStartupTask.Text = "buttonAddTaskManagerStartupTask";
this.buttonAddTaskManagerStartupTask.UseVisualStyleBackColor = true;
this.buttonAddTaskManagerStartupTask.Click += new System.EventHandler(this.ButtonAddTaskManagerStartupTask_Click);
//
// checkBoxAutostart
//
this.checkBoxAutostart.AutoSize = true;
@ -701,6 +716,16 @@ namespace SystemTrayMenu.UserInterface
this.checkBoxAutostart.Text = "checkBoxAutostart";
this.checkBoxAutostart.UseVisualStyleBackColor = true;
//
// labelStartupTaskStatus
//
this.labelStartupTaskStatus.Anchor = System.Windows.Forms.AnchorStyles.Left;
this.labelStartupTaskStatus.AutoSize = true;
this.labelStartupTaskStatus.Location = new System.Drawing.Point(345, 0);
this.labelStartupTaskStatus.Name = "labelStartupTaskStatus";
this.labelStartupTaskStatus.Size = new System.Drawing.Size(46, 31);
this.labelStartupTaskStatus.TabIndex = 2;
this.labelStartupTaskStatus.Text = "labelStartupTaskStatus";
//
// groupBoxHotkey
//
this.groupBoxHotkey.AutoSize = true;
@ -3653,19 +3678,6 @@ namespace SystemTrayMenu.UserInterface
this.buttonCancel.UseVisualStyleBackColor = true;
this.buttonCancel.Click += new System.EventHandler(this.ButtonCancel_Click);
//
// buttonAddTaskManagerStartupTask
//
this.buttonAddTaskManagerStartupTask.AutoSize = true;
this.buttonAddTaskManagerStartupTask.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.buttonAddTaskManagerStartupTask.Location = new System.Drawing.Point(135, 3);
this.buttonAddTaskManagerStartupTask.MinimumSize = new System.Drawing.Size(75, 23);
this.buttonAddTaskManagerStartupTask.Name = "buttonAddTaskManagerStartupTask";
this.buttonAddTaskManagerStartupTask.Size = new System.Drawing.Size(204, 25);
this.buttonAddTaskManagerStartupTask.TabIndex = 1;
this.buttonAddTaskManagerStartupTask.Text = "buttonAddTaskManagerStartupTask";
this.buttonAddTaskManagerStartupTask.UseVisualStyleBackColor = true;
this.buttonAddTaskManagerStartupTask.Click += new System.EventHandler(this.ButtonAddTaskManagerStartupTask_Click);
//
// SettingsForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@ -4122,5 +4134,6 @@ namespace SystemTrayMenu.UserInterface
private System.Windows.Forms.CheckBox checkBoxPossibilityToSelectFolderByWindowsContextMenu;
private System.Windows.Forms.Button buttonOpenFolder;
private System.Windows.Forms.Button buttonAddTaskManagerStartupTask;
private System.Windows.Forms.Label labelStartupTaskStatus;
}
}

View file

@ -118,6 +118,11 @@ namespace SystemTrayMenu.UserInterface
checkBoxStoreConfigAtAssemblyLocation.Text = Translator.GetText("Store config at the assembly location");
buttonOpenAssemblyLocation.Text = Translator.GetText("Open the assembly location");
groupBoxAutostart.Text = Translator.GetText("Autostart");
if (IsStartupTask())
{
groupBoxAutostart.Text += $" ({Translator.GetText("Task Manger")})";
}
checkBoxAutostart.Text = Translator.GetText("Launch on startup");
buttonAddTaskManagerStartupTask.Text = Translator.GetText("Launch on startup");
groupBoxHotkey.Text = Translator.GetText("Hotkey");
@ -204,17 +209,15 @@ namespace SystemTrayMenu.UserInterface
InitializeAutostart();
void InitializeAutostart()
{
bool useStartupTask = false;
#if RELEASEPACKAGE
useStartupTask = true;
#endif
if (useStartupTask)
if (IsStartupTask())
{
checkBoxAutostart.Visible = false;
labelStartupTaskStatus.Text = string.Empty;
}
else
{
buttonAddTaskManagerStartupTask.Visible = false;
labelStartupTaskStatus.Visible = false;
checkBoxAutostart.Checked = Settings.Default.IsAutostartActivated;
}
}
@ -575,9 +578,12 @@ namespace SystemTrayMenu.UserInterface
private void ButtonOk_Click(object sender, EventArgs e)
{
Settings.Default.UseIconFromRootFolder = checkBoxUseIconFromRootFolder.Checked;
#if !RELEASEPACKAGE
SaveAutostartRegistryEntry();
#endif
if (!IsStartupTask())
{
SaveAutostartRegistryEntry();
}
SaveHotkey();
void SaveHotkey()
{
@ -657,7 +663,7 @@ namespace SystemTrayMenu.UserInterface
private void ButtonAddTaskManagerStartupTask_Click(object sender, EventArgs e)
{
_ = AddStartUpAsync();
static async Task AddStartUpAsync()
async Task AddStartUpAsync()
{
// Pass the task ID you specified in the appxmanifest file
StartupTask startupTask = await StartupTask.GetAsync("MyStartupId");
@ -666,24 +672,44 @@ namespace SystemTrayMenu.UserInterface
switch (startupTask.State)
{
case StartupTaskState.Enabled:
case StartupTaskState.EnabledByPolicy:
UpdateLabelStartupStatus(startupTask.State);
break;
case StartupTaskState.Disabled:
// Task is disabled but can be enabled.
StartupTaskState newState = await startupTask.RequestEnableAsync();
UpdateLabelStartupStatus(newState);
break;
case StartupTaskState.DisabledByUser:
Log.Info($"Please enable autostart via Task Manager.");
UpdateLabelStartupStatus(startupTask.State);
break;
case StartupTaskState.DisabledByPolicy:
Log.Info($"Autostart disabled by policy. Please add autostart manually, see issue #131");
UpdateLabelStartupStatus(startupTask.State);
break;
case StartupTaskState.EnabledByPolicy:
default:
break;
}
}
}
private void UpdateLabelStartupStatus(StartupTaskState newState)
{
switch (newState)
{
case StartupTaskState.Disabled:
case StartupTaskState.DisabledByUser:
case StartupTaskState.DisabledByPolicy:
labelStartupTaskStatus.Text = Translator.GetText("Deactivated");
break;
case StartupTaskState.Enabled:
case StartupTaskState.EnabledByPolicy:
labelStartupTaskStatus.Text = Translator.GetText("Activated");
break;
default:
break;
}
}
private void ButtonHotkeyDefault_Click(object sender, EventArgs e)
{
textBoxHotkey.SetHotkey("Ctrl+LWin");
@ -905,5 +931,14 @@ namespace SystemTrayMenu.UserInterface
e.Handled = e.SuppressKeyPress = true;
}
}
private bool IsStartupTask()
{
bool useStartupTask = false;
#if RELEASEPACKAGE
useStartupTask = true;
#endif
return useStartupTask;
}
}
}