复制内容到剪贴板
代码:
int MainWnd::SetSilenceAndVibrantIcon( bool IsSilenceOn , bool IsVibrantOn )
{
//silence icon
MSGQUEUEOPTIONS sOptions;
sOptions.dwSize = sizeof(MSGQUEUEOPTIONS);
sOptions.dwFlags = MSGQUEUE_ALLOW_BROKEN;
sOptions.dwMaxMessages = 8;
sOptions.cbMaxMessage = sizeof(DIALTOSHELLINFOR);
sOptions.bReadAccess = FALSE;
HANDLE hMsgQueue = CreateMsgQueue(DIAL_TO_SHELL_INFOR, &sOptions);
if(!hMsgQueue)
{
RETAILMSG(1,(TEXT("ERROR Opening Message Queue")));
return FALSE;
}
else
{
DIALTOSHELLINFOR silentStatusInfo;
silentStatusInfo.parameterVaildMark = SILENT_VALID;
if ( !IsSilenceOn && !IsVibrantOn ) silentStatusInfo.SilentStatus = SILENT_STATUS_UNKNOWN;
if ( IsSilenceOn && !IsVibrantOn ) silentStatusInfo.SilentStatus = SILENT_STATUS_SILENCE;
if ( !IsSilenceOn && IsVibrantOn ) silentStatusInfo.SilentStatus = SILENT_STATUS_UNKNOWN;//SILENT_STATUS_VIBRANT;
if ( IsSilenceOn && IsVibrantOn ) silentStatusInfo.SilentStatus = SILENT_STATUS_SILENCE;//SILENT_STATUS_VIBRANT_AND_SILENT;
WriteMsgQueue(hMsgQueue, &silentStatusInfo, sizeof(DIALTOSHELLINFOR),0x0, 0x0);
CloseMsgQueue(hMsgQueue);
return TRUE;
}
}这个是我在情景模式里用的函数,可以搞定静音图标的问题,第一个参数不用管了,设置第二个IsVibrantOn就好。
[
本帖最后由 archon 于 2010-2-9 02:47 编辑 ]