vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB & Windows API
remote Listview 
Autor: VBxler
Datum: 23.06.06 09:35

Hallo an alle.

Ich hab da ein Problem und finde einfach keine Lösung.

Ich möchte Daten (Text) in ein remote Listview schreiben,
das heisst, das Listview läuft in einem anderen Process und der
Handler des Listview ist bekannt.
Mit folgender Funktion kann man den Inhalt von Items und Subitem aus
einem remotlistview auslesen.
 
'-------------------------------------------------------------------------------
'== auslesen von gewählten items aus ListView in einem fremden process   
'-------------------------------------------------------------------------------
Function ListView_GetRemoteItemText (ByVal hListView As Dword, ByVal lRow As _
  Long, ByVal lColumn As Long) As String
    Local dwNumberOfBytesRead   As Dword
    Local dwProcessId           As Dword
    Local hProcess                As Dword
    Local plvi                        As LV_ITEM Ptr
    Local lvi                          As LV_ITEM
    Local szLvwMultiTxt         As Asciiz * %MAX_PATH
'---------------------------------------
 
    '== Öffne handler zum remote ListView
    Call GetWindowThreadProcessId(hListView, dwProcessId)    
    hProcess = OpenProcess(%PROCESS_VM_OPERATION Or %PROCESS_VM_READ Or _
      %PROCESS_VM_WRITE, %FALSE, dwProcessId)
 
    '== Speicher für remote Listview bereitstellen
    plvi = VirtualAllocEx(hProcess, ByVal %NULL, 4096&, %MEM_RESERVE Or _
      %MEM_COMMIT, %PAGE_READWRITE)
 
    '== Initialisiere locales LV_ITEM  
    lvi.mask     = %LVIF_TEXT
    lvi.iItem    = lRow
    lvi.iSubItem = lColumn
    lvi.pszText = plvi + SizeOf(LV_ITEM)
    lvi.cchTextMax = %MAX_PATH
 
    Call WriteProcessMemory(hProcess, ByVal plvi, lvi, SizeOf(lvi), ByVal _
      %Null)    '== schreibe locale LV_ITEM strukture zum remote memory block
    Call ListView_GetItem(hListView, @plvi)                                     _
        '== Das Listviewcontrol mit LV_ITEM füllen
 
    '== Lesen des Text im remote Listview
    Call ReadProcessMemory(hProcess, ByVal (plvi + SizeOf(LV_ITEM)), ByVal _
      VarPtr(szLvwMultiTxt), SizeOf(szLvwMultiTxt), dwNumberOfBytesRead)
    Call VirtualFreeEx(hProcess, plvi, 0, %MEM_RELEASE)     '== Speicher im 
    ' remote Listview bereinigen
    Call CloseHandle(hProcess)                             
 
    ListView_GetRemoteItemText = Trim$(szLvwMultiTxt)
End Function
Ich bäuchte jetzt 'nur' die Funktion wie ich ich Text in das remote Listview schreiben kann.
Vielleicht kann mir da einer helfen.

Vbxler
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
remote Listview1.449VBxler23.06.06 09:35
Re: remote Listview864ModeratorMartoeng23.06.06 15:15

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-2024 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