Gjakmarrja Skrevet 18. november 2005 Del Skrevet 18. november 2005 Hei... Jeg vil alltid være tilgjengelig på MSN selv om jeg spiller... problemet er at spille isje ligger seg ned... noe som er skrekkelig irriterende... Jeg har tenkt litt og kommet frem til en mulig fremgangs måte... * Liste opp alle åpne vinduer, viss det prosess treet er knytta til msn så ligge ned et vindu av mitt valg.. skjønner? *Også bare det at antall åpne vinduer forandrer seg... *Og sjekke caption til alle åpne vinduer.... Så en timer.. som sjekker vært 20 sec.. om noen MSN samtale vinduer er åpnet er det jeg trenger... viss den finner det.. så vil jeg at den skal minimize et annet vindu som jeg bestemmer.. Jeg har googla litt og jeg vet såpass at det fins API for å liste opp alle vinduer og deres prosesstre.. men ja.. skjønte meg isje på sånn hwn.. ting.. Anyone? Tusen Tusen takk til de som hjelper meg her ass.. evig takknemmelig.. Og viss noen vet om det går ann å bruke MSN API til å løse problemet så er jeg med på den... Lenke til kommentar
Gjakmarrja Skrevet 18. november 2005 Forfatter Del Skrevet 18. november 2005 Forresten jeg bruker VS.NET 2003 Jeg lå til msn 7.5 exe i refrence.. og tok en titt på msn api i object explorer.. Det er en event der som heter.. Public Event OnIMWindowCreated(ByVal pIMWindow As Object) Hvordan kan eg få ting til å skje ut i fra det? Lenke til kommentar
GeirGrusom Skrevet 19. november 2005 Del Skrevet 19. november 2005 En thread kan ikke endre på vinudene til andre threads uten videre, det er der problemet kommer. Public Const SW_HIDE = 0 Public Const SW_NORMAL = 1 Public Const SW_SHOWMINIMIZED = 2 Public Const SW_MAXIMIZE = 3 Public Const SW_SHOWNOACTIVATE = 4 Public Const SW_SHOW = 5 Public Const SW_MINIMIZE = 6 Public Const SW_SHOWMINNOACTIVE = 7 Public Declare Auto Function ShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Integer, ByVal nCmdShow As Integer) As Integer For liste opp alle vinduer (pun) så må du bruke Public Declare Auto Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Integer, ByVal lParam As Integer) As Integer Public Declare Function Auto EnumChildWindows Lib "user32" Alias "EnumChildWindows" (ByVal hWndParent As Integer, ByVal lpEnumFunc As Integer, ByVal lParam As Integer) As Integer en lpEnumFunc skal se slik ut: Public Function EnumWindowsProc(hwnd As Integer, lParam As Integer) As Boolean 'Din kode her EnumChildWindows(AddressOf EnumChildWindowsProc, hWnd) Return False End Function Public Function EnumChildWindowsProc(hWnd As Integer, lParam As Integer) As Boolean ' Din kode her EnumChildWindows(AddressOf EnumChildWindowsProc, hWnd) Return False End Function Du må lage en for EnumChildWindows og EnumWindows. deretter kaller du EnumWindows(AddressOf EnumWindowsProc, 0) og resten skal gå automatisk. lParam i EnumChildWindowProc er hWnd til parent hwnd, men du kan gi akkurat hva du vil der. Lenke til kommentar
Gjakmarrja Skrevet 19. november 2005 Forfatter Del Skrevet 19. november 2005 (endret) WOW... mye info her Jeg er isje så god til dette så... du eg må ha det en med tesje.. Endret 19. november 2005 av chills Lenke til kommentar
GeirGrusom Skrevet 19. november 2005 Del Skrevet 19. november 2005 Public Const SW_HIDE = 0 Public Const SW_NORMAL = 1 Public Const SW_SHOWMINIMIZED = 2 Public Const SW_MAXIMIZE = 3 Public Const SW_SHOWNOACTIVATE = 4 Public Const SW_SHOW = 5 Public Const SW_MINIMIZE = 6 Public Const SW_SHOWMINNOACTIVE = 7 Public Declare Auto Function ShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Integer, ByVal nCmdShow As Integer) As Integer Public Declare Auto Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Integer, ByVal lpString As String, ByVal cch As Integer) As Integer Public Declare Auto Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Integer, ByVal lParam As Integer) As Integer Public Declare Function Auto EnumChildWindows Lib "user32" Alias "EnumChildWindows" (ByVal hWndParent As Integer, ByVal lpEnumFunc As Integer, ByVal lParam As Integer) As Integer Public Function EnumWindowsProc(hwnd As Integer, lParam As Integer) As Boolean Dim name As String = Space(256) GetWindowText(hWnd, name, 256) Console.WriteLine(name) ShowWindow(hwnd, SW_MINIMIZE) EnumChildWindows(AddressOf EnumChildWindowsProc, 1) Return False End Function Public Function EnumChildWindowsProc(hWnd As Integer, lParam As Integer) As Boolean Dim name As String = Space(256) GetWindowText(hWnd, name, 256) Console.WriteLine(Space(lParam) & name) EnumChildWindows(AddressOf EnumChildWindowsProc, lParam + 1) Return False End Function Private Sub Form_Load(sender As Object, e As EventArgs) Handles MyBase.Load EnumWindows(AddressOf EnumWindowsProc, 0) End Sub Denne burde legge ned alle hovedvinduer, og skrive teksten på alle i et console vindu (utestet) Lenke til kommentar
Gjakmarrja Skrevet 19. november 2005 Forfatter Del Skrevet 19. november 2005 Bare lurer men ka returnerer denne linjen her for noe: Private Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Boolean ka får eg vite når eg kaller den og kordan utnytte det... Eg e helt grønn.. og vi må ta det sakte.. og den koden.. funka.. ikke Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå