| Autor |
|
LPT über C++(MFC) mit TVichW32 ansprechen? |
|
|
|
|
BID = 177944
ProximaX Schreibmaschine
    
Beiträge: 2604 Wohnort: Bensheim
|
|
Hallo!
Habe folgendes Problem:
Hab mir TVichW32 herunter geladen und installiert.
Das Programm umgeht die Sperre von Windows, so dass man auf jeden einzelnen Pin des LPT-Portes zu greifen kann.
Die Anleitung ist eigentlich sehr gut (ist ne HTML-Hilfe Datei; einfach per email erfragen; kann ich nicht hochladen; oder google, hab den Link net mehr ;-( ).
Hier ein Auszug aus meinem Quelltext:
void CFernsteuerung2Dlg::OnOK()
{
HANDLE HW32 = 0;
HW32 = OpenTVicHW32( HW32, "TVicHW32","TVicDevice0");
//SetPortVal(0x378, 0, 1);
//_outp(0x378, 0);
}
Mit "HW32 = OpenTVicHW32( HW32, "TVicHW32","TVicDevice0");"
hole ich mir die Zugriffsrechte für den LPT und andere Schnittstellen.
Leider funktioniert das nicht.
Folgende Fehlermeldung kommt beim Linken:
Kompilierung läuft...
Fernsteuerung2Dlg.cpp
Linker-Vorgang läuft...
Fernsteuerung2Dlg.obj : error LNK2001: Nichtaufgeloestes externes Symbol _OpenTVicHW32 äht 12 (automatisch editiert wegen spamgefahr)
Debug/Fernsteuerung2.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.
Fernsteuerung2.exe - 2 Fehler, 0 Warnung(en)
Da die Kompilierung i.O. ist, ist mein Quellcode fehlerfrei.
Ich habe schon in zig-Programmierforen gesucht, aber nur Verweise auf die Suchfunktion und eben dieses Programm gefunden!
Da die meisten auf den Programmverweis sich bedanken, scheint es bei denen ja zu funktionieren.
Hab da schon 5h dran gesessen und der Kram funktioniert net!
Bin ich zu blöd oder was???
Dort posten will ich nicht, gibts hunderte Beiträge dazu, aber mein Problem wird nicht angesprochen.
Wird genauso sein, wenn jemand hier postet und fragt wieviel Spannung fliesst.
Also, falls jemand das Problem kennt oder einen alternativen Lösungsvorschlag weiss, bitte posten! |
|
BID = 177956
Dracos-Carazza Gesprächig
  
Beiträge: 185
|
|
ich nutze diese treiber. die funzen astrein und lassen sich perfekt ansprechen bei nt basierenden betriebssystemen. bropier es einfach mal aus. beispiele zur ansteuerung sind auchenthalten.
greetz Carazza
_________________
Es ist nicht deine Schuld, dass die Welt ist wie sie ist, es ist nur deine Schuld wenn sie so bleibt !
Wer seinen Trieb verleugnet, verleugnet das was ihm zum Menschen macht ! |
|
BID = 177957
perl Ehrenmitglied
       
Beiträge: 11110,1 Wohnort: Rheinbach
|
Vielleicht liegt deine Datei schlicht nicht im Pfad, den der Linker absucht.
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
|
BID = 177958
Dracos-Carazza Gesprächig
  
Beiträge: 185
|
stimmt kann sein das nen include pfad nicht richtig ist... habe bei c schon die geilsten sachen erlebt
greetz Carazza
_________________
Es ist nicht deine Schuld, dass die Welt ist wie sie ist, es ist nur deine Schuld wenn sie so bleibt !
Wer seinen Trieb verleugnet, verleugnet das was ihm zum Menschen macht !
|
BID = 178032
ffs_hiwi Gesprächig
  
Beiträge: 153 Wohnort: Reinbek
|
hallo, ich
habe mit dem treiber auch schon mal experimentiert,welches betriebssystem hast du?
der fehler besagt wie schon richtig vermiutet, dass dein compiler die funktion nicht finden kann, dass kann daran liegen, dass die datei TVicHW32.sys nicht im winnt/system32/drivers bei winndows 2000 liegt und die datei TvicHW32.dll nicht im windows/system.
ausserdem musst du wenn du mit c programmierst die headerdatei TVicHW32.h mit in dein projekt einbinden, dann sollte es gehen.
gruss ralf
|
BID = 178036
ffs_hiwi Gesprächig
  
Beiträge: 153 Wohnort: Reinbek
|
was ich vergessen habe, die entsprechende TVxx.lib datei muss natürlich in dein lib verzeichnis kopiert werden, also das verzeichnis, in dem dein compiler die libs erwartet. die libs findets du in der standarddistribution unter den progverzeichnissen wieder, also bei dir sollte das unter \examples\msvc sein.
hast du die beispielprojekte mal ausprobiert?
im examples\lpt ist ein standardprojekt, dass sollte ohne probleme laufen.
gruss
|
BID = 178048
ProximaX Schreibmaschine
    
Beiträge: 2604 Wohnort: Bensheim
|
Also, die lib und sys-Dateien sind da wo sie sein sollen.
TVichW32.h ist auch eingebunden.
Benutze Win2000 SP0 auf IBM R51.
Werd nachher mal den Treiber von Carazza probieren!
Poste dann was dabei raus gekommen ist...
|
BID = 178069
Benedikt Inventar
      Beiträge: 6241
|
Ist vielleicht etwas off topic, aber welche Windows Versionen erlauben den Hardware Zugriff nicht ?
Sind das nur NT und 2000 ?
|
BID = 178127
Dracos-Carazza Gesprächig
  
Beiträge: 185
|
alles was mit NT zu tun hat,also 2000, NT, XPprof, XPhome win2k3 server. die neueren versionen werden sicherlich das selbe machen, man will den user ja immer mehr einschränken....
greetz Carazza
_________________
Es ist nicht deine Schuld, dass die Welt ist wie sie ist, es ist nur deine Schuld wenn sie so bleibt !
Wer seinen Trieb verleugnet, verleugnet das was ihm zum Menschen macht !
|
BID = 178139
Benedikt Inventar
      Beiträge: 6241
|
Ich dachte eigentlich auch, dass XP die Hardwarezugriffe unterbindet.
Wiso funktioniert aber unter XP z.B. in QBasic der Befehl out &H378, 123 ?
|
BID = 178155
Dracos-Carazza Gesprächig
  
Beiträge: 185
|
hmpf komisch. ausprobiert hatte ich es bis jetzt noch nicht unter XP, aber da es unter win2k3 (so ziemlich der selbe kern) und 2000 auch nicht geht, war ich eigentlich davon ausgegangen. ich meine ich hab das auch mal irgendwo im netz gelesen.
man muss es halt einfach ausprobieren, ich denke mal damit kommt man am weitesten.
greetz Carazza
_________________
Es ist nicht deine Schuld, dass die Welt ist wie sie ist, es ist nur deine Schuld wenn sie so bleibt !
Wer seinen Trieb verleugnet, verleugnet das was ihm zum Menschen macht !
|
BID = 178187
ProximaX Schreibmaschine
    
Beiträge: 2604 Wohnort: Bensheim
|
Ich bin so blöd!
rrrrrrrrr
Hab die TVichW32.dll vergessen. Des steht aber auch nirgends oder ich habs übersehen.
Bin per Zufall drauf gekommen. Wollte TVichW32 deinstallieren und hab nach TVichW32.* gesucht um die Dateien manuell zu löschen. Und im Ergebnis tauchte eine vorher nicht gesehene dll-Datei auf! hehe Sehr gut!
Danke an alle die mir geholfen haben!
Jetz geh ich mir erstma ne 40MHz Fernbedienung kaufen und an Ostern fliegen mir bunte Eier aus der Nase!
@ffs_hiwi:
Die dll muss nicht nur ins windows-system-Verzeichnis, sondern auch in den Projektordner!
Das Programm kopiert die Datei bei der Installation nur ins Win-Verzeichnis + Programmverzeichnis!
|