没有合适的资源?快使用搜索试试~ 我知道了~
VC编程技巧20法.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 136 浏览量
2021-10-08
06:48:15
上传
评论
收藏 25KB PDF 举报
温馨提示
试读
10页
VC编程技巧20法.pdf
资源推荐
资源详情
资源评论
VC 编程技巧 20 法
编程技巧 20 法(修订 )
作者:徐景周
1. 如何激活当前屏幕保护程序
// 激活当前屏幕保护程序 , jingzhou xu
PostMessage(WM_SYSCOMMAND,SC_SCREENSAVE,0)
;
2. 如何禁止 / 启用屏幕保护及电源管理
static UINT dss_GetList[] =
{SPI_GETLOWPOWERTIMEOUT,
SPI_GETPOWEROFFTIMEOUT,
SPI_GETSCREENSAVETIMEOUT};
static UINT dss_SetList[] =
{SPI_SETLOWPOWERTIMEOUT,
SPI_SETPOWEROFFTIMEOUT,
SPI_SETSCREENSAVETIMEOUT};
static const int dss_ListCount = _countof(dss_GetList);
l 禁止屏幕保护及电源管理
{
m_pValue = new int[dss_ListCount];
for (int x=0;x<dss_ListCount;x++)
{
// 禁止屏幕保护及电源管理
VERIFY(SystemParametersInfo (dss_SetList[x], 0,
NULL, 0));
}
delete[] m_pValue;
}
l 启用屏幕保护及电源管理
{
m_pValue = new int[dss_ListCount];
for (int x=0;x<dss_ListCount;x++)
{
// 启用屏幕保护及电源管理
VERIFY(SystemParametersInfo (dss_SetList[x],
m_pValue[x], NULL, 0));
}
delete[] m_pValue;
}
3. 如何激活和关闭 IE 浏览器
// 激活并打开 IE
void lounchIE()
{
HWND h=FindWindowEx(NULL,NULL,NULL,
"Microsoft Internet Explorer") ;
ShellExecute(h,"open","C:\simple.html",
NULL,NULL,SW_SHOWNORMAL);
}
// 关闭 IE 及其它应用
void CloseIE()
{
int app=BSM_APPLICATIONS;
unsigned long bsm_app=(unsigned long )app;
BroadcastSystemMessage(BSF_POSTMESSAGE,&bsm
_app,
WM_CLOSE,NULL,NULL);
}
4. 如何给树控件加入工具提示
l 首先给树控件加入 TVS_INFOTIP 属性风格,如下所示:
if (!m_ctrlTree.Create(WS_CHILD|WS_VISIBLE|
TVS_HASLINES|TVS_HASBUTTONS|TVS_LINESATRO
OT|TVS_SHOWSELALWAYS|TVS_INFOTIP, // 加入提示
TVS_INFOTIP ,jingzhou xu( 树控件 ID:100)
CRect(0, 0, 0, 0), &m_wndTreeBar, 100))
{
TRACE0("Failed to create instant bar child");
return -1;
}
l 其次加入映射消息声明,如下所示 :
afx_msg void OnGetInfoTip(NMHDR*
pNMHDR,LRESULT* pResult); // 树控件上加入提示消息,
jingzhou xu
ON_NOTIFY(TVN_GETINFOTIP, 100, OnGetInfoTip) //
树控件条目上加入提示, jingzhou xu
l 最后加入呼应涵数处理:
void CCreateTreeDlg::OnGetInfoTip(NMHDR*
pNMHDR,
LRESULT* pResult)
{
*pResult = 0;
NMTVGETINFOTIP* pTVTipInfo =
(NMTVGETINFOTIP*)pNMHDR;
LPARAM itemData = (DWORD) pTVTipInfo->lParam;
// 对应每个条目的数据
HTREEITEM hItem = pTVTipInfo->hItem;
CString tip;
HTREEITEM hRootItem =
m_chassisTree.GetRootItem();
if (hRootItem != pTVTipInfo->hItem)
{
tip = " 树结点的提示 ";
}
else
{
tip = " 树根上的提示 ";
}
strcpy(pTVTipInfo->pszText, (LPCTSTR) tip);
}
5. 如何获取系统信息框的路径
#include <atlbase.h>
#define IDS_REG_KEY_MSINFO_PATH1
_T( "Software\Microsoft\Shared Tools\MSInfo" )
#define IDS_REG_KEY_MSINFO_PATH2
_T( "Software\Microsoft\Shared Tools Location" )
#define IDS_REG_VAL_MSINFO_PATH1 _T( "Path" )
#define IDS_REG_VAL_MSINFO_PATH2 _T( "MSInfo" )
#define IDS_MSINFO_EXE_NAME
_T( "MSInfo32.exe" )
//...
BOOL GetSysInfoPath( CString& strPath )
{
strPath.Empty();
LPTSTR pszPath = strPath.GetBuffer( MAX_PATH );
CRegKey reg;
DWORD dwSize = MAX_PATH;
LONG nRet = reg.Open( HKEY_LOCAL_MACHINE,
IDS_REG_KEY_MSINFO_PATH1, KEY_READ );
// 在注册表中寻找第一个 "MSInfo32.exe" 位置
if ( nRet == ERROR_SUCCESS )
{
#if ( _MFC_VER >= 0x0700 )
nRet =
reg.QueryStringValue( IDS_REG_VAL_MSINFO_PATH
资源评论
maodi_lzc
- 粉丝: 1
- 资源: 4万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功