Bonjour,
je suis entrain de developper une application sous VB.NET, l'application doit faire deplacer les fenetres qui ne sont pas agrandits en modifiant uniquement l'abscisse (x) sans modifier l'ordonnée y.
j'ai tout d'abord utilisé l'API GetWindowPlacement, qui detecte si les fenetres ouvertes sont agrandits, normales ou reduites, voici le code que j'ai utilisé et qui marche :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
Public Declare Function GetWindowPlacement Lib "user32" (ByVal hWnd As IntPtr, ByRef windowPlacement As WindowPlacement) As Long
 
Public Structure WindowPlacement
Public Length As UInteger
Public Flags As UInteger
Public ShowCmd As ShowState
Public MinPosition As Point
Public MaxPosition As Point
Public NormalPosition As Rectangle
EndStructure
 
Public Enum ShowState As UInteger
SW_HIDE = 0
SW_SHOWNORMAL = 1
SW_SHOWMINIMIZED = 2
SW_SHOWMAXIMIZED = 3
SW_SHOWNOACTIVATE = 4
SW_SHOW = 5
SW_MINIMIZE = 6
SW_SHOWMINNOACTIVE = 7
SW_SHOWNA = 8
SW_RESTORE = 9
SW_SHOWDEFAULT = 10
End Enum
 
Dim W As WindowPlacement
If W.ShowCmd = 1 Then
le probleme c'est que apres je ne sais pas quelle API utiliser, si j'opte pour SetWindowPos, celle ci prend comme parametres : x et y qui sont les coordonnées de la fenetres, cx et cy qui sont les dimensions de la fenetres ainsi que d'autres parametres, or je ne veux modifier que x, et je ne peux pas donner aux autres parametres des valeurs afin de ne pas toucher aux dimensions des fenetres ouvertes, j'ai essayé d'utiliser GetWindowPlacement, mais là aussi je seche, je ne trouve pas comment modifier le x.
merci pour votre aide.