Arne Skrevet 24. september 2008 Del Skrevet 24. september 2008 Hei! Jeg bruker sendwait() til å sende bokstaver til et vindu. Men cluet er at jeg må legge på en 5 sekunds-sleep for at jeg skal få tid til å skifte til det aktuelle vinduet bokstavene skal tastes inn i. Det jeg lurer på er om det er mulig å finne ut hvilket vindu som har fokus, og da f. eks. skrive: if (focus == "Mozilla Firefox") sendkeys.sendwait("tekst"); Med vennlig hilsen Arne Lenke til kommentar
Glenn F. Henriksen Skrevet 26. september 2008 Del Skrevet 26. september 2008 Det er ikke en egen C#/.NET funksjon for dette men du kan bruke Win32 funksjonen GetForgroundWindow(). Den gir deg en handle til vinduet som du kan bruke til å herje litt og finne informasjon om applikasjonsnavn. Lenke til kommentar
Arne Skrevet 29. september 2008 Forfatter Del Skrevet 29. september 2008 Takk for svar, du! Litt merkelig at MSDN ikke skriver noe om hvordan man kan bruke funksjonen. HWND-klassen har medlemmer, ikke sant? I så fall burde det være en smal sak å bruke funksjonen, og så finne ut om hwndObjekt.name == "Mozilla firefox"! Lenke til kommentar
Techster Skrevet 30. september 2008 Del Skrevet 30. september 2008 (endret) Takk for svar, du! Litt merkelig at MSDN ikke skriver noe om hvordan man kan bruke funksjonen. HWND-klassen har medlemmer, ikke sant? I så fall burde det være en smal sak å bruke funksjonen, og så finne ut om hwndObjekt.name == "Mozilla firefox"! Kanskje ikke helt det du leter etter men funksjonen WindowFromPoint() returnerer handle til vinduet som er på pointet du gir til funksjonen og det skal vel kunne gi deg muligheten til å legge inn tekst i childvinduer til programmet (f.eks firefox) også. Edit: Hvis du skal finne childvinduer bruker du ChildWindowFromPoint hvor du gir denne funksjonen handlen til hovedvinduet. Endret 30. september 2008 av Techster Lenke til kommentar
GeirGrusom Skrevet 30. september 2008 Del Skrevet 30. september 2008 Det kan være mer hensiktsmessig å bruke window class for å finne ut om det er vinduet du er interessert i en å hente teksten på selve vinduet. Grunnen er at teksten kan endre seg uten at window classen gjør det. Lenke til kommentar
Arne Skrevet 30. september 2008 Forfatter Del Skrevet 30. september 2008 Jeg vet ikke helt om dere forstår meg, eller om det bare er jeg som misforstår dere, men saken er den at jeg vil finne ut navnet på vinduet som har fokus - et vindu jeg ikke har laget, men som er et annet program. Lenke til kommentar
GeirGrusom Skrevet 30. september 2008 Del Skrevet 30. september 2008 Tror de fleste her har forstått det. Men HWND er ikke en klasse og har ingen medlemmer. For å hente teksten som står på et vindu må du bruke GetWindowText funksjonen. 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å