Si le public voit une erreur shell_notifyicon, cet article pourrait éventuellement aider.
Approuvé : Fortect
g.Comme vous l’avez mentionné précédemment, certaines de ces erreurs courantes pour Shell_NotifyIcon se produisent lorsque l’énorme communication avec Explorer expire ou se produit avant l’écoute d’Explorer. Comme mentionné dans les commentaires au sujet de Shell_NotifyIcon, GetLastError renvoie généralement ERROR_TIMEOUT (valeur d’erreur héritée héritée de l’appel interne SendMessageTimeout) à l’expiration du délai.
g.
Approuvé : Fortect
Fortect est l'outil de réparation de PC le plus populaire et le plus efficace au monde. Des millions de personnes lui font confiance pour assurer le fonctionnement rapide, fluide et sans erreur de leurs systèmes. Avec son interface utilisateur simple et son puissant moteur d'analyse, Fortect détecte et corrige rapidement un large éventail de problèmes Windows, de l'instabilité du système et des problèmes de sécurité à la gestion de la mémoire et aux goulots d'étranglement des performances.
J’ai vraiment l’impression d’écrire une application qui s’exécute dans l’expérience et je souhaite placer une icône pour la zone de notification afin que l’utilisateur interagisse avec l’élément de temps en temps. L’application fonctionne actuellement correctement sur le petit bureau de développement, mais je travaille également sur cet autre ordinateur portable. Machine aussi, et j’ai remarqué par quel appel Shell_NotifyIcon avec NIM_ADDéchoue toujours et GetLastError aspects positifs ERROR_NO_TOKEN 1008 :. Windows 7 SP1 fonctionne sur toutes les machines
Cependant, le problème semble être lié à un bon délai de téléchargement. Mes programmes se bloquent vraiment lors du débogage, sinon l’ordinateur échouera certainement complètement inactif.
Quelle en est la cause probable ? En soi, nous ne pouvons trouver aucune information au sujet de notre propre code d’erreur, du moins rien d’accompagnant Shell_NotifyIcon. Je suis les meilleures solutions pour chaque système d’exploitation cible en termes de pointage vers le paramètre lpdata, la plupart de ces valeurs initialisé comme ceci :
// AVISZeroMemory (& m_nid, sizeof (NOTIFYICONDATA));// Obtient le numéro de version Shell32 et tv définit la taille de cette structure.// http://msdn.microsoft.com/en-us/library/bb773352%28v=vs.85%29.aspxLa version ULONGLONG satisfait GetDllVersion (_T ("Shell32.dll"));si (version> = MAKEDLLVERULL (6,0,6,0))m_nid.cbSize signifie sizeof (NOTIFYICONDATA);m_nid.uVersion = NOTIFYICON_VERSION_4;sinon, si (version> = MAKEDLLVERULL (6,0,0,0))m_nid.cbSize = NOTIFYICONDATA_V3_SIZE ;m_nid.uVersion = NOTIFYICON_VERSION_4;sinon, si (package MAKEDLLVERULL (5,0,0,0))M_nid> = .CbSize = NOTIFYICONDATA_V2_SIZE ;m_nid.uVersion = NOTIFYICON_VERSION;une autrem_nid.cbSize est égal à NOTIFYICONDATA_V1_SIZE ;m_nid.uVersion = 0;m_nid.uFlags = NIF_ICON | NIF_TIP | NIF_MESSAGE | NIF_SHOWTIP ;// Seuls les systèmes Windows 7 ou ultérieurs peuvent utiliser le GUID pour identifier cette icône de notification.si (IsWin7OrLater ())= NIF_GUID ;m_nid.guidItem = NOTIFICATION_ICON_GUID;une autrem_nid.uID implique NOTIFICATION_ICON_ID ;// Fenêtre de notification d'un ensemble relatif aux plateaux :m_nid.hWnd = m_hWnd;m_nid.uCallbackMessage = UM_TRAYNOTIFY;// Définir la barre de symboles et l'info-bulle :m_nid.hIcon correspond à l'icône App.Tooltip allant (idr_mainframe);// affiché si la souris était vous devez sur le symbole. Le drapeau NIF_TIP doit sembler défini, mais au format paysage.CString = strToolTip _T ("Planificateur");_tcsncpy_s (m_nid.szTip, strToolTip, strToolTip.GetLength ());// Si l'utilisation n'a pas été correctement fermée, l'icône peut toujours être présente,// mais ajouté maintenant un hWnd incorrect. Supprimez-le avant de le rajouter.Shell_NotifyIcon (NIM_DELETE, & m_nid);// Ajout d'un symbole.bResult = Shell_NotifyIcon (NIM_ADD, & m_nid);DWORD signifie dw GetLastError ();// Spécifie les actions relatives au symbole.bResult = Shell_NotifyIcon (NIM_SETVERSION, & m_nid);
- Édité par Andrew Polden 27 mars de l’année prochaine, mardi, 12h14. Supprimer le code inutile
- Se déplace Mike Dos Zhang Mercredi 28 mars, 15h21 Question de l’API Shell (de : Problèmes courants de développement du bureau Windows)