bimbo777
Messages postés63Date d'inscriptionmercredi 25 janvier 2006StatutMembreDernière intervention17 janvier 2007
-
8 janv. 2007 à 17:53
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 2009
-
9 janv. 2007 à 10:15
Bonsoir à tous,
J'essaye d'ouvrir un dossier présent à la racine de mon C:\ et de redimenssioner cette fenêtre.
J'arrive bien à appeler le dossier mais le resize ne s'effectue pas.
Avez-vous une idée?
(je suis tjs débutant et je suis sous VS2005) Merci d'avance.
Module Module1
Public Declare Function MoveWindow Lib "user32" (ByVal hwnd As IntPtr, ByVal x As Integer, ByVal y As Integer, ByVal nwidth As Integer, ByVal nHeight As Integer, ByVal brepaint As Boolean) As Boolean
Public Declare Function FindWindow Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Int32
Private Structure RECT
Dim Left As Long
Dim Top As Long
Dim Right As Long
Dim Bottom As Long
End Structure
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 9 janv. 2007 à 10:13
Voilà, ça marche mieux avec ce que propose BruNews :
Public Declare Function MoveWindow Lib "user32" (ByVal hwnd As IntPtr, ByVal x As Integer, ByVal y As Integer, ByVal nwidth As Integer, ByVal nHeight As Integer, ByVal brepaint As Boolean) As Boolean
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Int32
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim h As IntPtr
System.Threading.Thread.Sleep(500)
h = FindWindow(Nothing, "test")
h = h.ToInt64 Or FindWindow(Nothing, "C:\test")
MoveWindow(h, 0, 0, 100, 100, True)
System.Threading.Thread.Sleep(500)
End Sub, ----
(Coloration syntaxique automatique par Kenji)
Tu remarqueras qu'il fait 2 FindWindows, une fois avec le chemin complet, une fois sans, c'est simplement parce que l'affichage du chemin complet est une option de l'explorer et que c'est plus facile de faire comme ça que de savoir comment l'utilisateur l'a définie...
bimbo777
Messages postés63Date d'inscriptionmercredi 25 janvier 2006StatutMembreDernière intervention17 janvier 2007 9 janv. 2007 à 10:00
Bonjour et merci encore de vos réponses.
J'ai toujours un prblm avec la solution de Julien:
System.NullReferenceException was unhandled
Message="La référence d'objet n'est pas définie à une instance d'un objet."
(sur la ligne MoveWindow(p.MainWindowHandle, 0, 50, 10, 90, False))
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 9 janv. 2007 à 10:06
Ouaip le problème est plus subtil qu'il n'y parait.
En fait, l'erreur ne vient pas vraiment du code, essaie le avec n'importe quel programme (par exemple avec p = Process.Start("calc.exe")) et tu verras qu'il fonctionne...
Le problème vient de l'explorateur windows, ca m'était déjà arrivé, il a quelque chose de "non-standard"...
Je fais quelques test et je reviens ...