Español
Incluye

lv-iconpos.inc

 
Mit dieser INC kann el Position uno Icons innerhalb uno Listview ausgelesen y gesetzt voluntad.
Arbeitet auch en el Zusammenhang con el Listview.dll de Frank Abbing.

Auch besonderen Dank a Herrn Andreas Miethe y Herrn Uwe Niemeier.
KompilierenMarcaSeparación
Declare ptOriginal1#,ptOriginal2#
Declare lpSysShard95#
Def FindWindowEx(4) ! user32,FindWindowExA
Def GetWindowThreadProcessId(2) !user32,GetWindowThreadProcessId
Def ReadProcessMemory(5) ! kernel32,ReadProcessMemory
Def WriteProcessMemory(5) ! kernel32,ReadProcessMemory
Def CopyMemory(3) ! kernel32,RtlMoveMemory
Def XFindWindow(2) ! user32,FindWindowA
Declare _dsk_lv&,lpSysShared&,tid&,pid&,dwSize&,lWritten&,hProcess&,hFileMapping&
Struct OSVERSIONINFO = dwOSVersionInfoSize&,dwMajorVersion&,dwMinorVersion&,dwBuildNumber&,dwPlatformId&,szCSDVersion$(128)
Def GetVersionEx(1) ! kernel32 ,GetVersionExA
Def CreateFileMapping(6) ! kernel32,CreateFileMappingA
Def MapViewOfFile(5) ! kernel32,MapViewOfFile
Def UnmapViewOfFile(1) ! kernel32,UnmapViewOfFile
Def &STANDARD_RIGHTS_REQUIRED $F0000
Def &SECTION_QUERY $1
Def &SECTION_MAP_WRITE $2
Def &SECTION_MAP_READ $4
Def &SECTION_MAP_EXECUTE $8
Def &SECTION_EXTEND_SIZE $10
Def OpenProcess(3) ! kernel32,OpenProcess
Def &PROCESS_VM_OPERATION $8
Def &PROCESS_VM_READ $10
Def &PROCESS_VM_WRITE $20
Def &PROCESS_ALL_ACCESS $0
Def VirtualAllocEx(5) ! kernel32,VirtualAllocEx
Def VirtualFreeEx(4) ! kernel32,VirtualFreeEx
Def CloseHandle(1) ! kernel32,CloseHandle
Def &MEM_COMMIT $1000
Def &MEM_RESERVE $2000
Def &MEM_DECOMMIT $4000
Def &MEM_RELEASE $8000
Def &MEM_FREE $10000
Def &MEM_PRIVATE $20000
Def &MEM_MAPPED $40000
Def &MEM_TOP_DOWN $100000
Def &PAGE_NOACCESS $1
Def &PAGE_READONLY $2
Def &PAGE_READWRITE $4
Def &PAGE_WRITECOPY $8
Def &PAGE_EXECUTE $10
Def &PAGE_EXECUTE_READ $20
Def &PAGE_EXECUTE_READWRITE $40
Def &PAGE_EXECUTE_WRITECOPY $80
Def &PAGE_GUARD $100
Def &PAGE_NOCACHE $200
declare ptOriginal3#
declare glob_x&,glob_y&
Dim ptOriginal1#,8
Dim ptOriginal2#,8
Dim ptOriginal3#,256

Proc GetMemShared95

    Parameters memSize&
    hFileMapping& = CreateFileMapping($FFFFFFFF, 0, &PAGE_READWRITE, 0, memSize& ,0)
    Return MapViewOfFile(hFileMapping&,&PAGE_READONLY, 0, 0, 0)

EndProc

Proc FreeMemShared95

    Parameters lpMem&,memsize&
    UnmapViewOfFile(lpMem&)
    CloseHandle(hFileMapping&)

EndProc

Proc GetMemSharedNT

    Parameters pid&,memSize&
    hProcess& = OpenProcess( OR(OR(&PROCESS_VM_OPERATION,&PROCESS_VM_READ),&PROCESS_VM_WRITE), 0, pid&)
    Return VirtualAllocEx(hProcess&,0,memSize&,OR(&MEM_RESERVE,&MEM_COMMIT),&PAGE_READWRITE )

EndProc

Proc FreeMemSharedNT

    Parameters hProcess&,MemAddress&,memSize&
    VirtualFreeEx(hProcess&,MemAddress&,memSize&,&MEM_RELEASE)
    CloseHandle(hProcess&)

EndProc

Proc IsWindowsNT

    Declare verinfo#
    Dim verinfo#,OSVERSIONINFO
    verinfo#.dwOSVersionInfoSize& = 148
    GetVersionEx(verinfo#)

    If verinfo#.dwPlatformId& = 2

        Return 1

    Else

        Return 0

    Endif

EndProc

Proc GetSysLVHwnd

    Declare h&
    h& = XFindWindow(Progman,0)
    h& = FindWindowEx(h&, 0, SHELLDLL_defVIEW,0)
    Return FindWindowEx(h&, 0, SysListView32,0)

EndProc

proc getanz

    return SendMessage(_dsk_lv&,4100,0,0)

endproc

proc seticnpos

    parameters itm%,x%,y%
    SendMessage(_dsk_lv&,4111,itm%,y%*65536+x%)Icon-Position setzen

endproc

proc geticnpos

    parameters item%
    add item%,-1

    If  IsWindowsNT()

        tid& = GetWindowThreadProcessId(_dsk_lv&,addr(pid&))
        lpSysShared& = GetMemSharedNT(pid&, dwSize&)
        WriteProcessMemory(hProcess&,lpSysShared&,ptOriginal1#, dwSize&,addr(lWritten&))
        SendMessage(_dsk_lv&,4112,item%,lpSysShared&)Icon-Position holen
        ReadProcessMemory(hProcess&,lpSysShared&,ptOriginal2#, dwSize& ,addr(lWritten&))
        glob_x&=long(ptOriginal2#,0)
        glob_y&=long(ptOriginal2#,4)
        FreeMemSharedNT(hProcess&,lpSysShared&,dwSize&)

    Else

        lpSysShared& = GetMemShared95(dwSize&)
        CopyMemory(lpSysShared&,ptOriginal1#,dwSize&)
        SendMessage(_dsk_lv&,4112,item%,lpSysShared&)verursacht Fehlermeldung unter ME
        CopyMemory(ptOriginal2#,lpSysShared&,dwSize&)
        glob_x&=long(ptOriginal2#,0)
        glob_y&=long(ptOriginal2#,4)
        FreeMemShared95(lpSysShared&,dwSize&)
a class=s4 href='./../../function-references/XProfan/endif/'>Endif ENDPROC
 
25.04.2004  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

3.476 Views

Untitledvor 0 min.
Gast.081512.09.2024
Thomas Freier16.02.2024
Axel Berse04.01.2023
p.specht25.07.2018
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie