Merci de bien vouloir m'aider
Position fenetre d'un programme tiers
Position fenetre d'un programme tiers
Salut à tous, je suis à la recherche d'un code me permettant de connaitre les coordonnées X et Y d'une nouvelle fenetre que j'ouvrirai avec runprogram (une feuille excel ou un logiciel de gravure par exemple).
Merci de bien vouloir m'aider
Merci de bien vouloir m'aider
Tiens. Voilà un petit code que j'avais fait pour lancer le bloc-notes.
En fait, ça se résume à lancer ton prog avec RunProgram(), à utiliser FindWindow_(Nom, classe) pour trouver le handle de la fenêtre, et à récupérer les coordonnées x et y de la fenêtre dans une structure "Rect" avec GetWindowRect_(Handle, @Variable).
PS : C'est une vieille version. Pb 3.94
En fait, ça se résume à lancer ton prog avec RunProgram(), à utiliser FindWindow_(Nom, classe) pour trouver le handle de la fenêtre, et à récupérer les coordonnées x et y de la fenêtre dans une structure "Rect" avec GetWindowRect_(Handle, @Variable).
Code : Tout sélectionner
Global rect.RECT
If FindWindow_("Notepad",#Null) = 0
RunProgram("Notepad") : Delay(100)
hNotepad = FindWindow_("Notepad",#Null)
If OpenPreferences("RunNotePad.cfg") = 0 ; Première utilisation
CreatePreferences("RunNotePad.cfg")
PreferenceGroup("Last_Use")
WritePreferenceLong("Pos_X", 468)
WritePreferenceLong("Pos_Y", 32)
WritePreferenceLong("Width",300)
WritePreferenceLong("Height",200)
ClosePreferences()
SetWindowPos_(hNotepad,#HWND_TOPMOST,468,32,300,200,#SWP_SHOWWINDOW)
Else
PreferenceGroup("Last_Use")
Pos_X = ReadPreferenceLong("Pos_X",468)
Pos_Y = ReadPreferenceLong("Pos_Y",32)
Width = ReadPreferenceLong("Width",300)
Height = ReadPreferenceLong("Height",200)
SetWindowPos_(hNotepad,#HWND_TOPMOST,Pos_X,Pos_Y,Width,Height,#SWP_SHOWWINDOW)
ClosePreferences()
EndIf
Delay(200)
EndIf
Repeat
GetWindowRect_(hNotepad,@rect)
If FindWindow_("Notepad",#Null) = 0
CreatePreferences("RunNotePad.cfg")
PreferenceGroup("Last_Use")
WritePreferenceLong("Pos_X", rect\left)
WritePreferenceLong("Pos_Y", rect\top)
WritePreferenceLong("Width",rect\right-rect\left)
WritePreferenceLong("Height",rect\bottom-rect\top)
ClosePreferences()
End
EndIf
Until hNotepad = 0