Hej! Svårt det här? Det tycker jag också :) Vore det inte enklare att inskaffa en kortläsare som ansluts till serieporten? Först och främst - ska datorn användas samtidigt? Många frågor blev det. För det första det går inte att ha vilken kortläsare som helst. Det finns en speciell programvara som tolkar det som finns på kortet, används tex i passersystem. Jag har fått reda på att programmet som hanterar kortläsaren använder kommandot SendKeys om det mmm... det låter bra,funderar,måste du blanda in DOS programmet,tycker det låter Jo tyvärr så är det dosprogrammet som är själva applikationen. Min tanke var att göra ett vb program som fångade det sendkeys skicka och det är ju inga problem. Problemet uppkommer då det "fångande" vb progget inte har focus utan att dos progget (eller annat windowsprogram] är i förgrunden. Men det är klart Oki på det. Jag har ett "cracker" patch program i DOS där jag skriver in ett lösenord. Dett är tydligtvis ett "olösligt" probelm. Kanske bara att lägga på hyllan? kan man inte fånga tangentbordet med nån hook innan? SetWindowsHookEx finns ju Win32 APIet, kanske kan vara något? Tack för tipset ! Jag skall följa upp det och återkomma i ärendet. Jag förstår inte varför alla envisas med att använda hooks när det finns en ypperlig funktion som hämtar tangenter asynkront. Hook har faktiskt en stor fördel: Du kan trycka hur snabbt som helst på tangenterna (t.ex. automatisering) och du kommer ändå inte missa en enda tangent :) Förutsätter inte GetAsyncKeyState att applikationen har focus? Nej det kräver inte att "applikationen"/fönstret har fokus. Ja tack det vore intressant att se hur du löst det!Hur detektera tecken i tangentbuffert om applikationen inte har focus?
Jag behöver en vb applikation som ligger och snurrar och har en uppgift att fånga tangentbordsbuffert när där finns något och spara innehållet till en fil. Jag får inte till det då vb applikationen inte har focus.
Ett Dos program (sådana finns fortfarande!) kör och skall kunna använd det som kommit in.
Man kan ju tycka att Dos kunde läsa tangentbordsbufferten direkt, men det konstiga är att det kommer aldrig ngt där medan det i Windows kommer.
Det är en kortläsare som skickar strängen och inte det faktiska tangentbordet kanske skulle tilläggas.
Några ideer?
/BoSv: Hur detektera tecken i tangentbuffert om applikationen inte har focus?
Sv: Hur detektera tecken i tangentbuffert om applikationen inte har focus?
Sv: Hur detektera tecken i tangentbuffert om applikationen inte har focus?
Sv:Hur detektera tecken i tangentbuffert om applikationen inte har focus?
Datorn kör ett program i ett dosfönster samtidigt det är det som gör det svårt att läsa av tangenttryckningar i ett Windosprogg samtidigt.
Jag skall leta efter keylogger och se om det ger något. Jag har letat på olika VB sajter uten resultat.Sv: Hur detektera tecken i tangentbuffert om applikationen inte har focus?
kan vara till någon ledning.Sv:Hur detektera tecken i tangentbuffert om applikationen inte har focus?
som man kundee köra direkt via Vb. Eller ?
Att fånga Sendkeys är ganska enkelt.Sv: Hur detektera tecken i tangentbuffert om applikationen inte har focus?
kunde man komma på ett sätt att fånga i dos vad sendkeys skickar så hade problemet varit löst men jag kan inte hitta på något. Möjligt att det hade gått med ett assembler progg men jag är alleles för rostig på det området för att våga mig på det :)
Sv:Hur detektera tecken i tangentbuffert om applikationen inte har focus?
Skall jobba på att få detta att visas i VB,får se hur det går
Återkommer på denna kanal. Tänker på Vb:s AppActivate och SendKeysSv: Hur detektera tecken i tangentbuffert om applikationen inte har focus?
Sv:Hur detektera tecken i tangentbuffert om applikationen inte har focus?
Här står ju lite grejs t.ex. http://www.codeguru.com/vb/gen/vb_system/keyboard/article.php/c4829Sv: Hur detektera tecken i tangentbuffert om applikationen inte har focus?
Sv:Hur detektera tecken i tangentbuffert om applikationen inte har focus?
Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As Long) As Integer
Skriv en kod i en timer eller liknande som stegar igenom de tecken som man skall kontrollera om de är nedtryckta. Alltså typ en slinga som liknar:
for i = intStart to intSlut
if GetAsyncKeyState(i) = -32768 then
'Den virtuella tangenten i är nedtryckt/släppt för tillfället
end if
next i
Kommer inte ihåg vilket värde man skall jämföra med, men tror att det är -32768...
Kan återkomma senare.Sv: Hur detektera tecken i tangentbuffert om applikationen inte har focus?
Sv: Hur detektera tecken i tangentbuffert om applikationen inte har focus?
Jag skall göra ett försök med hook i alla fall skall bara få lite tid över..Sv:Hur detektera tecken i tangentbuffert om applikationen inte har focus?
Det är sant att det är bättre att skapa hooks som lägger sig i Windows meddelandekö eftersom de hanteras så stabilt, men det tar längre tid att skriva och är mycket krångligare att förstå.
Jag har skrivit ett dussintal tangentfångare så jag skulle ju kunna lägga upp några kodexempel (om jag hittar mina projekt vill säga)...
Tack och hej!Sv: Hur detektera tecken i tangentbuffert om applikationen inte har focus?