C# [Résolu] C# D. MoveWindow

A

Anonymous

Invité
#1
Bonjour,

J'essaye de me remettre dans une petite conception artisanale d'un Bot D. Géré par Pixel.. Un bon Vieux GetPixel..
Et je Bloque déjà au resize de la fenêtre D.

J'ai essayé le code suivant qui marche pour la Calculatrice mais pas pour D. Bizzarement par exemple :

Code:
hWnd = FindWindow(null, "D.");
SetForegroundWindow(hWnd);
MoveWindow(hWnd, 100, 100, 100, 100, true);
Voila .. 2 jours que je me casse le crane a essayer de comprendre pourquoi ça ne marche pas ..
Désespéré je viens demander de l'aide sur Cadernis :D
Merci d'avance ! :)
 

Shornaal

Membre Actif
Inscrit
17 Février 2011
Messages
194
Reactions
0
#2
Re: C# D. MoveWindow

Le nom de la fenêtre Dofus n'est pas Dofus, ironiquement. C'est le nom de ton personnage. Si ma mémoire est bonne ! Je n'ai plus Dofus d'installé depuis un certain temps.
 

RedBust

Membre Actif
Inscrit
1 Decembre 2009
Messages
260
Reactions
0
#3
Re: C# D. MoveWindow

Pour le savoir il aurait suffit de lire le nom de la fenêtre.
 
A

Anonymous

Invité
#4
Re: C# D. MoveWindow

C'est bien D. ... Comme je la met en SetForegroudWindow.. et ça marche .. Donc j'ai le Handle de la fenêtre .. Mais par contre impossible de Resize .... Je comprend pas pourquoi ..
Ceci dit .. rapide les réponses les mec .. ça fait plaisir .. Chapeau bas :)
 

Shornaal

Membre Actif
Inscrit
17 Février 2011
Messages
194
Reactions
0
#5
Re: C# D. MoveWindow

Il est toujours lancé car il gère le son de l'application, normalement, la fenêtre contenant le jeu à le même nom que celui de ton personnage (Après connexion sur celui-ci bien sûr). Avant la connexion, ta fenêtre de client se nomme effectivement Dofus mais ne te servira pas à grand chose. Après tu peux essayer de voir si une exception est soulevée. Gérer les erreurs dans ton code, ça aide beaucoup.
 
A

Anonymous

Invité
#6
Re: C# D. MoveWindow

Rho fait chier .. xD Jme mettrais bien au Socket mais j'arrive a rien :/ Je sait pas comment interpréter les messages que je reçois xD
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#7
Re: C# D. MoveWindow

La reussite est le resultat de la patiente et de l'implication.
 
A

Anonymous

Invité
#8
Re: C# D. MoveWindow

Ok ..
Hmm Alors la ma Fenétre D. s'appelle "Stenah"... j'arrive a la mettre au premier plan .. mais toujours pas a la redimensionner ... :/ a quoi ça peut être du ? :/
 
Inscrit
19 Juillet 2011
Messages
38
Reactions
0
#9
Re: C# D. MoveWindow

Peut-être que si tu lances ton application en mode administrateur ça peut régler le bug, j'avais vu un truc dans ce genre il y a pas trop longtemps, mais je ne me rapelle plus trop ou
 
A

Anonymous

Invité
#10
Re: C# D. MoveWindow

Nah .. :'(
Ma fonction :

SetCursorPos(x, y);
mouse_event((int)(MouseEventFlags.LEFTDOWN), x, y, 0, 0);
mouse_event((int)(MouseEventFlags.LEFTUP), x, y, 0, 0);

Marchent pas non plus .. pas d'erreur apparaissent .. tout se compile bien .. mais pas de réaction ..
Comme si c’était le bon code mais que ça n'impactais pas la fenêtre D. .. Je comprends pas ..
J'ai testé le Mode Admin .. ça change rien .. :/
 
A

Anonymous

Invité
#11
Re: C# D. MoveWindow

est-ce que quelqu'un qui a D. et Visual Studio C# peut faire un test tout simple avec une Form et 1 bouton.

Quand on click :

/* Declarations */

[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SetForegroundWindow(IntPtr hWnd);

[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);

[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SetCursorPos")]
internal extern static Int32 SetCursorPos(Int32 x, Int32 y);

/* Fonction */

IntPtr hWnd = FindWindow(null, "D.");
SetForegroundWindow(hWnd);
SetCursorPos(500, 500);

Pourquoi ça ne marche pas ? :/
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#12
Re: C# D. MoveWindow

Ce soir je test cela
 
A

Anonymous

Invité
#13
Re: C# D. MoveWindow

Coucou !
Un petit Up' Savoir si il y a du nouveau ? :p Je pense que lolo a rendu l’âme en essayant de trouver une solution la .. lol :p
Un nouveau cobaille ? :D
 

Lakh92

Membre Actif
Inscrit
24 Decembre 2009
Messages
118
Reactions
0
#14
Re: C# D. MoveWindow

Salut, AbreG.
J'ai, après avoir rajouté la fonction ShowWindow (que tu as oublié, oui oui oui !), testé les trois lignes que tu as fournies.
Résultat : La fenêtre de Dofus apparaît, mais rien d'autre.

Je suppose que c'est à toi d'interpréter ça...
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#15
Re: C# D. MoveWindow

Desole mais je n'ai plus aucun acces a mon ordinateur...
 
A

Anonymous

Invité
#16
Re: C# D. MoveWindow

Merci pour vos réponses :D,
@Lakh92 : Le ShowWindows a pour but de donner la main a D. si je ne me trompe pas ?
Etant donné que je fais un "SetForegroundWindows()" D. a deja la main il me semble.

Effectivement les 3 lignes que j'ai donné me permettent de mettre en premier plan la fenêtre D.
Mais j'aimerais par exemple déplacer et redimensionner ma fenêtre dans le coin en haut a gauche.. a la position ( 0, 0, 800, 600) par exemple.

ça fonctionne si je focus le Handle ("Calculatrice") Mais pas avec mon Handle ("D.")..
Le SetCursorPos ne fonctionne pas non plus..
Je comprend pas pourquoi certaines fonctions ne fonctionnent pas sur D. alors qu'elles fonctionnent sur le HAndle "Calculatrice".

Merci encore pour votre aide ! Je continue mes recherches .. si vous avez d'autres idées ! :)
 

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#17
Re: C# D. MoveWindow

salut bisard que SetCursorPos marche pas ca a rien a voir avec dofus ca , as tu essayé avec :
(vb dsl)
Declare Sub SetCursorPos Lib "user32" (ByVal p As Point) ?
 
A

Anonymous

Invité
#18
Résolu !
En fait a la compilation Visual studio n’exécute pas mon programme en temps qu'Administrateur ! Le pti salaud ..
Et donc Bizarrement ça restreint pas mal les choses .. ^^ donc Voila .. Merci pour vos suggestions et votre aide ! :)
Sinon je cherche comment mettre mon sujet a Résolu. :) Encore merci :)
 
Haut Bas