2010-01-28 6 views
1

Existe-t-il un moyen de créer un wrapper C# pour une application existante qui me permettra de le retirer de la barre des tâches?Supprimer l'application de la barre des tâches avec C# wrapper?

Plus d'infos:

J'ai une application de la minuterie que je suppose à utiliser, mais ne sont pas parce bien ... suce. Voir https://superuser.com/questions/92774/quickbooks-timer-replacement-windows. Donc, pour que ça tue moins, je me demande si je peux construire un wrapper, alors juste interagir avec ce wrapper à la place. Retrait de la minuterie de la barre des tâches, puis avoir caché mon application/montrer ce serait un pas dans cette direction.

L'autre option consiste à effectuer une rétro-ingénierie du temporisateur. Mais c'est un autre projet pour un autre jour. En ce moment je serais heureux de cacher la chose.

+0

Voulez-vous dire le menu Démarrer? Bouton de la barre des tâches? ou icône de plateau? –

+0

Le bouton de la barre des tâches. Ensuite, mon application est installée dans systray. Ou juste sur le bureau. – NitroxDM

Répondre

1

Vous auriez besoin de localiser la fenêtre qui est représentée dans la barre des tâches et de supprimer le bit "show in taskbar" de son style (étendu). Cela impliquera de descendre au niveau de l'API Windows. Les fonctions dont vous aurez besoin sont:

Le bit de style étendu vous besoin d'enlever est WS_EX_APPWINDOW.

Pour plus d'informations sur les restrictions relatives à l'utilisation de SetWindowLongPtr pour affecter les fenêtres d'autres threads, consultez les documents SetWindowLongPtr et appelez le SetWindowPos pour provoquer une mise à jour visuelle. Windows peut même vous empêcher de le faire complètement (par exemple pour des raisons de sécurité ou d'ergonomie)

Je n'ai pas testé cela et cela peut dépendre de l'application cible. Enfin, si cela fonctionne, il supprimera complètement la fenêtre de la barre des tâches, ce qui peut être déroutant lorsque vous affichez à nouveau la fenêtre. Votre application peut donc vouloir réactiver le style WS_EX_APPWINDOW avant d'afficher la fenêtre de l'autre application.

+0

plus de code s'il vous plaît avec fonction complète si possible – MonsterMMORPG

Questions connexes