Rendre visible ou invisible une application (icone) (codewarrior)

Contenu du snippet

Ce code vous permettra de rendre visible ou invisible une application symbolisée par son icone.

Etant donné que ce code résulte d'une analyse personnelle de la table du launcher du Palm (aucune doc dispo), je ne garantis pas que cette procédure fonctionne sur tous les OS.

Source / Exemple :


Boolean SetVisible (char* AppName, Boolean Visible)
{
    DmOpenRef dbP;
    char *recordP;
    MemHandle	recordH;	
     LocalID dbIDP;
     UInt16 MaxPosition=0, i, lng;
     Boolean FoundIt=false;
 	
     // Recherche de la table de l'application launcher
     dbIDP= DmFindDatabase (0,"psysLaunchDB");
     if (!dbIDP) return false;
 	
    dbP = DmOpenDatabase (0, dbIDP, dmModeReadWrite);
    if (!dbP) return false;
	
    MaxPosition = DmNumRecords (dbP);
	
    for (i=0;i<MaxPosition && !FoundIt ;i++)
    {
        recordH = DmGetRecord (dbP, i);
        if (recordH != NULL)
        {			
            recordP = MemHandleLock (recordH);
            // recordP+18 = Nom de l'application
            if (recordP!=NULL && (!StrCompare (recordP+18, AppName)))
            {
                // recordP[102] = Statut visible de l'application
                lng = recordP[102];
                FoundIt = true;
                if (Visible)
                {
                    if (lng==4 ||lng==0) DmWrite(recordP, 102, "\4", 1);
                }
                else
                {
                    if (lng==4 ||lng==0) DmWrite(recordP, 102, "\0", 1);
                }
            }
            MemPtrUnlock (recordP);
            DmReleaseRecord (dbP, i, false);
        }
    }
    DmCloseDatabase (dbP);
	
    return FoundIt;

}

Conclusion :


La fonction renvoie vrai si l'application à bien été trouvée et modifiée, sinon ...

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.