| |
|
|
- page 1 - |
|
![Julian Schmidt: 15.03.2012](.././../../i/a/1598.gif) Julian Schmidt | Salut, je cherche Beispiel zur communication entre deux XProfan-Programmen.
Zum une bräuchte je un Beispiel, womit on aus une laufenden XProfan-Programme un d'autre XProfan-Programme avec verschiedenen Parametern aufruft, welches qui paramètre auffängt et weiterverarbeitet.
Zum zweiten un Beispiel, womit on aus une laufenden XProfan-Programme Cordes à l'autre laufendes XProfan-Programme senden peux, quelle ensuite verarbeitet volonté. Beim zweiten Beispiel devrait qui Cordes sans équivoque seulement à cela une Programme gesendet volonté peut. Sprich aucun Dopplungen avec anderen Windows possible son, comme etwa chez FindWindow qui le cas ist.
LG
Julian57 |
|
|
| |
|
|
|
| |
|
- page 1 - |
|
![Jörg Sellmeyer: 15.03.2012](.././../../i/a/8132362004294faafc5e8c.jpg) Jörg Sellmeyer | tiens dans qui Aider sous "Multiprozessing avec XProfan" pour. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... ![](https://www.wuestensand.info/images/CoverFataMorganaklein.jpg) | 15.03.2012 ▲ |
|
|
|
|
![Julian Schmidt: 15.03.2012](.././../../i/a/1598.gif) Julian Schmidt | Wow, là scheint es oui déjà bien Opportunités trop donner. ![](.././../../i/s/__upl_ext_1111498515.gif)
toutefois fände je es bien, si la fois quelqu'un une Voir le texte source zur une verfasst. |
|
|
| |
|
|
|
![Andreas Miethe: 15.03.2012](.././../../i/a/3800230414783ad80d4e0b.gif) Andreas Miethe
![DOKTOR XPROFAN EHRENHALBER](.././../../i/dr.gif) | OK, ici la fois un kleines Beispiel :
qui Server liest une String vom Client et ändert ihn.
Client s'il te plaît d'abord starten
'CLIENT
'Client
$H windows.ph
Var IsActive& = 0
Var InMemory& = 4000
Var Ende& = 0
'1024 Bytes grenier
Var SizeOfMem& = 1024
'Speicherbereich anlegen
Var hmap& = ~CreateFileMapping(-1,0,~PAGE_READWRITE,0,SizeOfMem&,"MeinSpeicher")
'aiguille sur Speicherbereich ermitteln
Var hMapView& = ~MapViewOfFile(hMap&,$000F001F, 0, 0, 0)
'avec cela ist qui Speicherbereich angelegt
Cls
'qui ersten 4 Bytes conservé cela Fensterhandle
Long hMapView&,0 = %hwnd
'qui prochain 4 Bytes rester libre pour cela Fensterhandle de Programme 2
'je frage mais ab, si Programme2 déjà fonctionne
Si Long(hMapView&,4) <> 0' si qui Wert pleine ist, ensuite fonctionne Programme2
IsActive& = 1
d'autre
'avec ShellExecute() peux je Programme2 ici de main starten
Endif
String hMapView&,8 = "String de Programme1"+Chr$(0)'Cordes toujours avec einem Nullbyte abschliessen
'Ist Programme2 aktiv, schicke je qui annonce, cela sich quelque chose im grenier est
Si IsActive&
SendMessage(Long(hMapView&,4),InMemory&,0,0)
Endif
'vom Programme wird une annonce revenir
Utilisateur Messages InMemory&
whilenot Ende&
Waitinput
Si %UMessage = InMemory&
Localiser 0,0
Imprimer String$(hMapview&,8)
Endif
Endwhile
~UnmapViewOfFile(hMapView&)
~CloseHandle(hMapView&)
Fin
'SERVER
'Server
$H windows.ph
Var IsActive& = 0
Var InMemory& = 4000
Var Ende& = 0
'1024 Bytes grenier
Var SizeOfMem& = 1024
'Speicherbereich anlegen
Var hmap& = ~CreateFileMapping(-1,0,~PAGE_READWRITE,0,SizeOfMem&,"MeinSpeicher")
'aiguille sur Speicherbereich ermitteln
Var hMapView& = ~MapViewOfFile(hMap&,$000F001F, 0, 0, 0)
'avec cela ist qui Speicherbereich angelegt
Cls
'qui zweiten 4 Bytes conservé cela Fensterhandle
Long hMapView&,4 = %hwnd
Imprimer String$(hMapView&,8)
String hMapView&,8 = "Programm 2 : Habe den String gelesen et geändert"+Chr$(0)'Cordes toujours avec einem Nullbyte abschliessen
SendMessage(Long(hMapView&,0),InMemory&,0,0)
Utilisateur Messages InMemory&
whilenot Ende&
Waitinput
Si %UMessage = InMemory&
Localiser 0,0
Imprimer String$(hMapview&,8)
Endif
Endwhile
~UnmapViewOfFile(hMapView&)
~CloseHandle(hMapView&)
Fin
|
|
|
| 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 : [...] ![](/intl/i/lnk.gif) | 15.03.2012 ▲ |
|
|
|
|
![Julian Schmidt: 15.03.2012](.././../../i/a/1598.gif) Julian Schmidt | Jup, cela scheint pas mal trop marcher. ![](.././../../i/s/__upl_ext_1111498557.gif)
seulement J'ai eu mir vielmehr un Beispiel trop meiner ersten Frage erhofft. tu as mais eines trop meiner zweiten Frage erstellt. ![](.././../../i/s/eusa_think.gif) |
|
|
| |
|
|
|
![Dieter Zornow: 16.03.2012](.././../../i/a/101212027948ca98cf1d74c.jpg) Dieter Zornow | So sollte qui Parameterübernahme marcher, avec ProfanX2 getestet
|
|
|
| XProfan X2Er 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: 16.03.2012](.././../../i/a/20.gif) RGH | Zur Frage 1: Im ersten Programme startest Du cela zweite Programme entier simple avec WinExec() et hängst qui paramètre simple à den Aufruf tour. si qui paramètre Sonder- et/ou bien Leerzeichen enthalten, mets Du vous dans Anführungszeichen. Im zweiten Programme peux Du cet paramètre sur %ParCount, et Par$() abfragen (siehe Aider).
Zur Frage 2: aussi cela allez entier sans API avec Créer("FileMap",...) et MapFile(). un Beispiel findest Du dans qui Aider sous "28.13 - File-Mapping - Speicherdateien".
Salut Roland |
|
|
| XProfan X2Intel 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: 16.03.2012](.././../../i/a/1598.gif) Julian Schmidt | Ok, suis ensuite erstmal avec genug Infos bedient. merci euch allen. ![](.././../../i/s/__upl_ext_1111498478.gif) |
|
|
| |
|
|
|
![iF: 16.03.2012](.././../../i/a/1.gif) | RGH (16.03.12)
Zur Frage 1: Im ersten Programme startest Du cela zweite Programme entier simple avec WinExec() et hängst qui paramètre simple à den Aufruf tour. si qui paramètre Sonder- et/ou bien Leerzeichen enthalten, mets Du vous dans Anführungszeichen. Im zweiten Programme peux Du cet paramètre sur %ParCount, et Par$() abfragen (siehe Aider).
MAX_PATH = 260 et ce sont pas so dolle viele marque zumal là qui Programmpfad et Dateiname aussi déjà enthalten ist.
Aus dem Grund peux on empfehlen lediglich un Handle comme paramètre trop transfert -
z.B. cela hWnd-Handle avec cela cela aufgerufene Programme sais òu es Nouvelles senden soll.
cela Kommunizieren ist wiederum per wm_copyData ( [...] ) très simple aussi sans Speicherdatei. XProfan-Beispiel: [...] ![](/intl/i/lnk.gif)
je serait probablement mais anders comme dans diesem XProfan-Beispiel qui so genannte SubClassProc nutzen -
Utilisateur Messages sommes wiederum pour une sichere Verarbeitung cette wm_copyData-nouvelle pas approprié. |
|
|
| |
|
|
|
![Jörg Sellmeyer: 16.03.2012](.././../../i/a/8132362004294faafc5e8c.jpg) Jörg Sellmeyer | je crois pas, qui qui Longueur des Programmpfades quoi avec qui Longueur qui paramètre trop 1faire hat. Angehängtes Programme velours Dossier la fois dans un Verzeichnis sur eurem Desktop saisir et starten.
c'est cette Code:
|
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... ![](https://www.wuestensand.info/images/CoverFataMorganaklein.jpg) | 16.03.2012 ▲ |
|
|
|
|
![iF: 16.03.2012](.././../../i/a/1.gif) | aussi intéressant:
stürzt chez mir ab.
ici CreateProcess ( [...] ):
The command line to être executed. The maximum length of this string is 32,768 characters, including le Unicode terminating zéro character. Si lpApplicationName is NULL, le module nom portion of lpCommandLine is limited to MAX_PATH characters. |
|
|
| |
|
|
|
![Jörg Sellmeyer: 16.03.2012](.././../../i/a/8132362004294faafc5e8c.jpg) Jörg Sellmeyer |
lpApplicationName is NULL
je n'en sais rien, quoi cela appeler soll. quel ApplicationName ist car NULL? |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... ![](https://www.wuestensand.info/images/CoverFataMorganaklein.jpg) | 16.03.2012 ▲ |
|
|
|
| |
|
- page 2 - |
|
|
![iF: 16.03.2012](.././../../i/a/1.gif) | Na si on pour den ersten paramètre 0 einsetzt: [...] ![](/intl/i/lnk.gif)
vous écrivez zwar "the module nom portion of lpCommandLine is limited to MAX_PATH characters" et plan pas cela qui paramètre pas länger son dürfen mais avec XProfan krachts oui toutefois.
c'est pourquoi mon Tip seulement un Handle comme Param trop transfert weil je cela avec qui dahingehenden Kracherei arrêt déjà kenne. |
|
|
| |
|
|