Results 1 to 2 of 2
Hybrid View
-
15th July 2007 11:51 #1
Low level ïðåõâàùàíå íà mouse events
Âúïðîñúò ìè å òàêúâ.
Íå ñúì âåù â ñèñòåìíîòî ïðîãðàìèðàíå, îñâåí ïðåäè ãîäèíè ïîä DOS ñè ïèøåõ ðàçíè äðàéâåð÷åòà çà k/b/mouse na assembler+ïàñêàë êúäåòî íå áåøå òðóäíî, íî ïîä Windows íå ñúì çàäúëáàâàë òàêà.
Íàñêîðî ñå ñäîáèõ ñ íîâà Logitech ìèøêà (ïúðâàòà ìè Logitech), è ñå ñáëúñêàõ çà ïúðâè ïúò ñ SetPoint. ßñíî å êàêâà áîçà å òîÿ äðàéâåð, è âúïðåêè ÷å çàñåãà îñâåí åäíà ìèçåðèÿ, ïðîáëåìè îñîáåíè íå ñúì èìàë, îñâåí áúãîâåòå â êîíòðîëíèÿ ïàíåë.
Òà õðóìíà ìè äàëè êîãàòî åäíà ìèøêà ðàáîòè ñàìî ñ generic äðàéâåðà íà Windows (XP/2003) è èìà 7/9 áóòîíà, ìîæå äà ñå íàïðàâè íÿêàêúâ low level mouse hook, êîéòî äà ïðåõâàíå íàïðàâî ñêàíèðàùèòå êîäîâå, èäâàùè îò ìèøêàòà, èëè àêî ñàìèÿ Windows ïðåõâàùà äîðè íåïîçíàòèòå áóòîíè (òîé âèæäà äîêîëêîòî çíàì äî 5 áóòîíà ñëåä òîâà íå ãè ðàçïîçíàâà) è ãè çàêàðâà â îèáêíîâåí trap íåïðàâåù íèùî, äà ñå ïðåõàíàò òèÿ ñúáèòèÿ çà íåïîçíàòèòå áóòîíè, è öÿëàòà ðàáîòà å äà èì ñå äàäå ôóíêöèÿ äà ïðàâÿò íåùî, îò ïðîãðàìêàòà, êîÿòî åâåíòóàëíî áèõ íàïèñàë.
Çà ñâåäåíèå, ïðåäè èìàõ åäíà êëàâèàòóðà Compaq ñ äîïúëíèòåëíè äåñåòèíà áóòîíà ãîðå, êîèòî â Windows íå ïðàâåõà àáñ. íèùî, òà âçåõ ÷å ñ íàïèñàõ ïðîãðàìà, êîÿòî ñå çàêà÷à çà êëàâèàòóðàòà ñ îáèêíîâåí keyboard hook, òàì ïîíå Windows ïðàùàøå íÿêàêâè ñêàíèðàùè êîäîâå, êîèòî ñ îáèêíîâåí learning (íàòèñêàì áóòîí, ïðîãðàìàòà âèæäà è çàïîìíÿ êîäà, è íà áóòîíà ìîæåõ äà çàäàâàì ðàçíè äåéñòâèÿ êàòî ñèìóëèðàíå íà hotkey è ò.í.) èì äàâàõ äà ïðàâÿò íåùî ïîëåçíî.  ñëó÷àÿ äðàéâåðà ïðàùàøå òèÿ êîäîâå è ìîÿòà ïðîãðàìà ìîæåøå äà ãè ðàçãðàíè÷àâà. Íå ñúì ñèãóðåí äàëè ïî ïðèíöèï êëàâ. äðàéâåð ãè å çàõâàùàë ïî-íèñêî è äà ãè å ïîäàâàë ïðîñòî íà ïðîãðàìèòå äà ïðàâÿò ñ òÿõ êâîòî èñêàò (à ïðîñòî äà ñúì íÿìàë ïðîãðàìà, êîÿòî äà ãè ïîçíàâà, ìàêàð ÷å òå áÿõà íÿêàêâè www, mail è ò.í.), èëè ïðîñòî ñúì õâàùàë àç raw êîäîâåòå, çà ùàñòèå.
Çà ìèøêàòà äàëè òîâà å âúçìîæíî áåç èíñòàëèðàíå íà äðàéâåð, äà õâàùàì êîäîâåòå ïðàùàíè îò ìèøêàòà (èëè îò generic äðàéâåðà íà Win) äîðè çà íåïîçíàòèòå íåìó áóòîíè?
Öÿëàòà èäåÿ å äà ñè íàïðàâÿ 'ñàìîîáó÷àâàùà' ñå ïðîãðàìêà, íà êîÿòî êàòî íàòèñíà áóòîíà, òÿ äà ãî çàïîìíè è äà é äàì íåùî äà ïðàâè ñ íåãî, êàêòî ñòàíà ñ êëàâèàòóðàòà. Äà ðàçêàðàì òúïèÿ è bloat-íàò SetPoint, òîâà å
Ìåðñè ïðåäâàðèòåëíî íà çíàåùèòå.
P.S. Äîðè äà ìå óïúòèòå êúì íÿêàêâà ñúùåñòâóâàùà ïðîãðàìêà, êîÿòî äà ãî ìîæå òîâà, ùå å ñóïåð, çàùîòî àç íå íàìåðèõ. Èëè êîìïîíåíò çà Delphi, êîéòî äà ñå çàêà÷è êúì ìèøêàòà è äà õâàùà âñåêè áóòîí, íåçàâèñèìî äàëè Âèíäîâñ ãî ðàïçîçíàâà èëè íå.
-
15th July 2007 13:41 #2
WH_MOUSE_LL
Windows NT/2000/XP: Installs a hook procedure that monitors low-level mouse input events. For more information, see the LowLevelMouseProc hook procedure
ß ïîòúðñè â MSDN-a äàëèÿ íÿìà äà òè å ïîëåçíî òîâà, àêî âå÷å íå ñè ãî ïðî÷åë.  êîëáåê ïðîöåäóðàòà èìà åäíà ñòðóêòóðà ñ ìåñèäæè îò äîïúëíèòåëíèòå áóòîíè, êîèòî ìàé ñà ñàìî äâà îùå. Îïèòàé äà âèäèø äàëè íå èäâà íåùî èíòåðåñíî â dwExtraInfo ÷ëåíà.
Àêî íå å, òîãàâà ñàìî ôèëòúð äðàéâåð ìîæå äà îïðàâè íåùàòà. Ãëàâîáîëèå.EVGA X299 FTW K|i9-7960X@4.7|4x8 Patriot Viper Steel 4000|GTX 1660 Ti|970 EVO 1 TB|Seasonic Focus GX-1000|Xigmatek Elysium|Êèëî è ïîëîâèíà âîäà
Rampage IV Extreme BE|E5-1680v2@4.7|4x4 HyperX 1866|Cougar Aqua 240|GTX 1050 Ti|970 EVO 1/4 TB|CM 850 SilentPro|HAF-X|Áåç èñòèíñêî âîäíî




Reply With Quote
Lenovo ThinkPad 15 èëè IdeaPad 15
5th May 2023, 22:16 in Ìîáèëíè êîìïþòðè