📄 aygshell_helper.cpp
字号:
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
#include "aygshell_helper.h"
CAygshellHelper g_AygshellHelper;
CAygshellHelper::CAygshellHelper( void )
{
if( m_hAygshellDLL = LoadLibrary( L"aygshell.dll" ) )
{
BOOL (*SHInitExtraControls)() = NULL;
SHInitExtraControls = (BOOL (*)())GetProcAddress( m_hAygshellDLL, L"SHInitExtraControls" );
SHInitDialog = (LPSHINITDIALOG)GetProcAddress( m_hAygshellDLL, L"SHInitDialog" );
SHInputDialog = (LPSHINPUTDIALOG)GetProcAddress( m_hAygshellDLL, L"SHInputDialog" );
SHSipInfo = (LPSHSIPINFO)GetProcAddress( m_hAygshellDLL, L"SHSipInfo" );
// SHHandleWMSettingChange isn't exported by name, so reference its ordinal.
// OEMs shouldn't have to do this since they won't conditionally include aygshell.
SHHandleWMSettingChange = (LPSHHANDLEWMSETTINGCHANGE)GetProcAddress( m_hAygshellDLL, (LPWSTR)MAKELONG(83, 0) );
if( !(SHInitDialog && SHInputDialog
&& SHInitExtraControls && SHSipInfo
&& SHHandleWMSettingChange) )
{
FreeLibrary( m_hAygshellDLL );
m_hAygshellDLL = NULL;
}
else
{
SHInitExtraControls();
}
}
}
CAygshellHelper::~CAygshellHelper( void )
{
if( m_hAygshellDLL )
{
FreeLibrary( m_hAygshellDLL );
#ifdef DEBUG
m_hAygshellDLL = (HMODULE)0xDEADBEEF;
#endif
}
}
BOOL CAygshellHelper::Loaded( void )
{
return m_hAygshellDLL ? TRUE : FALSE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -