OVH Cloud OVH Cloud

boite de dialogue transparente

4 réponses
Avatar
laurent hubaut
Hello,

je cherche le moyen d'avoir une application "boite de dialogue" qui est
transparente (ca, ca va) mais surtout qui permet de transferer les
evenements de la souris aux applications qui sont en dessous d'elle tout en
permettant d'intercepter les messages de la souris (concretement, je cherche
a savoir si l'utilisateur a cliqué dans une zone determinée)

Qq'un a t'il une piste?
Merci

.

4 réponses

Avatar
Alexandre Czysz
Hello

Personnellement j'essayerai d'appeler les functions du style OnMouseDown du
Form parent.


"laurent hubaut" schrieb im Newsbeitrag
news:%
Hello,

je cherche le moyen d'avoir une application "boite de dialogue" qui est
transparente (ca, ca va) mais surtout qui permet de transferer les
evenements de la souris aux applications qui sont en dessous d'elle tout
en permettant d'intercepter les messages de la souris (concretement, je
cherche a savoir si l'utilisateur a cliqué dans une zone determinée)

Qq'un a t'il une piste?
Merci

.



Avatar
laurent hubaut
Merci pour ta reponse,

Le probleme, c'est que je souhaite transferer a l'appli qui est dessous
(donc un autre process) pas a une form du meme process (ca c'est pas trop
complique)


"Alexandre Czysz" wrote in message
news:43e2da55$0$17074$
Hello

Personnellement j'essayerai d'appeler les functions du style OnMouseDown
du Form parent.


"laurent hubaut" schrieb im Newsbeitrag
news:%
Hello,

je cherche le moyen d'avoir une application "boite de dialogue" qui est
transparente (ca, ca va) mais surtout qui permet de transferer les
evenements de la souris aux applications qui sont en dessous d'elle tout
en permettant d'intercepter les messages de la souris (concretement, je
cherche a savoir si l'utilisateur a cliqué dans une zone determinée)

Qq'un a t'il une piste?
Merci

.







Avatar
# Cyrille37 #
laurent hubaut a écrit :
Merci pour ta reponse,

Le probleme, c'est que je souhaite transferer a l'appli qui est dessous
(donc un autre process) pas a une form du meme process (ca c'est pas tr op
complique)



Donc c'est de la communication inter-processus.
En l'occurence il s'agit d'envoyer des messages Windows.

Du coup il te faut récupérer la Handle de la fenêtre de destination , peut être
avec la fonction FindWindow de l'API Win32.
Puis re-envoyer vers cette fenêtre les messages de la souris avec la fu nction
SendMessage() de l'API Win32.

J'ais que ça sous la main, juste pour te donner des pistes :

<code csharp>

using System.Runtime.InteropServices;

[DllImport("user32.dll", EntryPoint="SendMessageA")]
static extern uint SendMessage(System.IntPtr hwnd, uint wMsg, uint wParam , uint
lParam);
const int WM_VSCROLL = 0x115;
const int SB_BOTTOM = 7;

void printError(string msg)
{
...
// auto scroll
SendMessage(this.report.Handle, WM_VSCROLL, SB_BOTTOM, 0);
}

</code>

Tu fais quoi comme appli ? Un trojan qui chouffe les n° d'CB ?
;oP

cyrille.



"Alexandre Czysz" wrote in message
news:43e2da55$0$17074$
Hello

Personnellement j'essayerai d'appeler les functions du style OnMouseDo wn
du Form parent.


"laurent hubaut" schrieb im Newsbeitrag
news:%
Hello,

je cherche le moyen d'avoir une application "boite de dialogue" qui e st
transparente (ca, ca va) mais surtout qui permet de transferer les
evenements de la souris aux applications qui sont en dessous d'elle t out
en permettant d'intercepter les messages de la souris (concretement, je
cherche a savoir si l'utilisateur a cliqué dans une zone determiné e)

Qq'un a t'il une piste?
Merci

.










Avatar
laurent hubaut
Merci pour ta reponse

C'est la premiere solution qui m'etait venu a l'esprit mais je me demandais
s'il n'y avait pas moyen de relancer l'evenement par un moyen plus simple
(la fenetre que je vise est la suivante dans le z-order)

Tu fais quoi comme appli ? Un trojan qui chouffe les n° d'CB ?
;oP


non non ne t'inquiete pas (de toutes facons, avec les clicks de souris je
n'irai pas loin). Je fais un plugin pour piloter xlobby (www.xlobby.com)
avec un ecran tactile et j'ai besoin de savoir dans quelle zone d'une image
l'utilisateur a clique tout en renvoyant l'evenement a xlobby pour qu'il le
gere normalement) D'ou l'interet d'une window transparente qui dispatch les
evenements.

je regarde aussi aux hooks : http://support.microsoft.com/kb/318804/
mais l'utilisation en c# semble assez limitée

encore merci pour tes reponses

"# Cyrille37 #" wrote in message
news:%
laurent hubaut a écrit :
Merci pour ta reponse,

Le probleme, c'est que je souhaite transferer a l'appli qui est dessous
(donc un autre process) pas a une form du meme process (ca c'est pas trop
complique)



Donc c'est de la communication inter-processus.
En l'occurence il s'agit d'envoyer des messages Windows.

Du coup il te faut récupérer la Handle de la fenêtre de destination, peut
être
avec la fonction FindWindow de l'API Win32.
Puis re-envoyer vers cette fenêtre les messages de la souris avec la
function
SendMessage() de l'API Win32.

J'ais que ça sous la main, juste pour te donner des pistes :

<code csharp>

using System.Runtime.InteropServices;

[DllImport("user32.dll", EntryPoint="SendMessageA")]
static extern uint SendMessage(System.IntPtr hwnd, uint wMsg, uint wParam,
uint
lParam);
const int WM_VSCROLL = 0x115;
const int SB_BOTTOM = 7;

void printError(string msg)
{
...
// auto scroll
SendMessage(this.report.Handle, WM_VSCROLL, SB_BOTTOM, 0);
}

</code>

Tu fais quoi comme appli ? Un trojan qui chouffe les n° d'CB ?
;oP

cyrille.



"Alexandre Czysz" wrote in message
news:43e2da55$0$17074$
Hello

Personnellement j'essayerai d'appeler les functions du style OnMouseDown
du Form parent.


"laurent hubaut" schrieb im Newsbeitrag
news:%
Hello,

je cherche le moyen d'avoir une application "boite de dialogue" qui est
transparente (ca, ca va) mais surtout qui permet de transferer les
evenements de la souris aux applications qui sont en dessous d'elle tout
en permettant d'intercepter les messages de la souris (concretement, je
cherche a savoir si l'utilisateur a cliqué dans une zone determinée)

Qq'un a t'il une piste?
Merci

.