2009-08-21 13 views
2

J'ai appris à utiliser les messages avec les API de Windows et je les ai très bien appris. Le problème est, je ne peux pas comprendre comment recevoir un message d'une autre application pour commencer le code dans le mien. Essentiellement, ce que je veux faire est de permettre à d'autres personnes utilisant une application commerciale de cliquer sur le bouton de sauvegarde (sur l'application commerciale), et d'arrêter mon application, de demander à l'utilisateur, et d'annuler la sauvegarde pour leur permettre de continuer, ou permettre la sauvegarde (que je sais faire maintenant à travers les messages).Recevoir un message d'un autre processus

J'ai juste besoin de savoir comment attraper un message, et l'arrêter. Si quelqu'un peut me diriger vers un appel API, ou une fonction, ou juste une documentation qui peut aider, s'il vous plaît faire.

+0

Je serais surpris si vous pouvez le faire plus. Je pensais que les modifications de sécurité inter-processus qui ont été apportées autour de Windows 2000 empêchaient de jouer avec les messages de processus d'un autre. – David

+0

Je ne suis pas totalement sûr, mais je ne le pense pas. En utilisant des programmes comme Winspector, il est facile d'attraper des messages ... et je suis sûr que j'ai vu des programmes qui les arrêtent. – Sivvy

Répondre

3

Découvrez Detours by Microsoft Research. C'est possible, mais pas simple. En outre, regardez comment les astuces de jeu côté client sont effectuées. Je ne lierai aucun d'entre eux ici, mais ils sont là-bas. C'est essentiellement ce que vous voulez faire.

+0

Merci pour l'aide ... Detours semble que ça marcherait très bien pour ce dont j'ai besoin, bien que je sois un type qui aime réinventer la roue pour l'apprentissage. Des idées de comment faire la même chose sans programmation de tiers? C'est l'une des rares choses qui m'intéressent depuis un moment, et j'aimerais en savoir plus. – Sivvy

+0

Il était accompagné de docs et de code source lorsque vous le téléchargiez pour que vous puissiez voir exactement ce qu'ils faisaient. Il y a une publication sur le site (regardez en bas pour un lien PDF) qui va dans les trucs au niveau du concept. –

+1

http://www.cheatengine.org/ Le tutoriel est encore amusant =) – Kieveli

1

Je pense que vous devrez attacher votre propre application au processus en cours de la même manière qu'un débogueur le ferait ... À moins que l'application commerciale ait une méthode personnalisée de se brancher dans leur architecture pour faire ceci.

La question suivante est ... voulez-vous poursuivre dans cette voie.

+0

Oui ... Vous avez en quelque sorte rendu ce son encore plus intéressant. Je pense que je voudrais continuer dans cette voie. – Sivvy

+0

(http://www.amazon.com/How-Debuggers-Work-Algorithms-Architecture/dp/0471149667) ou (http://www.google.com/search?hl=en&q=writing% 20a% 20debugger) – Kieveli

Questions connexes