begin process at 2012 02 14 06:52:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

Débutants

 > 

MoveWindow probleme


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

MoveWindow probleme

lundi 8 janvier 2007 à 17:53:02 | MoveWindow probleme

bimbo777

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

    Dim h As Int32

    Sub main()

        Process.Start("C:\test\")
        System.Threading.Thread.Sleep(500)

        MoveWindow(h, 0, 50, 10, 90, False)
        System.Threading.Thread.Sleep(500)


    End Sub

End Module

lundi 8 janvier 2007 à 18:48:42 | Re : MoveWindow probleme

BruNews

Administrateur CodeS-SourceS
Il vaut quoi ton h ???

ciao...
BruNews, MVP VC++
lundi 8 janvier 2007 à 19:07:32 | Re : MoveWindow probleme

BruNews

Administrateur CodeS-SourceS
h doit avoir une valeur cohérente avant d'être envoyé à MoveWindow().

par exemple:
h = FindWindow(CeQueTuVeuxIci, idemCeQueTuVeux);
if h Then MoveWindow(...)


ciao...
BruNews, MVP VC++
lundi 8 janvier 2007 à 22:14:07 | Re : MoveWindow probleme

Julien237

Moi je ferais :

        Dim p As Process
        p = Process.Start("C:\test\")
        System.Threading.Thread.Sleep(500)

        MoveWindow(p.MainWindowHandle, 0, 50, 10, 90, False)
        System.Threading.Thread.Sleep(500)

Julien.
mardi 9 janvier 2007 à 10:00:48 | Re : MoveWindow probleme

bimbo777

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))

Avez-vous une idée?

mardi 9 janvier 2007 à 10:06:43 | Re : MoveWindow probleme

Julien237

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 ...

Julien.
mardi 9 janvier 2007 à 10:13:55 | Re : MoveWindow probleme

Julien237

Réponse acceptée !
Voilà, ça marche mieux avec ce que propose BruNews :



  Public Declare Function MoveWindow Lib "user32" (ByVal hwnd As IntPtr, ByVal x As IntegerByVal y As IntegerByVal nwidth As IntegerByVal nHeight As IntegerByVal brepaint As BooleanAs Boolean
  Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As StringByVal lpWindowName As StringAs Int32

  Private Sub Form1_Load(ByVal sender As ObjectByVal 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...

Julien.
mardi 9 janvier 2007 à 10:15:51 | Re : MoveWindow probleme

Julien237

Oups, j'ai oublié l'essentiel : 

        Process.Start("c:\test")

Désolé pour vos boîtes à mail



Cette discussion est classée dans : long, dossier, probleme, integer, movewindow


Répondre à ce message

Sujets en rapport avec ce message

Un chtit probleme avec Readprocessmemory [ par thejojo79 ] voila je fais ca avec tout ce qui va bien avant '----------------------------------------------------Dim t As ByteReadProcessMemory pHandle, &H3FFFF, Probleme fichiers noms long avec espaces ! [ par zouros ] Bonjour à tous,Je doit pouvoir ouvrir des fichiers sur un serveur avec des noms longs et des espaces (en vb!)Je clique sur une chkbox pour choisir le Probleme bizarre avec un picturebox [ par Cyber ] Le code ci-dessous utilise la fonction printscreen pour le copier dans un picture boxPrivate Declare Function GetDC Lib "user32" (ByVal hwnd As Long) Pb de pile insuffisante [ par toto1980 ] J'ai menu qui s'affiche avec un click droit si je click droit puis click gauche ailleurs, j'ai l'erreur 28 " Espace pile insuffisant"Voici mon code:da Pb de pile insuffisante [ par toto1980 ] J'ai menu qui s'affiche avec un click droit si je click droit puis click gauche ailleurs, j'ai l'erreur 28 " Espace pile insuffisant"Voici mon code:da Pb de pile insuffisante [ par toto1980 ] J'ai menu qui s'affiche avec un click droit si je click droit puis click gauche ailleurs, j'ai l'erreur 28 " Espace pile insuffisant"Voici mon code:da DLL : PROBLEME [ par Clonk ] Voilà, j'ai récupéré 2 sources sur le site, je les ai utilisées toutes les 2 (en adaptant le code), seulement, j'ai un problème avec un DLL, voilà la Convertir un WMF en EMF [ par daveCrocket ] Bonjour à tous,j'ai récupérer ce source pour transformer un wmf en emf, mais je ne sais pas comment je dois l'utiliser. Pouvez-vous m'aider ?********* Probleme tres pertinant avec les ocx! [ par XGuarden ] Comment retrouver le app.path du rpojet auquel mon ocx est ajouter a partir du ocx seulement?Comment faire apparaitre un e fenetre de propriété avec u


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,106 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales