Program/skrypt wciskający guzik przy autostarcie

Witam.

Mam podświetlenie klawiatury w laptopie jednak podczas codziennego użytkowania nie potrzebuje go, w związku z czym zawsze je wyłączam zaraz po starcie systemu. Moje pytanie jest następujące: czy istnieje program lub skrypt który mógłby automatycznie wciskać guzik wyłączania podświetlenia za mnie? Chodzi mi o guziki Fn+F9.

Pozdrawiam.

Nie, to jest realizowane sprzętowo a nie programowo i nie da się tego zrobić żadnym skryptem.

Ale możesz zajrzeć do biosu czy nie ma tam opcji ustawiającej czy podświetlanie ma być domyślnie włączone przy starcie czy nie.

To była pierwsza rzecz jaką sprawdziłem. Widzę że autohotkey nie wykrywa funkcji przycisku Fn+F9 więc raczej nic z tego. Wychodzi na to, że dopóki ktoś nie zmodyfikuje BIOSu muszę wyłączać to manualnie.

EDIT: ups, nie zauważyłem że daliście odpowiedzi(mam otwarty temat od wczoraj) 

http://www.autohotkey.com/

Uruchom i sprawdź kod dla Fn http://www.autohotkey.com/board/topic/21105-crazy-scripting-scriptlet-to-find-scancode-of-a-key/

Dopasuj do wzoru http://www.autohotkey.com/board/topic/77201-how-to-replay-a-fn-key-event-solved/

Nie sprawdzałem, z Fn to może być niewykonalne, ale dlaczego temat jest “solved”?

 

Problem można by rozwiązać w JScript (.vs) lub JBScript(.vb) ale znowu bez Fn

VScript https://technet.microsoft.com/en-us/library/ff731008.aspx

http://www.codeproject.com/Questions/183840/How-can-I-press-both-function-key-fn-and-f-at-th

VBScript http://www.pctools.com/guides/scripting/detail/149/?act=reference

var WshShell = new ActiveXObject("WScript.Shell");
WshShell.AppActivate(this);
WshShell.SendKeys("{F9}");

Python https://pypi.python.org/pypi/SendKeys/0.3

Również nie Fn+F9

 

Wczoraj zasiadłem do pisania w WinAPI, mam już przerobiony fragment który odczyta kody(KeyboardHook). Troche to potrwa, jeśli nie wieczność bo nie mam weny.

Zostawiam kod, może ci ktoś przerobi a może uda sie sprawdzić czy Fn jest jakoś rejestrowany.

Jeśli tak to można by wysłać SendInput?

#include <windows.h>
#pragma hdrstop
#include "Klawiszek.h"
int main (void)
{
INPUT input;
//wstawić kod dla KeyDOWN Fn
//wstawić kod dla KeyDOWN F9
input.ki.time = 0;
input.ki.dwFlags = 0;
input.ki.vk = VK_F9;
SendInput(NULL, &input,sizeof(input)); //wyślij
//wstawić kod na podniesienie KeyUP F9
input.ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(NULL, &input,sizeof(input));
//wstawić kod na podniesienie Fn
return 0; 
}

// Sprawdzanie kodów wymaga przerobienia:

//NISKOPOZIOMOWE PRZECHWYTYWANIE KLAWISZY 
//
HHOOK llkbdhhook;
LRESULT LowLevelKeyboardProc(INT nCode, WPARAM wParam, LPARAM lParam) {
if (nCode!=HC_ACTION)
   {return CallNextHookEx(llkbdhhook,nCode,wParam,lParam);
   }
register BOOL fProcHandled;
register KBDLLHOOKSTRUCT *pkbdllhook = (KBDLLHOOKSTRUCT*)lParam;
//------------------------------------
if (wParam==WM_KEYDOWN) {
printf("KEYDOWN: %d\n",pkbdllhook->vkCode);
else {
 // obsługa zwolnienia klawisza Ctrl, Alt lub Tab i przekazanie dalej
printf("KEYUP: %d\n",pkbdllhook->vkCode);}

return CallNextHookEx(llkbdhhook,nCode,wParam,lParam); }

//---------------------------------------------------------------------------

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {

llkbdhhook = SetWindowsHookEx(WH_KEYBOARD_LL,(HOOKPROC)LowLevelKeyboardProc, (HINSTANCE)HInstance, 0);

printf(“Naciśnij wybrany klawisz i zanotuj ich kody”);

/// niekończąca się pętla for (; ;) { Sleep(10); }

}

 

 

 

 

@stasinek Jestem pod wrażeniem że komuś chciało się tak poważnie potraktować temat. Twój skrypt działa? Czym to skompilować?