2010-06-10 18 views

Répondre

1

Enregistrement d'un fichier exécutable (.exe) en tant que Panneau de configuration Applet sous Windows Vista en utilisant Windows Installer XML (WIX) à http://blogs.msdn.com/b/cjacks/archive/2007/05/03/registering-an-executable-file-exe-as-a-control-panel-applet-on-windows-vista-using-windows-installer-xml-wix.aspx


[réponse précédente]

Voir la contrôle Executable Enregistrement d'élément de panneau de Enregistrement des éléments du panneau de commande at http://msdn.microsoft.com/en-us/library/cc144195(VS.85).aspx

Plus précisément, vous voulez InfoTip, qui sont les commentaires.

Enregistrement du panneau de commande Articles

des éléments du panneau de contrôle doivent être enregistrés afin d'apparaître dans le contrôle fenêtre du panneau. Si l'élément du Panneau de configuration est implémenté dans le fichier .exe , il est enregistré en tant qu'objet de commande . L'enregistrement diffère si l'élément est implémenté en tant que fichier .dll qui exporte la fonction CPlApplet .

+0

Malheureusement, cela ne fonctionne pas. Le contenu de ce champ apparaît dans l'info-bulle si vous passez la souris sur l'applet. –

+0

Il s'avère que votre indice d'origine était la réponse. J'ai mis l'info-bulle à "@ (chemin), (index)", et le mettre à "@ (chemin), - (index)" l'a fait fonctionner. Je vous donne la prime parce que vous avez eu la bonne réponse en premier. Merci! –

+0

Ah, c'est toujours quelque chose de simple. : O) – AMissico

1

Using CPLApplet:

Lorsque le Panneau de configuration charge un .dll (ou .cpl) fichier, il appelle la fonction CPlApplet pour obtenir des informations telles que le nombre d'éléments du panneau de commande les hôtes de fichier , ainsi que les informations sur chaque article.

Lorsque Windows charge d'abord le contrôle élément du panneau, il récupère l'adresse de la fonction CPlApplet et utilise ensuite cette adresse pour appeler la fonction et le transmettre des messages. Il peut envoyer les messages suivants.

Vous devez gérer CPL_INQUIRE Message et remplir le CPLINFO Structure.

typedef struct tagCPLINFO { 
    int  idIcon; 
    int  idName; 
    int  idInfo; 
    LONG_PTR lpData; 
} CPLINFO; 

idInfo est l'identifiant de ressource de la chaîne contenant la description. Vous ne pouvez pas simplement définir cette chose en remplissant une clé de registre.

Editer: Ok, mon mauvais, c'est une vieille solution.

+0

Oui, cela fonctionnait avant lorsque nous avons installé en copiant un fichier .cpl à system32. Nous avons converti en un fichier EXE dans la zone Fichiers de programme pour diverses raisons, et je me demandais si nous pouvions le récupérer. –

1

Cette chaîne est extraite de la valeur de registre HKCR \ CLSID {guid} \ InfoTip. Comment expliquer le registre en forme est très bien expliqué dans ce MSDN Library article, pas grand-chose que je puisse ajouter à cela.