Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Une question pour les pros de delphi ? [ Archives / J'AI BESOIN D'AIDE !!!! :O ] (Fredelphi)

vendredi 20 septembre 2002 à 18:41:29 | Une question pour les pros de delphi ?

Fredelphi

Bonjour,

Est-il possible d'influencer une variable ou un controle d'une application à partir d'une autre application ??

Je m'explique : Je lance le programme A et B.
B étant mon programme fait sous D6, et A une quelquonque application.

Est-ce que le programme B peut changer le contenu d'une variable qui est dans le programme A ? En sachant que je connais déjà le style de variable du programme A...
Et est ce que le programme B peut changer un controle dans le programme A (mettre à false un visible par ex d'un controle) ?

Si cela est possible d'après vous, pourriez-vous me donner une idée de départ ?
Peut-etre avec des API ?

Merci d'avance
Frederic

vendredi 20 septembre 2002 à 19:08:08 | Re : Une question pour les pros de delphi ?

Delphiprog

Administrateur CodeS-SourceS
Sous Win32, chaque application a sa propre zone mémoire réservée, empêchant ainsi une application qui plante d'interférer sur les autres. Il n'est donc pas possible de modifier une variable d'une autre application (ou alors avec de grands risques de tout planter).

En revanche, pour changer l'état d'un contrôle d'une autre appli, c'est "plus facile".
Il suffit de connaître le handle du contrôle et de lui envoyer un message (via SendMessage, voir aide sur les API).

May Delphi be with you.
Delphi advanced


-------------------------------
Réponse au message :
-------------------------------

Bonjour,

Est-il possible d'influencer une variable ou un controle d'une application à partir d'une autre application ??

Je m'explique : Je lance le programme A et B.
B étant mon programme fait sous D6, et A une quelquonque application.

Est-ce que le programme B peut changer le contenu d'une variable qui est dans le programme A ? En sachant que je connais déjà le style de variable du programme A...
Et est ce que le programme B peut changer un controle dans le programme A (mettre à false un visible par ex d'un controle) ?

Si cela est possible d'après vous, pourriez-vous me donner une idée de départ ?
Peut-etre avec des API ?

Merci d'avance
Frederic

vendredi 20 septembre 2002 à 19:50:49 | Re : Une question pour les pros de delphi ?

Fredelphi


merci pour ta réponse.
Encore une question..
Comment insères-tu dans sendmessage, la possiblité de mettre à faus un Visible ?
Je pense qu'il doit y avoir un code spécial ?
Connaitrais-tu un site qui explique en détail cette manipulation ?

Merci
Frederic


-------------------------------
Réponse au message :
-------------------------------

Sous Win32, chaque application a sa propre zone mémoire réservée, empêchant ainsi une application qui plante d'interférer sur les autres. Il n'est donc pas possible de modifier une variable d'une autre application (ou alors avec de grands risques de tout planter).

En revanche, pour changer l'état d'un contrôle d'une autre appli, c'est "plus facile".
Il suffit de connaître le handle du contrôle et de lui envoyer un message (via SendMessage, voir aide sur les API).

May Delphi be with you.
Delphi advanced


-------------------------------
Réponse au message :
-------------------------------

Bonjour,

Est-il possible d'influencer une variable ou un controle d'une application à partir d'une autre application ??

Je m'explique : Je lance le programme A et B.
B étant mon programme fait sous D6, et A une quelquonque application.

Est-ce que le programme B peut changer le contenu d'une variable qui est dans le programme A ? En sachant que je connais déjà le style de variable du programme A...
Et est ce que le programme B peut changer un controle dans le programme A (mettre à false un visible par ex d'un controle) ?

Si cela est possible d'après vous, pourriez-vous me donner une idée de départ ?
Peut-etre avec des API ?

Merci d'avance
Frederic


samedi 21 septembre 2002 à 14:58:28 | Re : Pq pas Winsock ?

Bruto

Pour changer le contenu de la variable du programme A, pourquoi ne pas utiliser le contrôle Winsock ( je pense qu'il doit exister en Delphi ) car j'ai fait stage l'an passé et mon prog devait changer l'etat de la form suivant le message reçu.

Donc pour toi il suffirait d'envoyer la nouvelle valeur à partir du prog B
ex :
Winsock1.SendData('12');

et dans ton prog A :
Winsock1.DataArrival(....)
begin
VarA := StrToInt(Winsock1.GetData());
end;

En tout cas c'est comme ça que je faisais en Visual Basic mais il doit avoir le même principe en Delphi. Je pense que j'avais vu sur source sur ça sur le site.

Peut-être que DelphiProg ou Nono40 pourrons t'aider sur le propos maintenant que je leur ai montré l'idée.

En espérant que cela t'aide :
Bruto --- Le p'tit belge --- pour vous servir


-------------------------------
Réponse au message :
-------------------------------


merci pour ta réponse.
Encore une question..
Comment insères-tu dans sendmessage, la possiblité de mettre à faus un Visible ?
Je pense qu'il doit y avoir un code spécial ?
Connaitrais-tu un site qui explique en détail cette manipulation ?

Merci
Frederic


-------------------------------
Réponse au message :
-------------------------------

Sous Win32, chaque application a sa propre zone mémoire réservée, empêchant ainsi une application qui plante d'interférer sur les autres. Il n'est donc pas possible de modifier une variable d'une autre application (ou alors avec de grands risques de tout planter).

En revanche, pour changer l'état d'un contrôle d'une autre appli, c'est "plus facile".
Il suffit de connaître le handle du contrôle et de lui envoyer un message (via SendMessage, voir aide sur les API).

May Delphi be with you.
Delphi advanced


-------------------------------
Réponse au message :
-------------------------------

Bonjour,

Est-il possible d'influencer une variable ou un controle d'une application à partir d'une autre application ??

Je m'explique : Je lance le programme A et B.
B étant mon programme fait sous D6, et A une quelquonque application.

Est-ce que le programme B peut changer le contenu d'une variable qui est dans le programme A ? En sachant que je connais déjà le style de variable du programme A...
Et est ce que le programme B peut changer un controle dans le programme A (mettre à false un visible par ex d'un controle) ?

Si cela est possible d'après vous, pourriez-vous me donner une idée de départ ?
Peut-etre avec des API ?

Merci d'avance
Frederic



samedi 21 septembre 2002 à 18:12:37 | Re : Pq pas Winsock ?

Nono40

C'est plus compliqué que ça. Car A n'est pas forcement faite avec Delphi, ni même une application faite par Fredelphi. A n'est donc pas prévue à l'origine pour être modifiée par B. Les messages de windows sont alors le seul moyen de modifer A par B.

WinSock existe avec Delphi : voir les composants ClientSocket et ServerSocket.

--- Nono du Moulin ---


-------------------------------
Réponse au message :
-------------------------------

Pour changer le contenu de la variable du programme A, pourquoi ne pas utiliser le contrôle Winsock ( je pense qu'il doit exister en Delphi ) car j'ai fait stage l'an passé et mon prog devait changer l'etat de la form suivant le message reçu.

Donc pour toi il suffirait d'envoyer la nouvelle valeur à partir du prog B
ex :
Winsock1.SendData('12');

et dans ton prog A :
Winsock1.DataArrival(....)
begin
VarA := StrToInt(Winsock1.GetData());
end;

En tout cas c'est comme ça que je faisais en Visual Basic mais il doit avoir le même principe en Delphi. Je pense que j'avais vu sur source sur ça sur le site.

Peut-être que DelphiProg ou Nono40 pourrons t'aider sur le propos maintenant que je leur ai montré l'idée.

En espérant que cela t'aide :
Bruto --- Le p'tit belge --- pour vous servir


-------------------------------
Réponse au message :
-------------------------------


merci pour ta réponse.
Encore une question..
Comment insères-tu dans sendmessage, la possiblité de mettre à faus un Visible ?
Je pense qu'il doit y avoir un code spécial ?
Connaitrais-tu un site qui explique en détail cette manipulation ?

Merci
Frederic


-------------------------------
Réponse au message :
-------------------------------

Sous Win32, chaque application a sa propre zone mémoire réservée, empêchant ainsi une application qui plante d'interférer sur les autres. Il n'est donc pas possible de modifier une variable d'une autre application (ou alors avec de grands risques de tout planter).

En revanche, pour changer l'état d'un contrôle d'une autre appli, c'est "plus facile".
Il suffit de connaître le handle du contrôle et de lui envoyer un message (via SendMessage, voir aide sur les API).

May Delphi be with you.
Delphi advanced


-------------------------------
Réponse au message :
-------------------------------

Bonjour,

Est-il possible d'influencer une variable ou un controle d'une application à partir d'une autre application ??

Je m'explique : Je lance le programme A et B.
B étant mon programme fait sous D6, et A une quelquonque application.

Est-ce que le programme B peut changer le contenu d'une variable qui est dans le programme A ? En sachant que je connais déjà le style de variable du programme A...
Et est ce que le programme B peut changer un controle dans le programme A (mettre à false un visible par ex d'un controle) ?

Si cela est possible d'après vous, pourriez-vous me donner une idée de départ ?
Peut-etre avec des API ?

Merci d'avance
Frederic




jeudi 13 janvier 2005 à 19:36:15 | Re : Une question pour les pros de delphi ?

tamanio

Si tu connait les éléments segment:offset de A alors tu peux modifier sa valeur.
Il suffit en faite de connaitre l'adresse mémoire où est stoké pour pouvoir le modifer.

j'ai un code exemple qui fait sa, je le mettrais ici quand j'aurais plus de temps ! ;-)



Cette discussion est classé dans : programme, application, variable, controle, question


Répondre à ce message

Sujets en rapport avec ce message

Application par défaut (Ouvrir Avec...) [ par darkduck ] comment puis je faire pour que certain fichier de mon choix (ex : *.txt) s'ouvrent tous le temps avec mon programme sans que je n'ai a lancer mon prog EAccess Violation [ par manu00 ] Bonjour,J'ai un gros soucis avec mon programme.J'ai fait un prog, tout ce qu'il y a de plus normal avec des edit..etcMon programme marche à la perfect Relancer un programme [ par manu00 ] Bonjour,J'aimerai que mon application que je fais en delphi, a son lancement, demarre un autre logiciel, qu'a sa fermeture, elle ferme ce logiciel (se Chargement base de données [ par orelien ] Bonjour,J'ai réalisé une application delphi, dont la base paradox est placée sur un réseau. Le temps de chargement du programme me paraît assez long Répertoire d'une application service [ par vincentstryckmans ] Salut,Pour une application standard, il est possible d'utiliser la fonctionn extractfilepath et la variable application.exename pour connaître le répe Un ptite question ;-). [ par Becracker ] Salut les gars, Je voudrais savoir que veux dire le message suivant : [Avertissement] Main.pas(119): Le symbole 'FindData' est propre à une platefor Kylix [ par aswen ] Bonsoir,     J'ai écrit une petite application sous Kylix 3 (Delphi) et je souhaite l'exécuter sur une autre machine.   La création du programme a été Execution discrète d'un programme. [ par kinkey_wizard ] Bonjour tout le monde, je vous salue.Bon alors je m'explique : je possède chez moi un PC (OS : Windows XP) que je souhaite rendre accessible à plusieu Attendre la fermeture d'un programme déjà ouvert [ par Serial326 ] Bonjour à tous,J'essai de faire un programme qui reçoit en paramètres le handle et le processus de l'application qui l'appelle ainsi que deux chemin ( exeution [ par slimanibiskra ] De SLIMANI Younes de Alger <p class="MsoNormal" style="MARGI


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,140 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.