int _tmain(int argc, _TCHAR* argv[]) { SetConsoleTitle(_T("WlanHelper for Npcap ") _T(WINPCAP_VER_STRING) _T(" (http://npcap.org)")); vector<tstring> strArgs; for (int i = 0; i < argc; i++) { strArgs.push_back(argv[i]); } if (argc == 1) { _tprintf(STR_COMMAND_USAGE); return -1; } else if (argc == 2) { if (strArgs[1] ==_T("-h") || strArgs[1] == _T("--help")) { _tprintf(STR_COMMAND_USAGE); return -1; } else if (strArgs[1] == _T("-i")) { _tprintf(_T("WlanHelper [Interactive Mode]:\n****************************************************\n")); return MainInteractive(); } else { _tprintf(STR_INVALID_PARAMETER); return -1; } } else if (argc == 3) { if (strArgs[2] == _T("mode")) { tstring strMode; if (GetCurrentOperationMode(getGuidFromAdapterName_Wrapper(strArgs[1]), strMode)) { _tprintf(_T("%s\n"), strMode.c_str()); return 0; } else { _tprintf(_T("Failure\n")); return -1; } } else if (strArgs[2] == _T("modes")) { tstring strModes; if (GetOperationModeCapability(getGuidFromAdapterName_Wrapper(strArgs[1]), strModes)) { _tprintf(_T("%s\n"), strModes.c_str()); return 0; } else { _tprintf(_T("Failure\n")); return -1; } } else if (strArgs[2] == _T("modes-monitor")) { tstring strModes; if (IsMonitorModeSupported(getGuidFromAdapterName_Wrapper(strArgs[1]))) { _tprintf(_T("%d\n"), TRUE); return 0; } else { _tprintf(_T("%d\n"), FALSE); return 0; } } else if (strArgs[2] == _T("channel")) { ULONG ulChannel; if (GetCurrentChannel(getGuidFromAdapterName_Wrapper(strArgs[1]), ulChannel)) { _tprintf(_T("%u\n"), ulChannel); return 0; } else { _tprintf(_T("Failure\n")); return -1; } } else if (strArgs[2] == _T("freq")) { ULONG ulFrequency; if (GetCurrentFrequency(getGuidFromAdapterName_Wrapper(strArgs[1]), ulFrequency)) { _tprintf(_T("%u\n"), ulFrequency); return 0; } else { _tprintf(_T("Failure\n")); return -1; } } else if (strArgs[2] == _T("modus")) { vector<tstring> nstrPhyTypes; if (GetSupportedPhyTypes(getGuidFromAdapterName_Wrapper(strArgs[1]), nstrPhyTypes)) { _tprintf(_T("%s\n"), printArray(nstrPhyTypes).c_str()); return 0; } else { _tprintf(_T("Failure\n")); return -1; } } else if (strArgs[2] == _T("modus2")) { vector<tstring> nstrPhyList; if (GetDesiredPhyList(getGuidFromAdapterName_Wrapper(strArgs[1]), nstrPhyList)) { _tprintf(_T("%s\n"), printArray(nstrPhyList).c_str()); return 0; } else { _tprintf(_T("Failure\n")); return -1; } } else if (strArgs[2] == _T("modu")) { tstring ulPhyID; if (GetCurrentPhyID(getGuidFromAdapterName_Wrapper(strArgs[1]), ulPhyID)) { _tprintf(_T("%s\n"), ulPhyID.c_str()); return 0; } else { _tprintf(_T("Failure\n")); return -1; } } else { _tprintf(STR_INVALID_PARAMETER); return -1; } } else if (argc == 4) { if (strArgs[2] == _T("mode")) { if (SetWlanOperationMode(getGuidFromAdapterName_Wrapper(strArgs[1]), strArgs[3])) { _tprintf(_T("Success\n")); return 0; } else { _tprintf(_T("Failure\n")); return -1; } } else if (strArgs[2] == _T("channel")) { int ulChannel = _ttoi(strArgs[3].c_str()); if (SetCurrentChannel(getGuidFromAdapterName_Wrapper(strArgs[1]), ulChannel)) { _tprintf(_T("Success\n")); return 0; } else { _tprintf(_T("Failure\n")); return -1; } } else if (strArgs[2] == _T("freq")) { int ulFrequency = _ttoi(strArgs[3].c_str()); if (SetCurrentFrequency(getGuidFromAdapterName_Wrapper(strArgs[1]), ulFrequency)) { _tprintf(_T("Success\n")); return 0; } else { _tprintf(_T("Failure\n")); return -1; } } else if (strArgs[2] == _T("modu")) { if (SetCurrentPhyID(getGuidFromAdapterName_Wrapper(strArgs[1]), strArgs[3])) { _tprintf(_T("Success\n")); return 0; } else { _tprintf(_T("Failure\n")); return -1; } } else { _tprintf(STR_INVALID_PARAMETER); return -1; } } else { _tprintf(_T("Error: too many parameters.\n")); return -1; } return 0; }
void BChannelSlider::MouseDown(BPoint where) { if (!IsEnabled()) BControl::MouseDown(where); else { fCurrentChannel = -1; fMinPoint = 0; // Search the channel on which the mouse was over int32 numChannels = CountChannels(); for (int32 channel = 0; channel < numChannels; channel++) { BRect frame = ThumbFrameFor(channel); frame.OffsetBy(fClickDelta); float range = ThumbRangeFor(channel); if (fIsVertical) { fMinPoint = frame.top + frame.Height() / 2; frame.bottom += range; } else { // TODO: Fix this, the clickzone isn't perfect frame.right += range; fMinPoint = frame.Width(); } // Click was on a slider. if (frame.Contains(where)) { fCurrentChannel = channel; SetCurrentChannel(channel); break; } } // Click wasn't on a slider. Bail out. if (fCurrentChannel == -1) return; uint32 buttons = 0; BMessage* currentMessage = Window()->CurrentMessage(); if (currentMessage != NULL) currentMessage->FindInt32("buttons", (int32*)&buttons); fAllChannels = (buttons & B_SECONDARY_MOUSE_BUTTON) == 0; if (fInitialValues != NULL && fAllChannels) { delete[] fInitialValues; fInitialValues = NULL; } if (fInitialValues == NULL) fInitialValues = new (std::nothrow) int32[numChannels]; if (fInitialValues) { if (fAllChannels) { for (int32 i = 0; i < numChannels; i++) fInitialValues[i] = ValueFor(i); } else { fInitialValues[fCurrentChannel] = ValueFor(fCurrentChannel); } } if (Window()->Flags() & B_ASYNCHRONOUS_CONTROLS) { if (!IsTracking()) { SetTracking(true); _DrawThumbs(); Flush(); } _MouseMovedCommon(where, B_ORIGIN); SetMouseEventMask(B_POINTER_EVENTS, B_LOCK_WINDOW_FOCUS | B_NO_POINTER_HISTORY); } else { do { snooze(30000); GetMouse(&where, &buttons); _MouseMovedCommon(where, B_ORIGIN); } while (buttons != 0); _FinishChange(); fCurrentChannel = -1; fAllChannels = false; } } }