Keys von Xbase++ an andere Programme senden ?

Fragen rund um diverse Windows-Versionen, ihr Verhalten unter Xbase++ und den Umgang mit der API

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Keys von Xbase++ an andere Programme senden ?

Beitrag von AUGE_OHR »

hi,

ich habe eine Antwort bekommen (für M$ Mediaplayer OCX), aber weiss
noch nicht wie/was ich damit machen soll.
>Look at ffdshow's options and you'll find a "Keys & remote" section where
>you can enable and configure keyboard shortcuts, one of which is "Toggle
>flip". You can programmatically send a keyboard message to ffdshow's window
>(which has a window class named "ffdshow_remote_class") containing the fake
>keypress (which I think is CTRL+ALT+F for "Toggl flip"). You should also
>match the process to be sure you are sending the message to the correct
>ffdshow instance, but this is more difficult.
Es geht also darum aus meinem Xbase++ Application ein "CTRL+ALT+F"
zu "senden" ... aber mit welcher Windows API ?

gruss by OHR
Jimmy
Günter Beyes
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 315
Registriert: Mo, 16. Okt 2006 13:04
Wohnort: Region Stuttgart

Beitrag von Günter Beyes »

Hi Jimmy,

du kannst SendInput() oder keybd_event() nehmen.
Beide Funktionen simulieren Tastatureingaben, und SendInput() kann noch mehr.

Um "CTRL+ALT+F" zu senden, muß per Funktionsaufruf Schritt für Schritt nachvollzogen werden, was du als Bediener manuell tun würdest.

1. "Strg" drücken und gedrückt halten
2. "Alt" drücken und gedrückt halten
3. "F" drücken und gedrückt halten
4. "F" loslassen
5. "Alt" loslassen
6. "Strg" loslassen

Code: Alles auswählen

( mit keybd_event() )

#define VK_SHIFT 	 0x10
#define VK_CONTROL    0x11    // STRG
#define VK_MENU          0x12    // ALT
#define VK_RMENU        0xA5    // ALT GR
#define KEYEVENTF_KEYUP  0x0002

// Tasten drücken
keybd_event( VK_CONTROL, 0, 0, 0)
keybd_event( VK_MENU, 0, 0, 0)
keybd_event( asc("F"), 0, 0, 0)

// Tasten wieder loslassen
keybd_event( asc("F"), 0, KEYEVENTF_KEYUP, 0)
keybd_event( VK_MENU, 0, KEYEVENTF_KEYUP, 0)
keybd_event( VK_CONTROL, 0, KEYEVENTF_KEYUP, 0)

Der Dll-Aufruf dazu:

FUNCTION keybd_event( nVk, nScan, nFlags, nExtraInfo )
STATIC keybd_event
IF keybd_event = NIL
	keybd_event := DllPrepareCall( "user32.dll", ;
                             DLL_STDCALL, "keybd_event" )
ENDIF	
RETURN DllExecuteCall( keybd_event, nVk,;
                                   nScan, nFlags, nExtraInfo )
Falls du SendInput() verwendest, reicht ein einziger Funktionsaufruf; du mußt dann die Tastenfolge als Array von Strukturen (nach C-Konvention) übergeben. Pablo Botellas Beispiel in der Newsgroup hat alles was dazu gebraucht wird :)

Das Fenster, bei dem die Tastatureingaben ankommen sollen, muß den Eingabefokus haben.

Ist dieses ffdshow ein eigenständiges Programm mit eigenem Hauptfenster, oder ein ActiveX-Control, das in deine Anwendung eingebettet ist :?:

Davon hängt ab, wie man an das betreffende Fensterhandle herankommt und welche Funktionsaufrufe nötig sind, um den Fokus zu setzen.


Gruß,
Günter
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Beitrag von AUGE_OHR »

hi,
Günter Beyes hat geschrieben: du kannst SendInput() oder keybd_event() nehmen.
Beide Funktionen simulieren Tastatureingaben, und SendInput() kann noch mehr.
Ich habe den Thread mit SendInput gesehen, allerdings frag ich mich
ob das nicht "genau andersrum" funktioniert wie ich es brauche ...
(von Xbase++ nach Externe Application)
Günter Beyes hat geschrieben: Das Fenster, bei dem die Tastatureingaben ankommen sollen, muß den Eingabefokus haben.
... und da hätten wir einen Teil des Problems ... ich "finde" das Fenster
nicht ...
Günter Beyes hat geschrieben: Ist dieses ffdshow ein eigenständiges Programm mit eigenem Hauptfenster, oder ein ActiveX-Control, das in deine Anwendung eingebettet ist :?:

Davon hängt ab, wie man an das betreffende Fensterhandle herankommt und welche Funktionsaufrufe nötig sind, um den Fokus zu setzen.
FFDShow ist ein Codec der geladen wird wenn ich einen Vilm abspielen
will. FFDshow legt nur 2 Icon in die Taskleiste (ffdshow_tray_859,
ffdshowaudio_tray_859 ) und auch im Task Manager sind die nicht
zu "sehen" (.NOT. Visible). Ich müsste wohl erst die Icons "maximieren"
um ein "Fenster" zu bekommen.

Kann man dazu "SendMessage" verwenden ? ( SendMessageA( nHwnd, WM_OPEN ,0,0)

Die Antwort enthielt ja "ffdshow_remote_class". Wann/wie/wo "könnte"
man das "finden" ?

danke für die Hilfe.
gruss by OHR
Jimmy
Günter Beyes
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 315
Registriert: Mo, 16. Okt 2006 13:04
Wohnort: Region Stuttgart

Beitrag von Günter Beyes »

Hi Jimmy,
Ich habe den Thread mit SendInput gesehen, allerdings frag ich mich ob das nicht "genau andersrum" funktioniert wie ich es brauche... (von Xbase++ nach Externe Application)
Genau dafür (von irgendwo nach externe Applikation) sind SendInput() und keybd_event() aber gut :) Sie wissen nichts von Applikationen, sondern tun nichts weiter als Ereignisse in die system message queue zu stellen. Welche Applikation die Tastaturanschläge letzten Endes erhält (wenn überhaupt) entscheidet das OS, u.a. anhand des Eingabefokus.
und da hätten wir einen Teil des Problems ... ich "finde" das Fenster nicht
Hmm. Vieleicht hilft dir dabei WinSpy++, http://www.catch22.net/software/winspy.asp. Damit kannst du die Eigenschaften jedes einzelnen Fensters (oder Controls) im System anzeigen lassen.
Ich müsste wohl erst die Icons "maximieren" um ein "Fenster" zu bekommen. Kann man dazu "SendMessage" verwenden ?
( SendMessageA( nHwnd, WM_OPEN ,0,0)
Ich vermute eher nein, weil die Taskbar-Icons eben nur Icons auf einem Toolbar sind.
Die Antwort enthielt ja "ffdshow_remote_class". Wann/wie/wo "könnte" man das "finden" ?
Vielleicht wenn du das Taskleisten-Icon per Mausklick maximierst und den Dialog, der dann erscheint, mit WinSpy untersuchst. "ffdshow_remote_class" ist vermutlich der Name der Fensterklasse. Die wird von WinSpy im ersten Tab angezeigt.

Aber letzten Endes geht es doch um die Frage, was du mit alldem erreichen willst. :roll: Vielleicht gibt es ja einen einfacheren Weg zum Ziel.

Viele Grüße,
Günter
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Beitrag von AUGE_OHR »

hi,
Günter Beyes hat geschrieben:
und da hätten wir einen Teil des Problems ... ich "finde" das Fenster nicht
Hmm. Vieleicht hilft dir dabei WinSpy++, http://www.catch22.net/software/winspy.asp. Damit kannst du die Eigenschaften jedes einzelnen Fensters (oder Controls) im System anzeigen lassen.
ok danke, ich werde mir das Teil mal ansehen
Günter Beyes hat geschrieben: Aber letzten Endes geht es doch um die Frage, was du mit alldem erreichen willst. :roll: Vielleicht gibt es ja einen einfacheren Weg zum Ziel.
uups, hast Recht das hatte ich hier gar nicht erwähnt.

Also es geht um das abspielen von Vilmen auf dem PC. Es kommt "öfters"
vor das die Vilme "auf dem Kopf" stehen.

Nun muss zu abspielen immer ein Codec vorhanden sein. Ich nehme
FFdShow weil das so ziemlich "alle" drin sind. Bei FFdShow gibt es nun
die Option "troggle flip" Video welches mir ein solches "auf dem Kopf"
Video wieder "richtig" anzeigt.

Zum abspielen nehme ich meinen Xbase++ ActiveX WMPlayer und ich
dachte mir ob ich wohl einen Button einbauen könnte um das "troggle flip"
zu aktiveren ...

gruss by OHR
Jimmy
Günter Beyes
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 315
Registriert: Mo, 16. Okt 2006 13:04
Wohnort: Region Stuttgart

Beitrag von Günter Beyes »

Hallo Jimmy,

zum WinSpy++ sollte ich noch erwähnen, daß ein Klick auf den "More"-Button eine Baumansicht aller Fenster im System freigibt.
In der oberste Ebene tauchen unter anderem die Namen diverser Programme aus dem Bereich der Taskleiste auf. Bei dir müßte auch FFDShow dabei sein (angenommen auch die .exe heißt so.) Falls dem so ist, wäre der Fall quasi gelöst :)

Viele Grüße,
Günter
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Beitrag von andreas »

Hallo Günter,

ich habe das Problem mit der Enter-Taste gelöst:

Code: Alles auswählen

#DEFINE VK_RETURN 		0xD
Ich habe eine kleine Funktion geschrieben, die einen String an die Tastatur senden und mit Enter bestätigt.

Code: Alles auswählen

FUNCTION SendKey( cWert )
	local i := 0

	IF cWert # NIL
		IF valtype( cWert ) == "C"
			**Alle Symbole senden
			FOR i := 1 TO len(cWert)
				keybd_event( asc( cWert[i] ), 0, 0, 0)
				keybd_event( asc( cWert[i] ), 0, KEYEVENTF_KEYUP, 0)
			NEXT
			**Enter-Taste senden
			keybd_event( VK_RETURN, 0, 0, 0)
			keybd_event( VK_RETURN, 0, KEYEVENTF_KEYUP, 0)

		ENDIF
	ENDIF

RETURN NIL
Ich habe damit aber ein Problem: Alle Zeichen kommen als Kleinbuchstaben an, obwohl auch Großbuchstaben da zwischen sind.
Was mache ich falsch?
Gruß,

Andreas
VIP der XUG Osnabrück
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Beitrag von andreas »

Hallo Günter,

ich habe mein Problem mit der Großbuchstaben folgend gelöst:

Code: Alles auswählen

**Tastaturereignisse an Windows bzw. andere Anwendungen senden
#define VK_SHIFT     0x10
#define VK_CONTROL    	0x11                      // STRG
#define VK_MENU          0x12                   // ALT
#define VK_RMENU        0xA5                    // ALT GR
#DEFINE VK_TAB 			0x9
#DEFINE VK_RETURN 		0xD
#define KEYEVENTF_KEYUP  0x0002


FUNCTION SendKey( cWert )
	local i := 0

	IF cWert # NIL
		IF valtype( cWert ) == "C"

			**Alle Symbole senden
			FOR i := 1 TO len(cWert)

				IF IsUpper( cWert[i] )
					keybd_event( VK_SHIFT, 0, 0, 0)
				ENDIF

				keybd_event( asc( cWert[i] ), 0, 0, 0)
				keybd_event( asc( cWert[i] ), 0, KEYEVENTF_KEYUP, 0)

				IF IsUpper( cWert[i] )
					keybd_event( VK_SHIFT, 0, KEYEVENTF_KEYUP, 0)
				ENDIF

			NEXT
			**Enter-Taste senden
			keybd_event( VK_RETURN, 0, 0, 0)
			keybd_event( VK_RETURN, 0, KEYEVENTF_KEYUP, 0)

		ENDIF
	ENDIF

RETURN NIL
Wenn ich aber z.B. folgenden Wert habe 5362GD-6561, kommt das Minus nicht an.
Wie sieht es mit Sonderzeichen aus?
Gruß,

Andreas
VIP der XUG Osnabrück
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo Andreas,

die Tastatureingabesimulation ist fehlerträchtig.

Ich ermittle den aktuellen Inhalt des Controlls (editBuffer) berücksichtige ab und an die Einstellung was markiert wurde, wobei dies teilweise gelöscht und teilweise ignoriert wird, je nach Wunsch. Dann füge ich den neuen Text entweder ein (ans Ende oder anstatt der alten Markierung) oder ersetze alles durch den neuen Text und gehe mit setappfocus() ins nächste Feld. Hier gibt es auch keine Probleme mit eventuellen anderen Events (Maus oder Tippen etc.)
Gruß
Hubert
Günter Beyes
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 315
Registriert: Mo, 16. Okt 2006 13:04
Wohnort: Region Stuttgart

Beitrag von Günter Beyes »

Hallo Andreas,

für das Minuszeichen versuche einmal

#define VK_OEM_MINUS 0xBD.

Hab's nicht probiert, sondern lediglich mit copy-paste übernommen.

Viele Grüße,

Günter
Günter Beyes
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 315
Registriert: Mo, 16. Okt 2006 13:04
Wohnort: Region Stuttgart

Beitrag von Günter Beyes »

Als Nachtrag eine allgemeine Lösung.

Diese Funktion liefert für (fast) alle Zeichen den virtuellen Tastaturcode sowie (by reference) Flags für Shift, Control, Alt und AltGr.

Sie scheitert allerdings an akzentuierten Zeichen wie "âéù".

Code: Alles auswählen

FUNCTION GetVirtualKeyCode( cChar, lShift, lCtrl, lAlt, lAltGR )

LOCAL nCode, nHiByte

STATIC VkKeyScan
IF VkKeyScan = NIL
	VkKeyScan := DllPrepareCall( "user32.dll", DLL_STDCALL, "VkKeyScanA" )
ENDIF

nCode := DllExecuteCall( VkKeyScan, asc( cChar ) )

nHiByte := HiByte( nCode )
lShift  := ( nHiByte = 1 )
lCtrl   := ( nHiByte = 2 ) 
lAlt    := ( nHiByte = 4 ) 
lAltGR  := ( nHiByte = 6 )

RETURN LowByte( nCode )

// -------------------

FUNCTION LowByte( n )
RETURN bAnd( n, 0xFF )

// -------------------

FUNCTION HiByte( n )
RETURN int( bAnd( n, 0xFF00 ) / 0x100 )

Viele Grüße,
Günter
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Beitrag von AUGE_OHR »

hi,

sorry, nochmal kurz zurück zu FFDSHOW, wenn es jemanden interessiert.

Ich hätte einfach mal "genauer" lesen sollen was in den Menus steht.

Nun hab ich rausgefunden das es die Option "Process keypresses even
if not focused checkbox" gibt (unter Tastatur-Kontrolle). Wenn man also
nun dort in die Checkbox ein "Kreuz" setzt und in "Remote-API" auch,
dann kann man auch aus der Application, die den Codec aufruft, die
Hotkeys benutzten.

Somit kann ich also "Flip" direkt mit ALT-CRTL-F (definierbar) aktivieren.

gruss by OHR
Jimmy
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Beitrag von andreas »

Danke Günter,

deine Lösung funktioniert einwandfrei. Die anderen Zeichen brauche ich nicht.
Hier ist die komplette Lösung zum senden eines Strings an Windows:

Code: Alles auswählen

**Tastaturereignisse an Windows bzw. andere Anwendungen senden
#define VK_SHIFT     0x10
#define VK_CONTROL    	0x11                    // STRG
#define VK_MENU          0x12                   // ALT
#define VK_RMENU        0xA5                    // ALT GR
#DEFINE VK_TAB 			0x9
#DEFINE VK_RETURN 		0xD
#define KEYEVENTF_KEYUP  0x0002


FUNCTION SendKey( cWert )
	local i := 0
	local lShift := .f.
	local lCtrl := .f.
	local lAlt := .f.
	local lAltGR := .f.
	local nCode := 0

	IF cWert # NIL
		IF valtype( cWert ) == "C"

			**Alle Symbole senden
			FOR i := 1 TO len(cWert)

				lShift := .f.
				lCtrl := .f.
				lAlt := .f.
				lAltGR := .f.

				nCode := GetVirtualKeyCode( cWert[i], @lShift, @lCtrl, @lAlt, @lAltGR )

				IF lShift                           //IsUpper( cWert[i] )
					keybd_event( VK_SHIFT, 0, 0, 0)
				ENDIF
				IF lCtrl
					keybd_event( VK_CONTROL, 0, 0, 0)
				ENDIF
				IF lAlt
					keybd_event( VK_MENU, 0, 0, 0)
				ENDIF
				IF lAltGR
					keybd_event( VK_RMENU, 0, 0, 0)
				ENDIF

				keybd_event( nCode, 0, 0, 0)    // asc( cWert[i] )
				keybd_event( nCode, 0, KEYEVENTF_KEYUP, 0)   //asc( cWert[i] )

				IF lAltGR
					keybd_event( VK_RMENU, 0, KEYEVENTF_KEYUP, 0)
				ENDIF
				IF lAlt
					keybd_event( VK_MENU, 0, KEYEVENTF_KEYUP, 0)
				ENDIF
				IF lCtrl
					keybd_event( VK_CONTROL, 0, KEYEVENTF_KEYUP, 0)
				ENDIF
				IF lShift                           //IsUpper( cWert[i] )
					keybd_event( VK_SHIFT, 0, KEYEVENTF_KEYUP, 0)
				ENDIF

			NEXT
			**Enter-Taste senden
			keybd_event( VK_RETURN, 0, 0, 0)
			keybd_event( VK_RETURN, 0, KEYEVENTF_KEYUP, 0)

		ENDIF
	ENDIF

RETURN NIL



FUNCTION GetVirtualKeyCode( cChar, lShift, lCtrl, lAlt, lAltGR )

	LOCAL nCode, nHiByte

	STATIC VkKeyScan
	IF VkKeyScan = NIL
		VkKeyScan := DllPrepareCall( "user32.dll", DLL_STDCALL, "VkKeyScanA" )
	ENDIF

	nCode := DllExecuteCall( VkKeyScan, asc( cChar ) )

	nHiByte := HiByte( nCode )
	lShift  := ( nHiByte = 1 )
	lCtrl   := ( nHiByte = 2 )
	lAlt    := ( nHiByte = 4 )
	lAltGR  := ( nHiByte = 6 )

RETURN LowByte( nCode )

// -------------------

FUNCTION LowByte( n )
RETURN bAnd( n, 0xFF )

// -------------------

FUNCTION HiByte( n )
RETURN int( bAnd( n, 0xFF00 ) / 0x100 )


FUNCTION keybd_event( nVk, nScan, nFlags, nExtraInfo )
	STATIC keybd_event
	IF keybd_event = NIL
		keybd_event := DllPrepareCall( "user32.dll", ;
			DLL_STDCALL, "keybd_event" )
	ENDIF
RETURN DllExecuteCall( keybd_event, nVk,;
	nScan, nFlags, nExtraInfo )
Gruß,

Andreas
VIP der XUG Osnabrück
henxl
UDF-Programmierer
UDF-Programmierer
Beiträge: 91
Registriert: Fr, 10. Feb 2006 19:46
Wohnort: Mannheim

Beitrag von henxl »

Hallo Andreas,

ich finde es fantastisch, dass Du so offen und selbstverständlich uns Deine Arbeit zur Verfügung stellst.
Wieder einmal profitiere ich von Deiner Lösung und habe ein schlechtes Gewissen.

Zum Verständnis habe ich jedoch noch eine Frage:

Im Parameter cWert übergibst Du das Zeichen/die Zeichenkette an SendKey bspw. "A". Wie kann SendKey erkennen, ob Du Alt-A oder Strg-A übergibst ?

Grüße
Heinz
Das einzige, was ich weiß ist, dass ich nichts weiß, Sokrates
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Beitrag von andreas »

Hallo Heinz,

da die Lösung zum Grössten Teil aus dem Forum kommt, habe ich diese selbstverständlich auch hier veröffentlicht.

Ich glaube nicht, dass es mit meiner Lösung möglich ist, die Folgen wie ALT-A usw. zu senden. Da musst du schon mit keybd_event das expliziert senden, so wie Günter es beschrieben hat. Mir ging es nur darum, dass mein Text an das aktuelle Programm gesendet wird.

Ich habe ein Programm, dass die Daten von dem Funkscanner (Barcode) empfängt und diese dann an Programm sendet. Zuerst habe ich es nur für XBase-Programme ermöglicht. Mit dieser Lösung ist es aber möglich, die gescannten Daten an jedes aktive Programm zu senden.
Gruß,

Andreas
VIP der XUG Osnabrück
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hi Andreas,

ist dieser Scanner nicht über die Tastatur angeschlossen ?

Die die ich kenne senden die Daten direkt an die Tastatur.
Gruß
Hubert
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Beitrag von andreas »

brandelh hat geschrieben:Hi Andreas,

ist dieser Scanner nicht über die Tastatur angeschlossen ?

Die die ich kenne senden die Daten direkt an die Tastatur.
Nein.

Es sind Datalogic Funkscanner die im Bereich 433MHz arbeiten und über Serielle Schnittstelle angeschlossen sind. Wir habe eine Anwendung, die auf dem Server läuft und verschiedene Aufgabe erledigt. Dafür habe ich eine kleine Client-Anwendung geschrieben und die Serveranwendung um einen Modus erweitert. Ich starte den Client auf meinem PC, melde mich am Scanner an und kann alle gescannte Daten an meine lokalen PC in jeder beibiegen Anwendung benutzen, ohne dass der Scanner bei mir lokal angeschlossen ist. Ich umgehe damit kauf von lokalen Scannern und kann vorhanede Hardware an jedem PC benutzen.
Gruß,

Andreas
VIP der XUG Osnabrück
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hi,

jetzt verstehe ich dein Problem besser ;-)

Bisher ging ich halt davon aus, dass der Scanner am Arbeitsplatz
angeschlossen sein muss, da dort auch gescannt wird.

Man lernt halt immer noch was dazu :D
Gruß
Hubert
Antworten