Witam,
Czy ktoś z Was może wie czy można z poziomu windows napisać program, który włączałby diodę NUM LOCK lub SCROLL LOCK lub CAPS LOCK ale nie włączałby ustawień klawiatury.
Przykład:
Chcę napisać program, który będzie sprawdzał np. czy jest nowa wiadomość e-mail i jeśli taka się pojawi to włączy miganie diody NUM LOCK, ale nie będzie włączał samej akcji związanej z tym klawiszem.
Chodzi mi tylko o możliwość włączania/wyłączania diód na klawiaturze bez włączania przycisku do niej przypisanego.
Nie wiem na pewno, ale chyba się nie da. Ale możesz mrygać scroll lock'iem, i tak się go nie używa.
//to jak nie wiesz po po grzyba piszesz??? i to bzdury totalne! - M
To bylo kiedys na forum, poszukaj, ale chyba sie nie da. Dlatego ze, tak naprawde to nie diodami sterujesz tylko stanem klawiszy, a diody tylko "wizualizuja" ten stan :p
//to jak nie wiesz po po grzyba piszesz??? i to bzdury totalne! - M
musisz wyslac odpowiednie polecenie do klawki na port 0x60 - uzyj googli aby dowiedziec sie jakie - chyba 0xED
Akurat tydzień temu pisałem o tym na innym forum
http://forum.myportal.cn.net.pl/index.php?s=&showtopic=7470&view=findpost&p=154106
co prawda [niestety] Delphi, ale jest tam opisana idea.
Marooned napisał(a)
Akurat tydzień temu pisałem o tym na innym forum
http://forum.myportal.cn.net.pl/index.php?s=&showtopic=7470&view=findpost&p=154106
co prawda [niestety] Delphi, ale jest tam opisana idea.
Dzięki,
Idee też już znalazłem:
Wysłać na port 0x60 dane 0xED, a później np. 0x2 dla CAPS-LOCK,
jednak wszystko co znalazłem (przykłady) było raczej napisane dla Linuxa, które wykorzystyją funkcję
inportb()
oraz outportb()
.
Problem w tym, że Builder nie wspiera, mało tego odradza wykorzystywanie tych funkcji. Były one dostępne wg tego co znalazłem w pliku nagłówkowym
```cpp
bios.h
.
W takim razie jak to napisać w builderze za pomocą dostępnych funkcji??
MUSISZ użyć dodatkowego sterownika działającego w ring0, który będzie miał prawa użycia portów - inaczej nie przejdzie.
Skoro piszesz w BCB, to użyj biblioteki, o której piszę w tamtym wątku. Działa i w BCB i w Delphi.