| |
|
|
funkheld | ¡Hola, guten Tag.
Yo möchte una String en un Bereichsvariable stecken y SendMessage para una Prozess senden. Dort con Getmessage empfangen y hay con Imprimir ausgeben. El Variable wert1& möchte Yo en SendMessage por una Bereichsvariable sustituir.
Como funktioniert el Por favor,?
Gracias.
$MAKE CLE
$H Messages.PH
Declarar h&,hd&,hd1&,ende&,wert&,wert1&,b_send&,texto$,tadr&
declarar pointer#
dim pointer#,32
Declarar Handle ZielFenster
Proc Prozess
parámetros hd&,hd1&
declarar w&,w1&,ende&
windowtitle "empfang"
window 10,10 - 150, 150
ende& = 0
whilenot ende&
sleep 1
GetMessage
If %Message = $1000
w&=&wParam
w1&= &lParam
locate 3,1
imprimir " " + str$(w&) + " "
setText hd&, str$(w&)
locate 5,1
imprimir " " + str$(w1&) + " "
setText hd1&, str$(w1&)
endif
endwhile
ENDPROC
windowtitle "send"
window 10,200-200,200
hd& = create("Text", %hWnd, "", 20, 10, 60, 20)
hd1& = create("Text", %hWnd, "", 20, 35, 60, 20)
b_send& = Crear("Button",%hWnd,"send", 10, 65, 80, 24)
h&=pExec("|Prozess",hd&,hd1&)
sleep 500
ZielFenster = FindWindow("empfang")
ende& = 0
whilenot ende&
waitinput
If Clicked(b_send&)
wert&=wert&+1
wert1&=wert1&+5
String pointer#,0 = "Test"
PostMessage(ZielFenster, $1000, wert&, wert1&)
endif
endwhile
end
|
|
|
| |
|
|
|
Georg Teles | Nabend !
naja muss lo porque una Bereichsvariable ser ? Schau veces el Befehle a MapFile a, el hay seit XProfan X2 (glaube) ... ansonsten hier una más Ejemplo con Mapfile, el Code es Steinkohle & stammt de Comunidad por lo tanto habe gerade kein Link dazu parat
Def CreateFileMapping(6) !"KERNEL32","CreateFileMappingA"
Def UnmapViewOfFile(1) !"KERNEL32","UnmapViewOfFile"
Def MapViewOfFile(5) !"KERNEL32","MapViewOfFile"
Def CloseHandle(1) !"KERNEL32","CloseHandle"
Declarar h&,hd&,hd1&,ende&,wert&,wert1&,b_send&,texto$,tadr&
Declarar Handle ZielFenster
Declarar HandleMap&, ViewPointer&, Buffer#
Proc Prozess
Declarar HandleMap&, ViewPointer&, Buffer#
declarar ende&, button&, texto$
windowtitle "empfang"
window 10,10 - 150, 150
clear ende&
button& = create("Button",%HWnd,"auslesen",5,5,100,20)
OpenMap "testmap", 4096
whilenot ende&
Waitinput
If clicked(button&)
texto$ = ReadStrFromMap()
locate 3,1
imprimir " " + texto$ + " "
EndIf
endwhile
CloseMap()
ENDPROC
windowtitle "send"
window 10,200-200,200
hd& = create("Text", %hWnd, "", 20, 10, 100, 20)
b_send& = Crear("Button",%hWnd,"send", 10, 65, 80, 24)
h&=pExec("|Prozess")
sleep 500
ZielFenster = FindWindow("empfang")
clear ende&
OpenMap "testmap", 4096
whilenot ende&
waitinput
If Clicked(b_send&)
texto$ = "testtext "+Str$(rnd(200))
Settext hd&,texto$
WriteStrToMap(texto$)
endif
endwhile
CloseMap()
end
Proc OpenMap
Parámetros MapName$, Size&
HandleMap& = CreateFileMapping($FFFFFFFF,0, 402653188,0,Size&,Addr(MapName$))
If HandleMap& <= 0
MessageBox("Fehler beim redactar des Mappings !","Fehler",16)
Más
ViewPointer& = MapViewOfFile(HandleMap&, 983071, 0, 0, 0)
Case ViewPointer& = 0 : MessageBox("Fehler beim redactar des Views !","Fehler",16)
Endif
ENDPROC
Proc WriteStrToMap
Parámetros Texto$
Declarar OldBuffer&
If ViewPointer& <> 0
Dim Buffer#, Len(Texto$)
OldBuffer& = Buffer#
Buffer# = ViewPointer&
Char Buffer#,0 = Texto$
Buffer# = OldBuffer&
Disponer Buffer#
EndIf
ENDPROC
Proc ReadStrFromMap
Declarar Ergebnis$, OldBuffer&
If ViewPointer& <> 0
Dim Buffer#, 512
OldBuffer& = Buffer#
Buffer# = ViewPointer&
Ergebnis$ = String$(Buffer#,0)
Buffer# = OldBuffer&
Disponer Buffer#
EndIf
Volver Ergebnis$
ENDPROC
Proc CloseMap
UnMapViewOfFile(ViewPointer&)
CloseHandle(HandleMap&)
ENDPROC
Servus |
|
|
| |
|
|
|
| @Funkheld:
wm_copydata (Ejemplo) Es el spezielle Message, con el uno Speicherbereiche de Prozess a Prozess kopieren kann. |
|
|
| |
|
|
|
funkheld | Sí danke para el Ayuda.
¿Cómo se puede uno dieses Por favor, aún en XProfan umsetzen: [...]
Gracias.Gruss |
|
|
| |
|
|
|
| Beispiellink Tuve beigelegt: [...] |
|
|
| |
|
|