mikrocontroller.net

Forum: PC-Programmierung Com mehrfach öffnen


Autor: Peter H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo!

Ich möchte über Visual C einen Comport öffnen - allerdings so,
dass auch ein anderes Programm diesen Port noch verwenden kann.

Grund:

Ich möchte beim Programmieren einer Steuerung mitlauschen, um
diese fernwartbar zu machen.

Momentan programmiere ich über eine Software, die dann das
Programm direkt in die Steuerung schreibt.

Ich möchte meinen Benutzern nun ein Programm zur verfügung stellen,
dass es ermöglicht auf einfachen Weg das Programm upzudaten.

Ich habe bereits nach "sniffer" gesucht - allerdings nichts ideales
gefunden (inkl. Source)

Schöne Grüße

Peter

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
versuchs mal mit dem dwShareMode flag von createfile

Autor: Peter H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab ich schon versucht (FILE_SHARE_READ | FILE_SHARE_WRITE), hat aber
leider nichts gebracht.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alle anderen Möglichkeiten, die ich sonst noch gefunden habe benutzen
virtuelle Ports. Falls du doch noch eine andere Möglichkeit findest,
bitte hier posten, ich wäre daran auch sehr interessiert!

Autor: Peter Mahler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

versuchs mal unter www.sysinternals.com. Dort findest du das Tool
PortMon, welches Serielle Ports sniffen kann.

Gruss,

Peter

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leider schreiben die nirgendwo, wie sie das machen. Denn diese Info
würde mich bei fast allen Programmen von denen interessieren...

Autor: remstal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon bei Herrn Russinovich angefragt? Zwar vermute ich, dass die einen
Grund haben, warum sie den Code von manchen Projekten veroeffentlichen
und von anderen nicht, aber vllt. koennen Sie Euch ja trotzdem den
einen oder anderen Tip geben.

Autor: T.Stütz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soweit ich das mal herausgepfrimelt hab, wird beim Programmstart eine
SYS-Datei (Kerneltreiber) kurzzeitig entpackt und in das System
eingebunden nach Programmende wird selbige wird gelöscht. Vermutlich
als sogenannter "Filter" Treiber zwischen VCOMM.SYS und
serial.sys/paralell.sys (weshalb auch das aufzeichnen auf der
paralellen dann möglich ist).

@Tobi
Wenn du uns noch sagst was für eine Ziel-SPS und Betriebssystem
dann kann dir vielleicht geholfen werden.

Gruss

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@t.stütz
du meinst ganz sicher peter

auf der sysinternals site steht übiergens unter how it works einiges
interessantes:
http://www.sysinternals.com/ntw2k/freeware/portmon.shtml

für win9x hast du recht mit dem extra treiber, bei nt und nachfolgern
gehts allerdings irgendwie anders (wie versuch ich noch
nachzuvollziehen ;)

Autor: René König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> bei nt und nachfolgern gehts allerdings irgendwie anders

Da geht das auch mit einem Treiber. Du hast den PortMon doch direkt
verlinkt. Und da steht doch klar geschrieben, daß der Treiber mittels
IoAttachDeviceByPointer an den Stack angefügt wird.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deswegen hab ich auch geschierben, dass ich das noch nicht ganz
verstanden habe, da mit die dort angegebenen Funktionen vollkommen
unbekannt waren. zu ioattachdevicebypointer liefert noch nicht mals die
msdn suche ein ergebnis. Scheint auf jeden fall einiges an aufwand zu
sein, einen seriellen port mitzulauschen, egal unter welcher win
version

Ich habe immerhin endlich die stelle in der reg gefunden, an der alle
installierten seriellen schnittstellen stehen. Damit hat sich das
mitlesen hier schonmal gelohnt ;)

Autor: René König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit der MSDN-Suche kann sein, da die Funktion eigentlich obsolete
ist (der PortMon ist halt schon etwas älter). Eine Suche nach
IoAttachDeviceToDeviceStack sollte ergiebiger sein.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.