Hier jetzt noch einmal eine Variante mit freier Positionierung des ZBar-Fensters sowie Entfernung des Rahmens. So lässt sich das Fenster als Overlay über die eigene Anwendung legen. Ist alelrdings nicht Crossplattform. Der obige Code schon, da ZBar auch für Linux erhältlich ist. Muss nur der richtige Programmname angegeben werden.
Code: Alles auswählen
EnableExplicit
ExamineDesktops()
OpenConsole()
Define.RECT WinPos
Define.l Scanner, ZBarHandle, SizeX, SizeY
Define.s Income
Scanner = RunProgram("C:\Program Files (x86)\ZBar\bin\zbarcam.exe","","",#PB_Program_Open | #PB_Program_Read)
While Not FindWindow_(0,"ZBar") And ProgramRunning(Scanner)
Delay(10)
Wend
ZBarHandle = FindWindow_(0,"ZBar")
If GetWindowRect_(ZBarHandle,WinPos)
SizeX = WinPos\right - WinPos\left
SizeY = WinPos\bottom - WinPos\top
Else
SizeX = 640
SizeY = 480
EndIf
SetWindowLongPtr_(ZBarHandle, #GWL_STYLE, GetWindowLongPtr_(ZBarHandle, #GWL_STYLE) ! (#WS_DLGFRAME | #WS_BORDER | #WS_SIZEBOX))
MoveWindow_(ZBarHandle,DesktopWidth(0)-SizeX+15,0,SizeX,SizeY,0)
While ProgramRunning(Scanner)
If AvailableProgramOutput(Scanner)
Income = ReadProgramString(Scanner)
PrintN("Barcode: "+StringField(Income,2,":"))
PrintN("Der Barcode-Typ ist: "+StringField(Income,1,":"))
PrintN("")
Delay(500)
EndIf
Wend
Vor allem die Lesegeschwindigkeit und Zuverlässigkeit von QR-Codes macht echt was her
So sieht es aus:
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript