Avatar billede jesperthomsen1980 Nybegynder
19. marts 2009 - 11:51 Der er 15 kommentarer

Flytte vindue med vb.net program

Hej Eksperter.

Har haft et problem over en længere periode, og jeg kan simpelhen ikke finde noget som jeg kan få til at virke. Jeg tror jeg har været tæt på, men står nu på bar bund, så skal bruge et helt eksempel som virker, og så skal jeg nok finde ud af hvordan det hænger sammen.

Problemet:

Jeg skal bruge et program der kan flytte et vindue( internet explorer) hen til et bestemt placering. Jeg forestiller mig lidt, at jeg kan skrive koordinaterne for venstre hjørne, og så flytter den vinduet derhen.

Om det er det aktive vindue den flytter eller om den tager et tilfældig åben vindue er ligegyldigt - det skal jeg nok selv få tilrettet. Jeg kan bare ikke finde ud af hvad det er der gør det muligt at flytte vinduer.

Håben nogen kan hjælpe.
Avatar billede aaberg Nybegynder
19. marts 2009 - 12:03 #1
Du skal bruge pinvoke for at gøre dette. Det vil sige, du skal kalde funktioner i Windows. Windows har en funktion der hedder MoveWindow, mon ikke det er den du skal have fa i.

Se dette link. Der er også et eksempel.
http://pinvoke.net/default.aspx/user32.MoveWindow
Avatar billede aaberg Nybegynder
19. marts 2009 - 12:05 #2
Bare sig fra, hvis du skal bruge mere hjælp end dette.
Avatar billede jesperthomsen1980 Nybegynder
19. marts 2009 - 12:07 #3
Synes jeg har leget med movewindow før, men nok ikke på den rigtige måde. Jeg kigger lige på dit link, og vender tilbage når jeg har testet i mit eget program.

Tak for hjælpen so far
Avatar billede jesperthomsen1980 Nybegynder
19. marts 2009 - 20:38 #4
MoveWindow(Me.Handle, 200, 200, Me.Width, Me.Height, True)

Her kan jeg så skrive hvor jeg vil have vinduet. Det var lige det jeg skulle bruge. Mange tak...
Avatar billede jesperthomsen1980 Nybegynder
19. marts 2009 - 20:39 #5
kan det godt passe du kun har skrevet kommentar og ikke svar?
Avatar billede jesperthomsen1980 Nybegynder
19. marts 2009 - 23:16 #6
Hov beklager - jeg har sovet lidt.

Det er ikke det jeg skulle bruge, for det flytter kun formens eget vindue - ikke en browservindue, så desværre kan det ikke bruges. Ved ikke hvordan jeg får fat på browservinduet og arbejder videre med det...

Nogen der kan hjælpe lidt på vej?
Avatar billede aaberg Nybegynder
20. marts 2009 - 08:59 #7
Du skal først finde et window handle til det vindue der skal flyttes. Eksemplet fra linket, finder et handle til det øverste vindue.
Avatar billede aaberg Nybegynder
20. marts 2009 - 09:00 #8
Du kan bruge FindWindowEx funktionen til at finde et vindue.
http://pinvoke.net/default.aspx/user32.FindWindowEx
Avatar billede jesperthomsen1980 Nybegynder
20. marts 2009 - 09:09 #9
Går ud fra du mener denne kode:
Private Sub ResizeMe_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ResizeMe.MouseMove

    If e.Button = MouseButtons.Left Then

    MoveWindow(Me.Handle, Me.Location.X, Me.Location.Y, (Control.MousePosition.X - (Me.Left)) + 10, (Control.MousePosition.Y - Me.Top) + 10, True)
    Me.Refresh()
    System.Windows.Forms.Application.DoEvents()

    End If

Jeg har brugt nederste eksempel på dit øverste link, da jeg ikke kunne få v. studio til at acceptere "ResizeMe.MouseMove" - hvad kan grunden været til dette?

JEg prøver at tage et kig på dit nederste link
Avatar billede jesperthomsen1980 Nybegynder
22. marts 2009 - 13:58 #10
Kan slet ikke få noget som helst til at virke... :-/

Jeg er kommet frem til, at jeg formentlig skal bruge EnumChildWindows, men kan ikke finde et eksempel som viser hvordan det fungerer...

Håber nogle kan skubbe i den rigtige retning...
Avatar billede jesperthomsen1980 Nybegynder
24. marts 2009 - 15:25 #11
Efter at have rodet med det lang tid, har jeg lavet nogle forsøg med findwindowex og Spy++. Desværre kan jeg ikke få det til at virke efter hensigten, men kunne godt bruge en bekræftigelse på at det er den rigtige vej jeg går...
Avatar billede aaberg Nybegynder
24. marts 2009 - 23:15 #12
Jeg vil tro at du er på rette spor!

Hvis jeg får tid, kan jeg godt prøve at lave et virkene eksempel til dig, men det bliver ikke lige i dag.
Avatar billede jesperthomsen1980 Nybegynder
25. marts 2009 - 08:15 #13
Det ville være rigtig godt, og det er helt fint at det bliver engang når du har tid til det. Jeg arbejdere videre med det nu, og skriver her hvis jeg finder ud af noget...

Tak for det.
Avatar billede jesperthomsen1980 Nybegynder
12. april 2009 - 14:29 #14
Har endnu ikke fundet noget brugbart. Er begyndt at kigge i andre programmeringssprog, så hvis nogen har et eksempel i noget c i stedet, så vil jeg gerne have det.

på forhånd tak.
Avatar billede jesperthomsen1980 Nybegynder
28. maj 2009 - 09:07 #15
Hvis der er nogen der kan hjælpe er jeg villig til at give et par hundrede kroner for det. Vil meget gerne have det til at virke.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester