X01TåããHTCãªã©ãã®ä»ããã¤ã¹åãã®2種é¡ã
Universalã¯å¤§ä½ã©ããªããã¤ã¹ã§ãåãã¨æãã¾ããä»åã¯ããã¤ã¹å決ãæã¡ãããªãã®ã§ã
X01Tã¯SIMãåºãã£ã¦ãªãã¨ãã«Wifiã¨ãSDã¨ã使ãããªãããã«ãã©ã¤ãã夿
çãªã®ã§Universalçã§ã¯åããªãã®ã§ããå°ã£ããã®ã ã
Download: WifiInfoSetup_Universal.1.25.CAB
Download: WifiInfoSetup_X01T.1.25.CAB
以ä¸ããã
*** Wifi.cpp Tue Jul 15 00:40:00 2008 --- WifiInfo/Wifi.cpp Fri Jul 18 22:58:15 2008 *************** *** 17,22 **** --- 17,23 ---- #pragma comment(lib, "Ws2.lib") #include <iphlpapi.h> #pragma comment(lib, "Iphlpapi.lib") + #include <Pm.h> #include "wifi.h" #include "bt.h" *************** *** 30,35 **** --- 31,37 ---- #define WIFI_LED_OFF_EVENT_NAME _T("LedDrvOffEventWLAN") #define STOP_LED_BLINK_EVENT_NAME _T("WifiInfoStopLedBlink") #define WIFI_TIMER_REMOVE_EVENT_NAME _T("WifiIncoDisconnectTimerRemoveEvent") + #define WIFI_DEVICE_GUID _T("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\") #define WIFI_DEVICE_NAME_LENGTH MAX_PATH #define QUERY_BUFFER_SIZE 1024 *************** *** 52,58 **** static NDIS_802_11_POWER_MODE g_ndisPowMode = Ndis802_11PowerModeMax; static WIFI_POWER_MODE g_wifiPowerMode = WIFI_POWER_MODE_MAX_PSP; static TCHAR g_szIPAddress[32] = _T(""), ! g_szWifiDeviceName[WIFI_DEVICE_NAME_LENGTH] = _T(""); BOOL g_bTurnWifiLedOn = TRUE, g_bTurnBtOff = TRUE, --- 54,61 ---- static NDIS_802_11_POWER_MODE g_ndisPowMode = Ndis802_11PowerModeMax; static WIFI_POWER_MODE g_wifiPowerMode = WIFI_POWER_MODE_MAX_PSP; static TCHAR g_szIPAddress[32] = _T(""), ! g_szWifiDeviceName[WIFI_DEVICE_NAME_LENGTH] = _T(""), ! g_szWifiDeviceFullName[WIFI_DEVICE_NAME_LENGTH] = _T(""); BOOL g_bTurnWifiLedOn = TRUE, g_bTurnBtOff = TRUE, *************** *** 97,102 **** --- 100,128 ---- g_dwWifiStatusPrev = GetWifiStatus(); RegisterNotification(); + + #ifdef UNIVERSAL + // ã¢ããã¿åãåå¾ã§ããã®ã§ã + HKEY hkey; + RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"Comm\\", 0, KEY_ALL_ACCESS, &hkey); + + wchar_t name[32]; + DWORD n = 0, length = 31; + while (RegEnumKeyEx(hkey, n++, name, &length, NULL, NULL, NULL, NULL) == ERROR_SUCCESS) + { + length = 31; + HKEY hsubkey; + DWORD data, sz = sizeof(DWORD); + RegOpenKeyEx(hkey, name, 0, KEY_ALL_ACCESS, &hsubkey); + if (RegQueryValueEx(hsubkey, L"Wireless", NULL, NULL, (LPBYTE)&data, &sz) == ERROR_SUCCESS) { + wcscat_s(g_szWifiDeviceFullName, WIFI_DEVICE_NAME_LENGTH, WIFI_DEVICE_GUID); + wcscat_s(g_szWifiDeviceFullName, WIFI_DEVICE_NAME_LENGTH, name); + break; + } + } + + RegCloseKey(hkey); + #endif } // çµäº *************** *** 114,119 **** --- 140,155 ---- // ç¡ç·LAN ON VOID TurnWifiPowerOn() { + #ifdef X01T + SHELLEXECUTEINFO si = {sizeof(SHELLEXECUTEINFO), 0, NULL, NULL, + L"\\Windows\\tfwifi.exe", NULL, L"\\Windows", SW_SHOW, + 0, NULL, NULL, NULL, 0, NULL, NULL}; + ShellExecuteEx(&si); + #elif UNIVERSAL + // DevicePower D0 ã§ON + DevicePowerNotify((PVOID)g_szWifiDeviceFullName, D0, POWER_NAME); + SetDevicePower((PVOID)g_szWifiDeviceFullName, POWER_NAME, D0); + #else HANDLE hEvent = NULL; hEvent = CreateEvent(NULL, FALSE, FALSE, WIFI_POWON_EVENT_NAME); *************** *** 125,136 **** CloseHandle(hEvent); hEvent = NULL; } } // ç¡ç·LAN OFF VOID TurnWifiPowerOff() { ! HANDLE hEvent = NULL; hEvent = CreateEvent(NULL, FALSE, FALSE, WIFI_POWOFF_EVENT_NAME); if (hEvent != NULL) { --- 161,183 ---- CloseHandle(hEvent); hEvent = NULL; } + #endif } // ç¡ç·LAN OFF VOID TurnWifiPowerOff() { ! #ifdef X01T ! SHELLEXECUTEINFO si = {sizeof(SHELLEXECUTEINFO), 0, NULL, NULL, ! L"\\Windows\\tfwifi.exe", NULL, L"\\Windows", SW_SHOW, ! 0, NULL, NULL, NULL, 0, NULL, NULL}; ! ShellExecuteEx(&si); ! #elif UNIVERSAL ! // DevicePower D4 ã§OFF ! DevicePowerNotify((PVOID)g_szWifiDeviceFullName, D4, POWER_NAME); ! SetDevicePower((PVOID)g_szWifiDeviceFullName, POWER_NAME, D4); ! #else ! HANDLE hEvent = NULL; hEvent = CreateEvent(NULL, FALSE, FALSE, WIFI_POWOFF_EVENT_NAME); if (hEvent != NULL) { *************** *** 138,143 **** --- 185,191 ---- CloseHandle(hEvent); hEvent = NULL; } + #endif } // ç¡ç·LAN LED ON/OFF