Named Pipe zwischen Autoit und C++

01/09/2012 20:31 frееhuntx#1
Hallo.

Ich hatte noch nie etwas mit named pipes zu tun, und wollte fragen, ob es möglich ist, in einer in c++ geschriebenen dll bestimmte texte abzufangen, über named pipes an eine autoit gui zu übergeben, und dort die texte zu bearbeiten etc?

Ich möchte nämlich einen packeteditor machen, der ähnlich wie WPE pro ist.
01/09/2012 20:37 MoepMeep#2
Wenn AutoIt named pipes unterstützt ist das problemlos möglich. Aber wofür brauchst du bei einem PacketEditor autoit? o.O
01/09/2012 20:47 frееhuntx#3
Quote:
Originally Posted by MoepMeep View Post
Wenn AutoIt named pipes unterstützt ist das problemlos möglich. Aber wofür brauchst du bei einem PacketEditor autoit? o.O
Naja autoit ist für mich einfacher.
Gui, funktionen etc ist für mich in autoit einfacher zu machen.

In c++ würde ich die packets z.B. erst in einer txt abspeichern, und dann ausgeben lassen.

Außerdem habe ich mir sagen lassen, dass eine dialogbox für sowas "schäbig" ist, weil ich dann mit den daten nicht richtig arbeiten kann xD

Ja autoit enthält namedpipes, wollte nur wissen, ob es für meinen zweck möglich ist.

Wie gesagt hab mit namedpipes noch nie gearbeitet.

Werde mich jetzt mal durch die welt googeln nach tutorials.
01/09/2012 21:28 xNopex#4
Jap das ist möglich, ich hab sowas auch mal in der Art gemacht nur nicht in AutoIt. Viel Erfolg :)
01/09/2012 22:16 MrSm!th#5
Quote:
In c++ würde ich die packets z.B. erst in einer txt abspeichern, und dann ausgeben lassen.
Wieso dann nicht auch in AutoIt so? :rolleyes:
01/09/2012 22:39 frееhuntx#6
Quote:
Originally Posted by MrSm!th View Post
Wieso dann nicht auch in AutoIt so? :rolleyes:
Naja in autoit "klappt" es bei mir zumindest das ganze packet etc. mit richtigem abstand etc. in eine variable zu packen.

Die Packets haben nämlich das format:

Code:
Offset     BYTE FORMAT                                                  TEXTFORMAT
xxxxx    | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
In C++ funktioniert das bei mir irgendwie nur wenn ich es in eine txt datei packe.
01/10/2012 00:26 MrSm!th#7
Die Dateiendung ist doch völlig egal.
01/10/2012 01:55 frееhuntx#8
Quote:
Originally Posted by MrSm!th View Post
Die Dateiendung ist doch völlig egal.
Ô.o

XD

Ich meinte damit eigendlich, dass es nur klappt, wenn ich es in eine datei schreibe, und dann von dieser datei ausliest.

Die Dateiendung ist scheißegal das ist mir schon klar XD

Aber es klappt z.B. nicht wenn ich es so mache.

char TestBuffer[200000];

Und da dann mein packet mit "\n\r" reinhaue.

Naja mit NamedPipes ist mir schon lieber, aber hab irwie ein Problem.


Client in Autoit:

Server in C++ (dll):


Edit: :facepalm: Wie immer ist die antwort so einfach. :D
"\\.\pipe\TestPipe" muss natürlich "\\\\.\\pipe\\TestPipe" sein ^^

Klappt alles wunderbar :)