Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Behöver lite tipps!!

Postades av 2003-08-13 08:07:49 - Henke Larsson, i forum c# (c-sharp), Tråden har 7 Kommentarer och lästs av 816 personer

jag har i SPY++ hittat den kontroll jag söker i en extern applikation jag inte har källkoden till. Den är av classtyp Edit.
Det jag vill göra med denna kontroll nu är att få ut texten ifrån den. Detta har nu medfört vissa problem som jag hoppas ni kan hjälpa mig med.
Edit kontrollen blir uppdaterad via en server. Den får sin data rad för rad. Varje gång som kontrollen uppdateras så har den fått en extra rad längst ner i Edit boxen.

Problem 1:
Hur kan jag få tag på Edit kontrollens hwnd?
Min ideé...
Parent windowen inehåller 3 st Edit kontroller dessa har inget unikt som identifierar dem då deras namn varierar. Det jag hade tänkt mig är att Enum igenom alla Edit kontroller och titta efter previous window för att där kunna avgöra vilken kontroll som är rätt då denna har en unik kontroll som previous.
Men hur kan man få fram previous window mha en hwnd?
(Previos window finns med i SPY++ om man väljer properties och sedan windows på ett window)

PROBLEM 2: Det svåraste!! ;)
Hur kan jag synkronisera min applikation med Editkontrollens uppdatering?
Min ideé...
Skapa någon typ av funktion som ligger och lyssnar effter ett WM_SETTEXT meddelande som kommer till denna kontroll. Sedan par den den sista raden ur detta WM_SETTEXT meddelande och lägger det i någon form av kö som jag kan hämta värdena ur och behandla.
Men hur vet jag att den garanterat fångar upp alla meddelanden av denna typen och inte missar några? Vad kallas den typ av funktion som behöver skapas, den behöver ju ligga och köra parallelt med min applikation hela tiden.
-------------------------------------------------------------------------------
Är mina ideér korrekta eller är det någon som har några andra förslag?
Någon som kan föreslå bra sökord på goggle eller har sett liknande artiklar på nätet?

Den externa applicationen är inte en .Net application

Tackar på förhand //Henrik


Svara

Sv: Behöver lite tipps!!

Postades av 2003-08-13 12:28:57 - Mattias Sjögren

>Hur kan jag få tag på Edit kontrollens hwnd?
>Min ideé...
>Parent windowen inehåller 3 st Edit kontroller dessa har inget unikt som identifierar >dem då deras namn varierar.

Har de inte konstanta kontroll ID då? Om de har det kan du använda GetDlgItem.


>Hur kan jag synkronisera min applikation med Editkontrollens uppdatering?

Jag skulle använda pollning istället. Skicka WM_GETTEXT med jämna mellanrum och senda själv räkna ut vad som ändrats sen sist.


MS


Svara

Sv: Behöver lite tipps!!

Postades av 2003-08-13 12:43:42 - Henke Larsson

Jo se där. Kontroll ID hade ingen aning om att det fanns något sådant. Kan du förklara vad de gör? Är de samma för alla instalationer av samma program vilken dator jag än kör det på?
Hur används GetDlgItem?

Vad menas med polling? Är det möjligt att göra på något annat sätt? Kunde vara roligt med något mer förslag för det kan bli riktigt svårt att avgöra vad som ändras?
SPY++ lyckas ju fånga upp alla WM_SETTEXT hur gör den det då?

Har hittat lite info om window hooks. Kan detta vara rätt sätt att angripa problemet och hur ska jag isf göra ;)

MVH Henrik


Svara

Sv: Behöver lite tipps!!

Postades av 2003-08-13 14:57:07 - Mattias Sjögren

>Kan du förklara vad de gör?

Fungerar bara som ett ID nummer för en kontroll.


>Är de samma för alla instalationer av samma program vilken dator jag än kör det på?

För det mesta är de det, men jag tror inte det är garanterat.


>Hur används GetDlgItem?

Du skickar in HWND för det fönster kontrollen ligger i och kontrollens ID, och får tillbaka kontrollens HWND.


>SPY++ lyckas ju fånga upp alla WM_SETTEXT hur gör den det då?

Använder en global hook tror jag.


MS


Svara

Sv: Behöver lite tipps!!

Postades av 2003-08-13 15:26:07 - Henke Larsson

Går en sådan global hook att skapa i C# och vet du vart jag kan läsa mer om detta? Har sökt på goggle men inte hittat något. Vet inte om jag använde rätt sökord. Vet du någon C# bok som tar upp detta eller liknande?

Vet du om det går att få reda på hur många rader text en Edit kontroll inehåller innan jag hämtar texten ifrån den?
Kan man isåfall bara specifisera så att man bara hämtar den sista raden eller måste man hämta hela texten och sedan plocka ut den sista raden?

MVH Henrik


Svara

Sv: Behöver lite tipps!!

Postades av 2003-08-14 22:40:22 - Mattias Sjögren

>Går en sådan global hook att skapa i C#

Nej


>Vet du om det går att få reda på hur många rader text en Edit kontroll inehåller innan jag hämtar texten ifrån den?

Vore det inte enklare att bara hämta all text och sendan dela upp den i rader?


MS


Svara

Sv: Behöver lite tipps!!

Postades av 2003-08-15 07:28:24 - Henke Larsson

Ok så detta är enda sättet att lösa det på alltså? Finns det inga motsvarigheter till global hook i C#?


Svara

Sv: Behöver lite tipps!!

Postades av 2003-08-15 08:50:10 - Niklas Jansson

Kan du inte skriva själva hooken i C, och på nåt sätt föra över det till C#?

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/Windowing/Hooks/UsingHooks.asp


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 155
27 952
271 704
3 306
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies