Quantcast
Channel: Kodinerds.net - Deutschsprachiges Forum zum Kodi Entertainment Center
Viewing all articles
Browse latest Browse all 87137

[TUTORIAL] Kodi mit RC6 Fernbedienung starten/wiederherstellen

$
0
0
Da Windows 10 nach einem Upgrade immer wieder meine Zuweisung (STRG+ALT+K) zum starten von Kodi über die info Taste der FB verworfen hat,
habe ich mal im Netz herumgesucht und aus diversen Schnipseln eine Autoit Anwendung erstellt.
Diese läuft nun dauerhaft und greift die Keystrokes wie ein Keylogger ab. Bei Übereinstimmung des Musters der Keysrokes wird Kodi gestartet, oder wenn es schon im Hintergrund läuft, in den Vordergrund geholt und per ALT+ENTER Maximiert.
Wenn man nicht mit der Tastatur hantiert, dann klappt das auch schön, aber es gibt ein Problem mit einigen Tasten die dann einfach irgendwas machen.
Mir ist das Egal, da ich eh wenig mit der Tastatur mache und wenn euch das auch Egal ist, dann könnt ihr gern mein zusammengeklautes Script haben.


C-Quellcode

  1. #Region;**** Directives created by AutoIt3Wrapper_GUI ****
  2. #AutoIt3Wrapper_UseUpx=n
  3. #EndRegion;**** Directives created by AutoIt3Wrapper_GUI ****
  4. #include <Array.au3>
  5. #include <RawInput.au3>
  6. #include <WinAPI.au3>
  7. HotKeySet('{ESC}', '_EXIT')
  8. Global $tRID_KD, $pRID_KD, $iRID_KD
  9. Global $tRIH, $iRIH
  10. Global $iNumDevices
  11. Global $hGUI , $pData
  12. Global $kodi=0
  13. $hGUI = GUICreate('Test', 100, 100)
  14. GUIRegisterMsg($WM_INPUT, 'OnInput')
  15. $tRID_KD = DllStructCreate($tagRAWINPUTDEVICE)
  16. $pRID_KD = DllStructGetPtr($tRID_KD)
  17. $iRID_KD = DllStructGetSize($tRID_KD)
  18. $tRIH = DllStructCreate($tagRAWINPUTHEADER)
  19. $iRIH = DllStructGetSize($tRIH)
  20. $iNumDevices = 1
  21. DllStructSetData($tRID_KD, 'usUsagePage', 0x01)
  22. DllStructSetData($tRID_KD, 'usUsage', 0x06)
  23. DllStructSetData($tRID_KD, 'dwFlags', BitOR($RIDEV_NOLEGACY, $RIDEV_INPUTSINK))
  24. DllStructSetData($tRID_KD, 'hwndTarget', $hGUI)
  25. _RegisterRawInputDevices($pRID_KD, $iNumDevices, $iRID_KD)
  26. While 1
  27. Sleep(20)
  28. WEnd
  29. GUIDelete()
  30. Func OnInput($hwnd, $iMsg, $iwParam, $ilParam)
  31. Local $tRI_KD, $pRI_KD, $iRI_KB
  32. Local $iSize
  33. $tRI_KD = DllStructCreate($tagRAWINPUT_KEYBOARD)
  34. $pRI_KD = DllStructGetPtr($tRI_KD)
  35. $iRI_KB = DllStructGetSize($tRI_KD)
  36. _GetRawInputData($ilParam, $RID_INPUT, $pRI_KD, $iRI_KB, $iRIH)
  37. If Not @error Then
  38. ConsoleWrite(DllStructGetData($tRI_KD, 'VKey') & @CR)
  39. $a= DllStructGetData($tRI_KD, 'VKey')
  40. ;~ MsgBox(0, "VKey", DllStructGetData($tRI_KD, 'VKey') )
  41. ;~ MsgBox(0, "$a", $a)
  42. EndIf
  43. $tRI_KD = 0
  44. $tRI_KD = DllStructCreate($tagRID_DEVICE_INFO_HID)
  45. $pRI_KD = DllStructGetPtr($tRI_KD)
  46. $iRI_KB = DllStructGetSize($tRI_KD)
  47. _GetRawInputDeviceInfo($hwnd, $RIDI_DEVICEINFO, $pRI_KD, $iRI_KB)
  48. If Not @error Then
  49. $b=DllStructGetData($tRI_KD, 'dwVendorId')
  50. ;~ MsgBox(0, "$a und $b", $a&" "&$b)
  51. $c=$a&$b
  52. ;~ MsgBox(0,"",$c)
  53. EndIf
  54. If $c=170 And Not ProcessExists("kodi.exe") Then
  55. $c=0
  56. Run("C:\Program Files (x86)\Kodi\kodi.exe")
  57. WinActivate("Kodi")
  58. WinWaitActive("Kodi")
  59. Send("!{ENTER}")
  60. EndIf
  61. If $c=170 And ProcessExists("kodi.exe") Then
  62. $c=0
  63. ConsoleWrite("kodi laeuft "& @CRLF)
  64. WinActivate("Kodi")
  65. WinWaitActive("Kodi")
  66. $state= WinGetState("Kodi")
  67. ;~ MsgBox(0,"",$state)
  68. If $state<>47 Then Send("!{ENTER}")
  69. ConsoleWrite("$state: " & WinGetState("Kodi")& @CRLF)
  70. EndIf
  71. $tRI_KD = 0
  72. Return 'GUI_RUNDEFMSG'
  73. EndFunc
  74. Func _EXIT()
  75. GUIDelete()
  76. Exit
  77. EndFunc
Alles anzeigen
Zu diesem Script gibt es Anpassungen.
1. Muss man herausfinden welche Keystrokes von der FB gesendet werden.
2. Der Pfad zu Kodi muss evtl. angepasst werden.
3. so nicht lauffähig, da AUTOIT und ein Include benötigt wird.

Anleitung:

1. Autoit Installieren
2.kodinerds.net/index.php/Attach…7eabd9f655622451e7ad6b6d3 laden und enpacken und ins Include Verzeichnis von Autoit kopieren.(C:\Program Files (x86)\AutoIt3\Include)
3. SciTE Script Editor starten und den code hier dort einfügen. Abspeichern!
3. In Zeile 64 ";~" entfernen um einen benötigten Wert als Textbox zu bekommen. WERT SPÄTER AUFSCHREIBEN!
4. In Zeile 69 den Pfad zur Kodi.exe anpassen.
5. Speichern
6. Tools -> Go drücken und nichts weiter.
7. auf der FB die gewünschte taste drücken
8. wert aus der zuerst angezeigten Textbox aufschreiben.
9. alle weiteren Boxen wegklicken und das script beenden. Kodi beenden.
10. in den zeilen 67 und 74 $c=170 gegen euren wert tauschen ($c= 123)
11 in zeile 64 ";~" wieder einsetzen oder ganze zeile löschen.
12. speichern und testlauf machen (Tools -> go)
13. wenn alles funktioniert auf Tools -> build klicken und die komplierte exe in den autostart oder wohin auch immer verfrachten.

P.S. Evtl. werde ich das script noch splitten und ohne bastelei eurerseits als programm anbieten.

Wer Rechtschreibfehler findet kann sie gern seinen Kindern als Mahnendes Beispiel zeigen. ;)

Viewing all articles
Browse latest Browse all 87137


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>