Español
Foro

Kommunikation zwischen XProfan-Programmen

 
- Página 1 -



Julian
Schmidt
¡Hola,
Yo búsqueda Ejemplo a Kommunikation zwischen zwei XProfan-Programmen.

Zum una bräuchte Yo una Ejemplo, womit uno de una laufenden XProfan-Programa una más XProfan-Programa con verschiedenen Parametern aufruft, welches el Parámetro auffängt y weiterverarbeitet.

Zum zweiten una Ejemplo, womit uno de una laufenden XProfan-Programa Cuerdas a una más laufendes XProfan-Programa senden kann, welche entonces verarbeitet voluntad. Beim zweiten Ejemplo debería el Cuerdas eindeutig sólo a el una Programa gesendet voluntad puede. Sprich no Dopplungen con otro Fenstern posible ser, como etwa en FindWindow el Fall es.

LG

Julian57
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
15.03.2012  
 



 
- Página 1 -



Jörg
Sellmeyer
Mirar en el Ayuda bajo "Multiprozessing con XProfan" después de.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
15.03.2012  
 




Julian
Schmidt
Wow, como scheint lo sí ya bien Möglichkeiten a geben.

Dennoch fände Yo bien, si veces alguien Ver código fuente a Eins verfasst.
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
15.03.2012  
 




Andreas
Miethe


OK, hier veces una kleines Ejemplo :

Der Server liest una String vom Client y ändert ihn.

Client Por favor, zuerst starten

'CLIENT
'Client
 $H windows.ph
Var IsActive& = 0
Var InMemory& = 4000
Var Ende& = 0
'1024 Bytes Speicher
Var SizeOfMem& = 1024
'Speicherbereich invertir
Var hmap&     = ~CreateFileMapping(-1,0,~PAGE_READWRITE,0,SizeOfMem&,"MeinSpeicher")
'Zeiger en Speicherbereich ermitteln
Var hMapView& = ~MapViewOfFile(hMap&,$000F001F, 0, 0, 0)
'Damit es el Speicherbereich creado
Cls
'el ersten 4 Bytes obtener el Fensterhandle
Largo   hMapView&,0 = %hwnd
'el nächsten 4 Bytes bleiben frei para el Fensterhandle de Programa 2
'Yo frage aber de, si Programa2 ya se ejecuta

If Largo(hMapView&,4) <> 0' si la Valor gefüllt es, entonces se ejecuta Programa2

    IsActive& = 1

más

    'con ShellExecute() kann Yo Programa2 hier a mano starten

Endif

String hMapView&,8 = "String de Programa1"+Chr$(0)'Cuerdas siempre con un Nullbyte abschliessen
'Ist Programa2 aktiv, schicke Yo el Meldung, el se algo en el Speicher befindet

If IsActive&

    SendMessage(Largo(hMapView&,4),InMemory&,0,0)

Endif

'vom Programa se una Meldung zurückkommen
Mensajes del usuario InMemory&

whilenot Ende&

    Waitinput

    If %UMessage = InMemory&

        Localizar 0,0
        Imprimir String$(hMapview&,8)

    Endif

EndWhile

~UnmapViewOfFile(hMapView&)
~CloseHandle(hMapView&)
End

'SERVER
'Server
 $H windows.ph
Var IsActive& = 0
Var InMemory& = 4000
Var Ende& = 0
'1024 Bytes Speicher
Var SizeOfMem& = 1024
'Speicherbereich invertir
Var hmap&     = ~CreateFileMapping(-1,0,~PAGE_READWRITE,0,SizeOfMem&,"MeinSpeicher")
'Zeiger en Speicherbereich ermitteln
Var hMapView& = ~MapViewOfFile(hMap&,$000F001F, 0, 0, 0)
'Damit es el Speicherbereich creado
Cls
'el zweiten 4 Bytes obtener el Fensterhandle
Largo   hMapView&,4 = %hwnd
Imprimir String$(hMapView&,8)
String hMapView&,8 = "Programm 2 : Pida a los String gelesen y geändert"+Chr$(0)'Cuerdas siempre con un Nullbyte abschliessen
SendMessage(Largo(hMapView&,0),InMemory&,0,0)
Mensajes del usuario InMemory&

whilenot Ende&

    Waitinput

    If %UMessage = InMemory&

        Localizar 0,0
        Imprimir String$(hMapview&,8)

    Endif

EndWhile

~UnmapViewOfFile(hMapView&)
~CloseHandle(hMapView&)
End
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
15.03.2012  
 




Julian
Schmidt
Jup, el scheint bastante bien a trabajo.

Nur Tuve me vielmehr una Ejemplo a meiner ersten Cuestión erhofft. Usted hast aber uno a meiner zweiten Cuestión erstellt.
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
15.03.2012  
 




Dieter
Zornow
So debería el Parameterübernahme klappen, con ProfanX2 getestet
Proc incoming

    var mem& = Externo("kernel32","GetCommandLineA")
    var en$ = cadena$(mem&,0)
    var p&= Externo("shlwapi.dll","PathGetArgsA",addr(en$))
    var para$ = cadena$(p&,0)

    if left$(para$,1) = "\q"

        Externo("shlwapi.dll","PathUnquoteSpacesA",addr(para$))
        para$ = left$(para$,len(para$)-2)

    endif

    volver para$

ENDPROC

cls
Imprimir incoming()
waitinput
 
XProfan X2
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
16.03.2012  
 




RGH
A Cuestión 1: Im ersten Programa startest Usted el zweite Programa bastante simplemente con WinExec() y hängst el Parámetro simplemente a el Aufruf dran. Wenn el Parámetro Sonder- y/oder Leerzeichen enthalten, setzt Usted ellos en Anführungszeichen.
Im zweiten Programa kannst Usted esta Parámetro encima %ParCount, y Par$() abfragen (siehe Ayuda).

A Cuestión 2: Auch el va bastante sin API con Crear("FileMap",...) y MapFile(). Ein Ejemplo findest Usted en el Ayuda bajo "28.13 - File-Mapping - Speicherdateien".

Saludo
Roland
 
XProfan X2
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
16.03.2012  
 




Julian
Schmidt
Ok, bin entonces primero con genug Infos bedient. Gracias euch allen.
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
16.03.2012  
 



RGH (16.03.12)
A Cuestión 1: Im ersten Programa startest Usted el zweite Programa bastante simplemente con WinExec() y hängst el Parámetro simplemente a el Aufruf dran. Wenn el Parámetro Sonder- y/oder Leerzeichen enthalten, setzt Usted ellos en Anführungszeichen.
Im zweiten Programa kannst Usted esta Parámetro encima %ParCount, y Par$() abfragen (siehe Ayuda).


MAX_PATH = 260 y el son no así dolle viele Signo especialmente como el Programmpfad y Dateiname auch ya enthalten es.

Aus el Grund puede ser empfehlen lediglich una Handle como Parámetro a transferencia -

z.B. el hWnd-Handle así el aufgerufene Programa weiß wohin lo Noticias senden se.

Das Kommunizieren es wiederum por wm_copyData (  [...]  ) muy simplemente auch sin Speicherdatei. XProfan-Ejemplo:  [...] 

Yo sería vermutlich aber anders como en diesem XProfan-Ejemplo el así genannte SubClassProc nutzen -

Mensajes del usuario son wiederum para una sichere Verarbeitung dieser wm_copyData-Nachricht no geeignet.
 
16.03.2012  
 




Jörg
Sellmeyer
Yo glaube no, daß el Longitud des Programmpfades qué con el Longitud el Parámetro a tun ha.
Angehängtes Programa samt Ordner veces en un directorio en eurem Desktop packen y starten.

Es dieser Code:
Imprimir "Anzahl el Parámetro:",%parcount
Declarar s$
Imprimir "Länge des Programmpfades:",Len(Par$(0))

WhileLoop 0,%parcount

    s$ = s$ + " \q" + Par$(&Loop) + "\q"

Wend

Imprimir s$
Imprimir "Länge el Parámetro:",Len(s$)
WaitInput
Case %parcount < 6:Run Par$(0) + " " + " " + s$

451 kB
Kurzbeschreibung: Programa en tiefer Ordnerstruktur
Hochgeladen:16.03.2012
Ladeanzahl104
Descargar
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
16.03.2012  
 



Auch interessant:
 {$cleq}

if parCount==1

    imprimir len(par$(1))
    waitInput

más

    shell par$(0)+" \q"+mkstr$("1234567890",30)+"\q"

endif

end

stürzt en me de.

Hier CreateProcess (  [...]  ):

The command line to be executed. The maximum length of this cadena is 32,768 characters, including the Unicode terminating null character. If lpApplicationName is NULL, the module name portion of lpCommandLine is limited to MAX_PATH characters.
 
16.03.2012  
 




Jörg
Sellmeyer

lpApplicationName is NULL


ni idea, qué el heißen se. Welcher ApplicationName es porque NULL?
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
16.03.2012  
 



 
- Página 2 -


Na si uno para el ersten Parámetro 0 einsetzt:  [...] 

Sie escribir zwar "the module name portion of lpCommandLine is limited to MAX_PATH characters" y eben no el el Parámetro no länger ser dürfen aber con XProfan krachts sí todavía.

Deshalb mein Tip sólo una Handle como Param a transferencia porque Yo el con el dahingehenden Kracherei sólo ya saber.
 
16.03.2012  
 




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

20.788 Views

Untitledvor 0 min.
Sven Bader08.01.2025
iF05.12.2018
p.specht03.04.2016
Georg Teles20.05.2014
Más...

Themeninformationen



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