J'utilise le code suivant dans le gestionnaire d'événements FormCreate pour créer une icône de barre d'état système. Lorsque j'exécute mon programme, l'icône de la barre des tâches s'affiche correctement.Icône de la barre d'état système n'apparaissant pas au démarrage
Je configure mon application à démarrer automatiquement au démarrage de Windows. Lorsque je redémarre l'ordinateur, le processus de mon application est démarré mais l'icône de la barre des tâches n'apparaît jamais.
Je pense que cela peut avoir quelque chose à voir avec le moment où le code est exécuté, que peut-être la barre d'état système n'est pas prête à être remplie.
je reçois mon application pour exécuter au démarrage via son programme d'installation NSIS: WriteRegStr HKLM "Software \ Microsoft \ Windows \ CurrentVersion \ Run" "MyApp" "$ INSTDIR \ MyApp.exe"
code pour créer icône de la barre d'état système:
with TrayIconData do
begin
cbSize := SizeOf(TrayIconData);
Wnd := Handle;
uID := 0;
uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
uCallbackMessage := WM_ICONTRAY;
hIcon := Application.Icon.Handle;
StrPCopy(szTip, Application.Title);
end;
Shell_NotifyIcon(NIM_ADD, @TrayIconData);
Merci pour l'info utile. J'ai traité un shell_NotifyIcon avec un sommeil et réessayez comme est suggéré, en vain. Je continuerai à chercher des informations et j'accepterai une réponse une fois que j'aurai déterminé quel est le problème dans mon cas spécifique. – SamH
Il n'y a pas un tel paragraphe sur 'Handling Shell_NotifyIcon failure' [ici] (http://msdn.microsoft.com/en-us/library/bb762159.aspx) @RogerLipscombe, avez-vous un autre lien avec plus de détails sur l'échec? J'ai le même problème que OP: https://stackoverflow.com/questions/45255294/rare-error-on-tray-icon-creation-after-a-user-log-out-log-in et pas de succès. J'ai essayé 'TaskbarCreated' etc. mais cela n'a rien changé: une fois tous les 3, 4 ou 5 lancements, l'icône de la barre des tâches n'apparaît pas. – Basj