vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Windows API
Andere Anwendungen auslesen -> SysListView32 
Autor: Jojo
Datum: 09.06.04 10:43

Hallo Jungs,

nachdem das Thema ja wirklich interessant ist und ich mich eine Weile damit beschäftig habe möchte ich mal das Ergebnis posten.

Ich möchte eine Fremdanwendung steuern und dazu informationen aus einem SysListView32 Element auslesen.

Das normale Sendmessage geht dabei nicht. Man verwendet Cross-Process Data Extraction auch SharedMemory

Ich habe mal das Beispielprojekt auf meinen Server gelegt. Wer interesse hat kann ja mal einen Bilck drauf werfen.

Ich probiere z.Z. mit verschiedenen Techinken und habe schon einige, bei denen es funktioniert.

Mein Problem:
Es funktionier mit den meisten Anwendungen - jedoch nicht mit der auf die ich Zugreifen möchte (WinMX)

So funktioniert es ....

Public Function GetLVWLabel(lHwnD As Long, lNum As Long) As String
    Dim pid As Long, tid As Long
    Dim hProcess As Long
    Dim lpSysSharedA As Long, dwSizeI As Long
    Dim lpSysSharedB As Long, dwSizeT As Long
    Dim hFileMappingA As Long
    Dim hFileMappingB As Long
    Dim lWritten As Long
    Dim LV As LV_ITEM
    Dim LT As LV_TEXT
 
    LV.cchTextMax = 800
 
    dwSizeI = Len(LV)
    dwSizeT = Len(LT)
 
    tid = GetWindowThreadProcessId(lHwnD, pid)
 
    If IsWindowsNT Then
        lpSysSharedA = GetMemSharedNT(pid, dwSizeI, hProcess)
        lpSysSharedB = GetMemSharedNT(pid, dwSizeT, hProcess)
 
        With LV
            .mask = LVIF_TEXT
            .lpszText = lpSysSharedB
            .cchTextMax = 80
            .iItem = lNum
        End With
 
            WriteProcessMemory hProcess, ByVal lpSysSharedA, LV, dwSizeI, _
              lWritten
            WriteProcessMemory hProcess, ByVal lpSysSharedB, LT, dwSizeT, _
            lWritten
 
            SendMessage lHwnD, LVM_GETITEMW, 0, ByVal lpSysSharedA
 
            ReadProcessMemory hProcess, ByVal lpSysSharedB, LT, dwSizeT, _
              lWritten
 
            GetLVWLabel = TrimNull(StrConv(LT.sItemText, vbFromUnicode))
 
            FreeMemSharedNT hProcess, lpSysSharedA, dwSizeI
            FreeMemSharedNT hProcess, lpSysSharedB, dwSizeT
    Else
            lpSysSharedA = GetMemShared95(dwSizeI, hFileMappingA)
            lpSysSharedB = GetMemShared95(dwSizeT, hFileMappingB)
 
            LV.lpszText = lpSysSharedB
 
            CopyMemory ByVal lpSysSharedA, LV, dwSizeI
            CopyMemory ByVal lpSysSharedB, LT, dwSizeT
 
            SendMessage lHwnD, LVM_GETITEMTEXTA, lNum, ByVal lpSysSharedA
 
            CopyMemory LT, ByVal lpSysSharedB, dwSizeT
            GetLVWLabel = TrimNull(LT.sItemText)
 
            FreeMemShared95 hFileMappingA, lpSysSharedA
            FreeMemShared95 hFileMappingB, lpSysSharedB
    End If
End Function
Treeview.zip

Jojo
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Andere Anwendungen auslesen -> SysListView323.195Jojo09.06.04 10:43
Tolle vbArchiv User GEMEINschaft 1.781T.i.m.11.07.04 11:02
Re: Tolle vbArchiv User GEMEINschaft 1.514ModeratorMartoeng11.07.04 15:23
sorry1.646T.i.m.11.07.04 15:37
Re: Tolle vbArchiv User GEMEINschaft 1.309Jojo_103.09.04 14:52
Re: Tolle vbArchiv User GEMEINschaft 1.378ModeratorMartoeng03.09.04 15:06
Re: Tolle vbArchiv User GEMEINschaft 1.291Jojo_126.08.04 08:33
Re: Andere Anwendungen auslesen -> SysListView321.516planetULTRA30.07.04 16:38
Re: Andere Anwendungen auslesen -> SysListView321.396Jojo_126.08.04 08:30
Re: Andere Anwendungen auslesen -> SysListView321.389Venda03.09.04 14:15
Re: Andere Anwendungen auslesen -> SysListView321.349Jojo_103.09.04 14:47
Re: Andere Anwendungen auslesen -> SysListView321.381Venda06.09.04 09:39
Re: Andere Anwendungen auslesen -> SysListView321.457Jojo_106.09.04 10:04
Re: Andere Anwendungen auslesen -> SysListView321.364Venda07.09.04 08:19
Re: Andere Anwendungen auslesen -> SysListView321.566davman24.09.04 00:30

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel