Avatar billede testpilot_dk Nybegynder
19. maj 2006 - 15:33 Der er 10 kommentarer og
1 løsning

Udskrivning til LPT porten (ikke windows print)

Hej!

Hvordan skriver jeg ud til LPT porten, jeg ønsker ikke at skrive til en printer som understøttes af windows, men en speciel enhed som sidder på LPT porten!

Kan man associere LPT porten til en Filestream eller lignende, det kunne man i gamle dage under VB6
Avatar billede tuxic Nybegynder
19. maj 2006 - 20:21 #1
Hejsa. Såvidt jeg kan se må du selv lave kald til Win32. Interessant nok er der support for serielporten i .NET 2.0, men jeg kan finde noget om parallelporten / lpt. Prmære grund til kommentaren er at jeg gerne vil se om der er en måde :) (ie, læse eksperternes svar).
Avatar billede bertelbrander Novice
19. maj 2006 - 20:47 #2
I C++ ville man kalde CreateFile for at åbne "lpt1", og bruge ReadFile og WriteFile for at læse og skrive, mon ikke man kan det samme i C#
Avatar billede tuxic Nybegynder
19. maj 2006 - 21:05 #3
Næppe uden interop. Men med interop går det jo sikkert også. Mon ikke testeksemplet til SafeHandles constructoren kan tilrettes passende? http://msdn2.microsoft.com/en-us/library/microsoft.win32.safehandles.safefilehandle.safefilehandle.aspx

SafeHandle kan så bruges til at lave en FileStream og så kører bussen. Det ville jo være  pænere om der var en .NET wrapper til parallelporten, men omvendt så er det måske så nemt at tilgå lpt porten via eksemplet at MS ikke har dømt det slidet værd.
Avatar billede mcnovy Nybegynder
20. maj 2006 - 02:27 #4
Denne artikel burde vise dig hvad du har behov for at vide.!

http://www.dotnet247.com/247reference/a.aspx?u=http://www.codeproject.com/csharp/csppleds.asp
Avatar billede mcnovy Nybegynder
20. maj 2006 - 02:28 #5
http://www.codeproject.com/csharp/csppleds.asp - Direkte link... havde lige overset at det andet link er noget referance halløj
Avatar billede testpilot_dk Nybegynder
20. maj 2006 - 10:44 #6
Den artikel fra Codeproject, hvor man kontrollere den enkelte bit, er måske lige en anelse for kompleks, da jeg skal sende forholdvis storer mængder data over denne port!

Til et instrument, som fint forstå rene tekst beskeder.

Jeg har brugt dette i VB6

  Open "LPT1" For Output As #2
  StrToPrint = StrToPrint
  Print #2, StrToPrint

Jeg ønsker noget lignede i C#
Avatar billede mcnovy Nybegynder
20. maj 2006 - 15:31 #7
vb6 kan vel kun sammenlignes med C/C++
da .net framework vidst ikke i sig selv understøtter LPT komm.
så det du kan gøre er at lave programmet i C, og så evt bruge C# til at kører /unsafe kode.
eller lave det som en dll fil, som C# så skal komm med.
Avatar billede testpilot_dk Nybegynder
20. maj 2006 - 16:42 #8
Okay, det lyder temmelig komplekst!

men hvordan skulle det laves i c++!
så må jeg jo bare igang med at lave min integration til C#
Avatar billede mcnovy Nybegynder
20. maj 2006 - 16:53 #9
mit link fra codeproject bruger det samme.

using System;
using System.Runtime.InteropServices;

public class PortAccess
{
    [DllImport("inpout32.dll", EntryPoint="Out32")]
    public static extern void Output(int adress, int value);
}

de tilgår en dll fil fra deres C# program..
det gør de bla.a pga at win 2k,XP ikke giver adgang til direkte kontrol af LPT porten, så de tilgår en slags kernel.

du kan sagtens omkskrive deres kode, så du kan skrive noget ala
portaccess.output = "initialiser instrument"

jeg har ikke kunne finde andre guides.. og jeg har aldrig selv prøvet at komm med parrallel porten, kun seriel.. men det har .net 2.0 understøttelse til.
Avatar billede testpilot_dk Nybegynder
20. maj 2006 - 16:56 #10
Hej!

Tak for svaret, jeg benytter mig også selv af seriel kommunikationen og det er lige til!

Jeg vil tage et ekstra kig på det link og så undersøge hvordna jeg kan lave noget lignende, men har fundet noget i C++ gruppen som mulighvis også kan bruges.

http://www.eksperten.dk/spm/468458

Så skal det bare kører UnManeged, så håber jeg det spiller
Avatar billede mcnovy Nybegynder
20. maj 2006 - 17:01 #11
takker..!

og held og lykke
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester