LEITOR DE CÓDIGO BARRAS

NETVOO 22/07/2016 14:32:56
#465036
Pessoal preciso de criar uma solução para ler o código de barras, só que ele tem que ficar em um lup sempre lendo o leitor sem que a tela do sistema esteja aberta para visualização e o txtbox esteja com foco nele para receber o que foi lido no código de barras.

Ou seja Ler o código de barras em BackGorund com C#, a pessoa pode estar trabalhando normal no pc, ou navegando na internet que ao leitor de mão esses simples ler um código de barras, o sistema receberá a string e executará alguma função.
Alguém poderia dar uma ideia de como ficaria esse código ou se é possível fazer isso.
JABA 22/07/2016 15:19:57
#465040
Resposta escolhida
Utilize Thread para isso: http://www.macoratti.net/10/09/c_thd1.htm
NETVOO 22/07/2016 15:29:29
#465041
Citação:

:
Utilize Thread para isso: http://www.macoratti.net/10/09/c_thd1.htm



ok mais e a leitura do código de barras com leitor usb. para implementar no exemplo que você me passou, você conhece alguma forma de ler o código de barras com leitor que pode ser colocá-lo dentro da Thread ?
JABA 22/07/2016 15:51:57
#465044
é só você criar um método que encapsule o que você tem e torna-lo responsável por essa leitura, depois crie uma thread que chame esse método em loop. Basicamente é isso!
NETVOO 22/07/2016 16:12:46
#465048
Citação:

:
é só você criar um método que encapsule o que você tem e torna-lo responsável por essa leitura, depois crie uma thread que chame esse método em loop. Basicamente é isso!



vixx JABA, agradeço a ajuda mais meu conhecimento não está ainda nesse nível para entender e executar essa operação.

Estou tentando usar esse código abaixo com a thread modelo do macorati mas é para porta com será que funcionaria para USB?

private void serialPort_DataRecieved(object sender, SerialDataReceivedEventArgs e)
{
byte[] btData = new byte[serialPort1.BytesToRead];
serialPort1.Read(btData, 0, btData.Length);
string dataRecieved = string.Empty;
dataRecieved = Encoding.UTF8.GetString(btData);

MessageBox.Show([Ô]licodigo: [Ô] + dataRecieved);
}
JABA 22/07/2016 16:33:34
#465050
Isso aí é o evento disparado pelo objeto principal e ele (o evento) não precisa estar dentro da thread que você criou. Eventos são apenas aquilo que algum objeto disparou. O objeto responsável pelos eventos é que tem que ser controlado dentro da thread.

http://www.macoratti.net/12/06/c_event1.htm
NETVOO 22/07/2016 18:50:36
#465057
Citação:

:
Isso aí é o evento disparado pelo objeto principal e ele (o evento) não precisa estar dentro da thread que você criou. Eventos são apenas aquilo que algum objeto disparou. O objeto responsável pelos eventos é que tem que ser controlado dentro da thread.

http://www.macoratti.net/12/06/c_event1.htm



JABA
Desculpe minha ignorância no assunto mais não consegui associar o evento a como coletar os dados o que o leitor vai passar pela USB.
entendi a ligação de se criar um evento que irá aguardar a leitura porem não como ler e recepcionar essa string do Leitor USB.
JABA 22/07/2016 20:00:33
#465058
Onde que o evento serialPort_DataRecieved é disparado? Como que você está lidando com isso?
NETVOO 23/07/2016 09:54:31
#465061
Citação:

:
Onde que o evento serialPort_DataRecieved é disparado? Como que você está lidando com isso?



como teste eu executo ele manualmente em um while dentro de Programa ou seja estou com um projeto simples só com um form tentando coletar o que o leitor lê.
Então não tenho a função nem telas definidas, até por que não funcionou ainda.
JABA 23/07/2016 15:35:49
#465068
Se você colocar o form sempre no topo e invisivel, será que não vai não?

http://www.devmedia.com.br/forum/form-sempre-a-frente-das-outras/253150
MARCELOKROL 23/07/2016 22:06:58
#465077
Olha não querendo jogar um balde de água fria, mas... pela minha experiencia com com automação comercial e leitores de códigos de barras, você só vai conseguir fazer isso se o leitor for serial, pois um leitor conectado na USB o computador interpreta ele como se fosse um teclado normal, jogando os caracteres lidos no buffer do teclado, como se estivesse digitando diretamente os mesmos.
Já um leitor na serial, devidamente instalado na porta COM1, COM2, etc, ai sim você consegue abrir a porta e capturar a leitura sem ter esses caracteres jogado no buffer do teclado, e partir dai fazer o que quiser com eles.
Digo isso baseado na maioria dos leitores USB que já configurei em meu sistema, agora se o leitor tiver um driver com que permita realizar tal encapsulamento ai é outra coisa.
Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas