📄 bgwnd.cpp
字号:
#include "stdafx.h"
#include "bgwnd.h"
#include "setwnd.h"
#include "basewnd.h"
#include "DllMon.h"
//GUI窗体类
LPCTSTR g_szClassName = _T ("{83048FAE-7EF7-4ad9-9907-42F4D3EA43B3}");
const UINT WM_TASKBARCREATED = ::RegisterWindowMessage(_T("TaskbarCreated"));
#define TIMERID_INITDALAY 123
CPluginSet g_pluginmgr;
enum
{
WM_TRAYMSG=(WM_APP+1243),
};
CBGWnd::CBGWnd()
{
}
CBGWnd::~CBGWnd()
{
}
void CBGWnd::Delete()
{
_TRACE_FUNCTION_;
SendMessage(m_hWnd,WM_CLOSE,0,0);
CloseTipWnd();
CloseSetDialog();
g_pluginmgr.Delete();
g_pluginmgr.AquireDataLock();
g_pluginmgr.SavePersonalData();
g_pluginmgr.ReleaseDataLock();
CStandardPageWnd::Uninit();
DllMon::Uninit();
}
BOOL CBGWnd::Init()
{
_TRACE_FUNCTION_;
WNDCLASSEX wndclassex={0};
wndclassex.cbSize = sizeof(WNDCLASSEX);
wndclassex.style = CS_HREDRAW | CS_VREDRAW;
wndclassex.lpfnWndProc = WndProc;
wndclassex.cbClsExtra = 0;
wndclassex.cbWndExtra = 0;
wndclassex.hInstance = g_hInstance;
wndclassex.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wndclassex.hCursor = LoadCursor (NULL, IDC_ARROW);
wndclassex.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
wndclassex.lpszMenuName = NULL;
wndclassex.lpszClassName = g_szClassName;
wndclassex.hIconSm = wndclassex.hIcon;
if (!RegisterClassEx (&wndclassex)) return FALSE;
m_hWnd = CreateWindowEx (WS_EX_OVERLAPPEDWINDOW, g_szClassName, _T(""), WS_OVERLAPPEDWINDOW,
-100, -100, 2, 2, NULL, NULL, g_hInstance,this);
ShowWindow (m_hWnd, SW_HIDE);
UpdateWindow(m_hWnd);
DllMon::Init();
g_pluginmgr.Init();
CStandardPageWnd::Init();
return m_hWnd!=NULL;
}
LRESULT CALLBACK CBGWnd::NotifyProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_CREATE:
{
SetTimer(hWnd,TIMERID_INITDALAY,60,NULL);
}
break;
case WM_DESTROY:
{
CloseTipWnd();
CloseSetDialog();
}
case WM_TIMER:
{
if (wParam==TIMERID_INITDALAY)
{
DWORD dwUin=0;
dwUin=QQinterface::GetCurrentUin();
if (dwUin)
{//OK,可以初始化了
KillTimer(hWnd,TIMERID_INITDALAY);
TCHAR szPath[MAX_PATH]={0},szPath2[MAX_PATH]={0};
DWORD dwLen=0;
dwLen=GetTempPath(MAX_PATH,szPath);
if (dwLen)
{
// DbgPrint(_T("path:%s"),szPath);
if (szPath[dwLen-1]=='\\') szPath[dwLen-1]=0;
// DbgPrint(_T("path2:%s"),szPath);
ConfusedFileName::GetFileName(szPath,szPath2);
DbgPrint(_T("用户数据文件:%s"),szPath2);
g_pluginmgr.AquireDataLock();
g_pluginmgr.LoadPersonalData(szPath2);
g_pluginmgr.ReleaseDataLock();
ShowTipWnd(m_hWnd);
}
}
}
}
break;
default:
break;
}
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}
LRESULT CALLBACK CBGWnd::WndProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
CBGWnd * that=(CBGWnd*)GetWindowLongPtr(hWnd,GWLP_USERDATA);
switch (uMsg)
{
case WM_CREATE:
that=(CBGWnd*)(((LPCREATESTRUCT)lParam)->lpCreateParams);
SetWindowLongPtr(hWnd,GWLP_USERDATA,(LONG_PTR)that);
break;
default:
break;
}
if (NULL==that) return DefWindowProc(hWnd,uMsg,wParam,lParam);
return that->NotifyProc(hWnd,uMsg,wParam,lParam);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -