Hi,
ich habe in meinem Notebook eine LED-Lampe eingebaut, die leuchten soll wenn man eine neue E-Mail hat. Abgesehen davon das das Programm von ASUS was dafür vorgesehen ist eine sehr große CPU-Auslastung verursacht, würde ich gerne ein eigenes Script schreiben mit dem ich die Lampe selber steuern kann.
Ich habe bereits ein C++-Script gefunden womit man die Lampe steuern kann, aber weil ich kein C++ kann will ich das nach AutoIt übersetzen :P.
Das komplette C++-Script ist hier zu finden: http://www.asusforum.encke.net/UpDownload-req-getit-lid-7.html
Ich habe bereits mit googlen folgenes hinbekommen:
[autoit]ATKACPIhandle = CreateFile("\\\\.\\ATKACPI",
GENERIC_READ|GENERIC_WRITE,
FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
0, NULL);
Global $inbuf[5],$outbuf[192]
$inbuf[0] = 2
$inbuf[1] = 0x44454c4D
$inbuf[2] = 1
$inbuf[3] = 8
$inbuf[4] = (DWORD)&cbuf
$bytes=0
DeviceIoControl(ATKACPIhandle, 0x222404, $inbuf, sizeof(inbuf),$outbuf, sizeof(outbuf), &bytes, NULL)
[/autoit][autoit][/autoit][autoit]Func DeviceIoControl($hDevice, $dwIoControlCode, $lpInBuffer, $nInBufferSize, $lpOutBuffer, $nOutBufferSize, $lpBytesReturned = 0, $lpOverlapped = 0)
$Call = DllCall("Kernel32.dll","bool","DeviceIoControl","handle", $hDevice, "dword", $dwIoControlCode, "ptr", $lpInBuffer, _
"dword", $nInBufferSize, "ptr", $lpOutBuffer, "ptr", $lpBytesReturned, "ptr", $lpOverlapped)
Return $Call[0]
EndFunc
Jetzt fehlt eben nur noch das, was in dem Script oben nicht mit der AutoIt-Syntax übereinstimmt. Bei den Sachen komme ich leider nicht weiter :(.
Ich hoffe, jemand von euch weiß was die C++-Funktionen bedeuten und kennt sich so gut mit AutoIt aus dass er weiß was das Gegenstück dazu ist :).