Launch Manager installs itself into C:\Program Files\Launch Manager. By using IDA (The Interactive Disassembler), the following was observed.
HotkeyApp.exe is the main Launch Manager UI. It monitors the status of the Bluetooth and Wifi hardware button. If a button is pressed, HotKeyApp will post a message to Wbutton.exe (provided that Wbutton.exe is already running). Wbutton will then use DeviceIOControl to interact with the hardware and call OSD.EXE with the following command line parameters to display the device status on screen (e.g. Bluetooth is disabled):
- OSD.EXE 20: "Bluetooth Disabled" is displayed.
- OSD.EXE 19: "Bluetooth Enabled" is displayed.
- OSD.EXE 18: "Wireless LAN Disabled" is displayed.
- OSD.EXE 17: "Wireless LAN Enabled" is displayed.
To toggle Wifi/Bluetooth status, there are 2 approaches
1. Run Wbutton.exe, PostMessage to Wbutton.exe and rely on it to do the rest.
HWND hwndWButtion = FindWindow(L"Wireless class", NULL);
if (hwndWButtion) PostMessage(hwndWButtion, 0x800A, 0, 1); //toggle bluetooth
if (hwndWButtion) PostMessage(hwndWButtion, 0x800A, 0, 0); //toggle wifi
2. Call DeviceIOControl directly using the following code. This approach does not need Wbutton.exe
//obtain a handle to the wireless driver
HANDLE hWireless = CreateFile(L"\\\\.\\Hotkey", 0x80000000, 1, NULL, 3, 0, NULL);
//tell the driver which device (bluetooth/wifi) to control
BYTE inBuffer[2];
BYTE outBuffer[2];
DWORD bytesRet;
//send control code. Notice the magic IOCTL number.
BOOL isOK = DeviceIoControl(hWireless, 0x2224C4, (void*) inBuffer, 2, (void*) outBuffer, 2, &bytesRet, NULL);
inBuffer defines which device to set status for. Use the following values:
- inBuffer[0]=inBuffer[1]=0 to turn off bluetooth
- inBuffer[0]=inBuffer[1]=1 to turn on wifi
- inBuffer[0]=0; inBuffer[1]=1 to turn on bluetooth
- inBuffer[0]=1; inBuffer[1]=0 to turn off wifi
Download source code here
how is it possible to do post the messages to the command control of acer's launchmanager? please provide the source code if any to enable or disable the wifi(vbs/exe) ill be thankful :)
ReplyDeletesiddhanth, I have no VBS source code. The C++ code is already given in the article and you can use it to write your own program and compile to .EXE file if you want to. :)
ReplyDeletethanks for the quick reply! wasnt expecting it.. i am not a professional on c++ just know the basics that is how to write basic codes and compiling the program.. nevertheless.. ill try to play around a bit with turbo C++
ReplyDeleteHi, i was scanning google for several days and was very deasapointed to have to do fn+f3 at each startup to enable bluetooth on my acer aspire 77454G, when i found your blog. i downloaded the program, compiled it, but unfortunatly i've tested both of your methods and they doesn't work for me because i think that the soft has changed. i have the LM_Dritek_4.0.5_Win7x64 with a small window which appears when you press Fn+F3 with bluetoth and wifi toggle switch on/off. Could you please do something for me (and update ? ) it would be very nice to you ! i'm searching for so long a solution (thinking about that night and days) I hate acer !
ReplyDeleteThank you in advance
Jef
Hi Jeff,
ReplyDeleteYou are right that it is possible that the mechanism to toggle wifi/bluetooth in later laptop model has changed. The article was written is 2008. If you can send me a copy of LM_Dritek_4.0.5_Win7x64 I may give it a try. Otherwise, you can try it yourself - decompile the .EXE with IDA Interactive Disassembler and see what you get.
Hi again,
ReplyDeleteThank you very much for your help. Iv'e tried, but it's too hard for me :-( . If you have time, even if it's in several weeks, it'll be ther glad to help me . I give you the adress of the package, because i didn't thind your email...
the package is here : http://www.station-drivers.com/page/dritek.htm the 4.08 seven for a 64 bits.
Thank you again .
Jeff
Hi jeff,
ReplyDeleteThanks for giving the link. Let me download and give it a try. :)
Hi,
ReplyDeletedid you see something interresting ? I've tried with IDA again but i didn't find something intelligible.
thanks in advance !
Jeff
Hi Jeff,
ReplyDeleteNot yet will spend some time working on it later this month. Quite busy with something else. Meanwhile Try to see if the executable is packed - if it is you will need to unpack first before IDA will be helpful.
Hi,
ReplyDeletenothing new for me .. and you ?
i'm still angry about my acer notebook. Every day Fn + F3 , it's boring .
if you have some time ...
thanks !
Hi,
ReplyDeletenothing new ? i didn't find anything. I don't think that the executable is packed. This Acer notebook is boring me every day ! It should exist a solution !
I know i don't help you very much, but i don't understand assmembler.
Thank's for your help
Jeff
hi,
ReplyDeletenothiong new for me. i don't think it's packed. End you ?
This acer notebook is boring !
thank's for your help
Jeff
Sorry I still haven't had the time to research on it further yet. Will try to find some time to see if there's anything interesting.
ReplyDelete