📄 btspy.h
字号:
#ifndef __BTSPY_H
#define __BTSPY_H
#include "resource.h"
#include "CRadioButton.hpp"
#include "CWizardPage.hpp"
#include "CRichEdit.hpp"
#include "CDialogBox.hpp"
#include "CButton.hpp"
#include "CText.hpp"
#include "CComboBox.hpp"
#include "CCheckBox.hpp"
#include "CLibrary.hpp"
#include "CToolTip.hpp"
#include "CEditBox.hpp"
#include "CSpin.hpp"
#include "Bt8xxAccess.hpp"
// Forward decls
class CBtSpy;
// The wizard pages
class CWPage1 : public CWizardPage {
protected:
CBtSpy* app; // Pointer to the main App.
CEditBox ebCardName; // The Card name
CToolTip ttWindow; // The ToolTip Window
public:
CWPage1(CBtSpy* main) :
CWizardPage(MAKEINTRESOURCE(IDD_PAGE1)) , app(main) {}
// Windows Messages
virtual INT OnInitDialog();
// Wizard Messages
virtual INT OnKillActive();
virtual INT OnReset();
virtual INT OnSetActive();
virtual INT OnWizNext();
virtual INT OnCommand(WORD ControlID,WORD NotifyCode);
};
class CWPage2 : public CWizardPage {
protected:
CBtSpy* app; // Pointer to the main App.
CRadioButton rbYes; // Yes radiobutton
CRadioButton rbNo; // No radiobutton
CToolTip ttWindow; // The ToolTip Window
public:
CWPage2(CBtSpy* main) :
CWizardPage(MAKEINTRESOURCE(IDD_PAGE2)) , app(main) {}
// Windows Messages
virtual INT OnInitDialog();
virtual INT OnCommand(WORD ControlID,WORD NotifyCode);
// Wizard Messages
virtual INT OnKillActive();
virtual INT OnReset();
virtual INT OnSetActive();
virtual INT OnWizNext();
};
class CWPage3 : public CWizardPage {
protected:
CBtSpy* app; // Pointer to the main App.
CToolTip ttWindow; // The ToolTip Window
public:
CWPage3(CBtSpy* main) :
CWizardPage(MAKEINTRESOURCE(IDD_PAGE3)) , app(main) {}
// Windows Messages
virtual INT OnInitDialog();
// Wizard Messages
virtual INT OnKillActive();
virtual INT OnReset();
virtual INT OnSetActive();
virtual INT OnWizNext();
};
class CWPage4 : public CWizardPage {
protected:
CBtSpy* app; // Pointer to the main App.
CRadioButton rbYes; // Yes radiobutton
CRadioButton rbNo; // No radiobutton
CToolTip ttWindow; // The ToolTip Window
public:
CWPage4(CBtSpy* main) :
CWizardPage(MAKEINTRESOURCE(IDD_PAGE4)) , app(main) {}
// Windows Messages
virtual INT OnInitDialog();
virtual INT OnCommand(WORD ControlID,WORD NotifyCode);
// Wizard Messages
virtual INT OnKillActive();
virtual INT OnReset();
virtual INT OnSetActive();
virtual INT OnWizNext();
virtual INT OnWizBack();
};
class CWPage5 : public CWizardPage {
protected:
CBtSpy* app; // Pointer to the main App.
CToolTip ttWindow; // The ToolTip Window
public:
CWPage5(CBtSpy* main) :
CWizardPage(MAKEINTRESOURCE(IDD_PAGE5)) , app(main) {}
// Windows Messages
virtual INT OnInitDialog();
// Wizard Messages
virtual INT OnKillActive();
virtual INT OnReset();
virtual INT OnSetActive();
virtual INT OnWizNext();
};
class CWPage6 : public CWizardPage {
protected:
CBtSpy* app; // Pointer to the main App.
CEditBox ebNumComposites;// Number of composite ins.
CSpin sSpin; // The Spinbox used to make selection easy
CToolTip ttWindow; // The ToolTip Window
public:
CWPage6(CBtSpy* main) :
CWizardPage(MAKEINTRESOURCE(IDD_PAGE6)) , app(main) {}
// Windows Messages
virtual INT OnInitDialog();
// Wizard Messages
virtual INT OnKillActive();
virtual INT OnReset();
virtual INT OnSetActive();
virtual INT OnWizNext();
virtual INT OnWizBack();
};
class CWPage7 : public CWizardPage {
protected:
CBtSpy* app; // Pointer to the main App.
CText tMsg; // The message to display
CToolTip ttWindow; // The ToolTip Window
public:
CWPage7(CBtSpy* main) :
CWizardPage(MAKEINTRESOURCE(IDD_PAGE7)) , app(main) {}
// Windows Messages
virtual INT OnInitDialog();
// Wizard Messages
virtual INT OnKillActive();
virtual INT OnReset();
virtual INT OnSetActive();
virtual INT OnWizNext();
virtual INT OnWizBack();
};
class CWPage8 : public CWizardPage {
protected:
CBtSpy* app; // Pointer to the main App.
CRadioButton rbYes; // Yes radiobutton
CRadioButton rbNo; // No radiobutton
CToolTip ttWindow; // The ToolTip Window
public:
CWPage8(CBtSpy* main) :
CWizardPage(MAKEINTRESOURCE(IDD_PAGE8)) , app(main) {}
// Windows Messages
virtual INT OnInitDialog();
virtual INT OnCommand(WORD ControlID,WORD NotifyCode);
// Wizard Messages
virtual INT OnKillActive();
virtual INT OnReset();
virtual INT OnSetActive();
virtual INT OnWizNext();
virtual INT OnWizBack();
};
class CWPage9 : public CWizardPage {
protected:
CBtSpy* app; // Pointer to the main App.
CToolTip ttWindow; // The ToolTip Window
public:
CWPage9(CBtSpy* main) :
CWizardPage(MAKEINTRESOURCE(IDD_PAGE9)) , app(main) {}
// Windows Messages
virtual INT OnInitDialog();
// Wizard Messages
virtual INT OnKillActive();
virtual INT OnReset();
virtual INT OnSetActive();
virtual INT OnWizNext();
};
class CWPage10 : public CWizardPage {
protected:
CBtSpy* app; // Pointer to the main App.
CToolTip ttWindow; // The ToolTip Window
public:
CWPage10(CBtSpy* main) :
CWizardPage(MAKEINTRESOURCE(IDD_PAGE10)) , app(main) {}
// Windows Messages
virtual INT OnInitDialog();
// Wizard Messages
virtual INT OnKillActive();
virtual INT OnReset();
virtual INT OnSetActive();
virtual INT OnWizFinish();
};
// And the peeker!
class CPeeker : public CDialogBox {
protected:
// Cached values
DWORD GPDATA;
DWORD GPOE;
BOOL Displayed;
// All the controls of the dialog!
CEditBox ebGPOE;
CEditBox ebGPDATA;
CToolTip ttWindow; // The ToolTip Window
CBtSpy* app; // Pointer to the main App.
public:
CPeeker(CBtSpy* main) : GPDATA(0), GPOE(0), Displayed(FALSE), app(main) , CDialogBox(MAKEINTRESOURCE(IDD_PEEKTOOL)) {}
virtual INT OnInitDialog();
virtual INT OnCommand(WORD ControlID,WORD NotifyCode);
virtual INT OnTimer(DWORD wParam);
// User interfases!
void Display();
void Hide();
BOOL IsDisplayed() const { return Displayed; }
};
// The summary page!
class CResult : public CDialogBox {
protected:
typedef struct {
WORD ID;
LPTSTR Name;
} VendorInfo;
protected:
// All the controls of the dialog!
CEditBox ebSummary;
CToolTip ttWindow; // The ToolTip Window
CBtSpy* app; // Pointer to the main App.
CPeeker peeker; // The peeker window
public:
static VendorInfo Info[]; // Vendor infos and descriptions
public:
CResult(CBtSpy* main) : app(main) ,peeker(main), CDialogBox(MAKEINTRESOURCE(IDD_RESULT)) {}
virtual INT OnInitDialog();
virtual INT OnCommand(WORD ControlID,WORD NotifyCode);
protected:
CString CreateReport();
static CString Vendor(WORD ID);
void SaveReport();
};
// The main app. class
class CBtSpy {
friend CWPage1;
friend CWPage2;
friend CWPage3;
friend CWPage4;
friend CWPage5;
friend CWPage6;
friend CWPage7;
friend CWPage8;
friend CWPage9;
friend CWPage10;
friend CResult;
friend CPeeker;
protected:
// Spy information we could want to keep ...
CString CardName; // Card Name
BOOL Has_TV; // If it has a TV tuner
DWORD TV_GPOE; // GPOE for TV audio
DWORD TV_GPDATA; // GPDATA for TV audio
DWORD TV_Mux; // The video Mux that TV is using
BOOL Has_SVideo; // If it has an SVideo input
DWORD SVideo_GPOE; // GPOE for SVideo audio
DWORD SVideo_GPDATA; // GPDATA for SVideo audio
DWORD SVideo_Mux; // The video Mux that SVideo is using
UINT CompositeIns; // Number of composite ins the card has
DWORD Composite_GPOE[4]; // GPOE for Composite audio
DWORD Composite_GPDATA[4]; // GPDATA for Composite audio
DWORD Composite_Mux[4]; // The video Mux that Composite is using
BOOL Has_Radio; // If it has a Radio input
DWORD Radio_GPOE; // GPOE for Radio audio
DWORD Radio_GPDATA; // GPDATA for Radio audio
DWORD Mute_GPOE; // GPOE to Mute audio
DWORD Mute_GPDATA; // GPDATA to Mute audio
// Some useful data
HINSTANCE Instance; // Our program instance
UINT CurrComposite; // The current composite that is processed
// Needed libraries
CLibrary RichEdit;
// And our Bt8xx access object
CBt8xxAccess BtAccess;
public:
CBtSpy(HINSTANCE Inst);
bool Execute();
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -