最近想做一个情景模式,只是简单的实现三个状态:正常音量,振动,静音。

本来想这么简单的应该不会很难的,开始没有找到相关的函数,就抓取注册表的变化来实现这三个状态。

结果可以实现这三种状态,哈哈,学到几个有用的注册表项。

HKCU/ControlPanel/Notifications/ShellOverrides:Mode. 0表示正常,1表示振动,2是静音

HKCU/ControlPanel/Volume:

_T("Key")        //按键音量

_T("Ringer")    //这个不清楚
_T("Screen")   //应该是点屏幕音量
_T("Volume")  // 系统音量

HKCU/ControlPanel/SoundCategories/Ring:InitVol 这个是调节音量那里第二列的音量(0-5)

系统上一状态的音量备份值保存在

HKCU/ControlPanel/Notifications/ShellOverrides:

_T("SavedKey")
 _T("SaveRinger")
 _T("SavedScreen")
 _T("SavedVolume")

还有电话中好像也得设置的,copy snapi.h中的文字

// PhoneRingerOff
// Gets a value indicating whether the phone's ringer is off (i.e., if it rings and/or vibrates).
#define SN_PHONERINGEROFF_ROOT  HKEY_LOCAL_MACHINE
#define SN_PHONERINGEROFF_PATH  TEXT("System//State//Phone")
#define SN_PHONERINGEROFF_VALUE  TEXT("Status")
#define SN_PHONERINGEROFF_BITMASK 0x40
//

设置相应的模式和音量,可以实现相应的功能,但是在TitleBar上面的喇叭图标一直没有改变。。。

这个问题很郁闷,后来网上找到两个文章,可以不用自己维护注册表,而实现上面的问题,

并可以改变上面标题栏的图标~

http://social.msdn.microsoft.com/Forums/zh-TW/803/thread/cb9786c0-823b-4bb1-9f54-12815695ae9c

http://www.devdiv.com/thread-24092-1-1.html

就是使用SndSetSound()函数。

//将顶栏喇叭图标设为(By jjlzg)打开 SNDFILEINFO sndFile1; sndFile1.sstType = SND_SOUNDTYPE_ON; SndSetSound(SND_EVENT_ALL, &sndFile1, TRUE); //将顶栏喇叭图标设为(By jjlzg)震动 SNDFILEINFO sndFile2; sndFile2.sstType = SND_SOUNDTYPE_VIBRATE; SndSetSound(SND_EVENT_ALL, &sndFile2, TRUE);

WINCE设置简单的情景模式总结篇~相关推荐

  1. android 情景模式设置

    大家仔细看下面我这个方法,它是用来设置这些情景模式的. 但是系统返回的状态只有三个,分别为: 1.public static final int RINGER_MODE_SILENT = 0;//静音 ...

  2. Android 情景模式的设置

    情景模式的设置大家应当相当熟悉了,但是在Android中如何通过自己的程序进行情景模式的设置呢,情景模式分为多种,即可以使用系统自带的,也可以使用自定义的,但是在开发某些程序时,可能需要在程序中更改情 ...

  3. And“.NET研究”roid 情景模式的设置

    情景模式的设置大家应当相当熟悉了,但是在Android中如何通过自己的程序进行情景模式的设置呢,情景模式分为多种多种,即可以使用系统自带的,也可以使用自定义的,但是在开发某些程序时,可能需要在程序中更 ...

  4. 【毕业设计_课程设计】蓝牙灯:支持一键设置情景模式、无极调光调色

    文章目录 0 前言 1 功能简介 2 ATTitleBar 3 ReactiveCocoa 4 CBCentralManager 5 ATCarouselView 6 细节问题 7 Smart Lam ...

  5. Android应用设置系统情景模式

    /*** 设置情景模式* @param silent//静音状态* @param vibrate //震动状态*/private void setRingerMode(boolean silent, ...

  6. mt6735 设置情景模式为会议或静音后拔掉电池,首次开机仍有开机铃声

    [DESCRIPTION] MT6735设置情景模式为会议或静音后拔掉电池,首次开机仍有开机铃声. [SOLUTION] root Cause如下: 1.设置情景模式即ringer_mode改变时会调 ...

  7. 【AudioProfile】情景模式下音效的默认设置

    情景模式下默认关闭拨号音效与锁屏音 在sprd平台下,AudioProfile是packages/apps下单独的模块,因此对应的代码需要在AudioProfile下寻找,在AudioProfileS ...

  8. 浅析Android情景模式流程

    此篇是基于MTK平台Android6.0的.情景模式分析,情景模式就是通常手机里面的"标准""静音""会议""户外"这几 ...

  9. minecraft服务器_如何使用Minecraft领域设置简单的无压力Minecraft服务器

    minecraft服务器 There are a lot of ways to go about hosting a Minecraft game but it's tough to beat the ...

最新文章

  1. java token认证机制,OAuth认证协议原理分析及使用方法
  2. Oralce 使用SQL中的exists 和not exists 用法详解
  3. WinCE启动次数的记录
  4. PPT图标的正确使用和插入与编辑形状
  5. 如何借助Kubernetes实现持续的业务敏捷性
  6. tomcat启动报错,找不到相应的 queue,从而引发内存泄漏
  7. 超清晰 ,一文理解:深拷贝与浅拷贝(js)
  8. matlab曲线拟合的应用,MATLAB软件在曲线拟合中的应用
  9. 您试图打开的项目是WEB项目,需要通过指定其Url路径来打开它
  10. cad巧用插件自定义填充图形
  11. Himawari-8葵花八HSD数据处理——几何校正
  12. oracle修改执行计划,调整执行计划的三种方法
  13. OpenSSL解析X509证书
  14. 前端性能优化实践:让视频加载也“懒”一点
  15. 我在汉语编程留言,确引来了一顿臭骂,气愤之后,贴出来让大家评,目的让更多的人知道forth
  16. 养生篇01 (饭水分离法)
  17. 项目管理知识体系指南 (四)
  18. 【机器人学习】MPU6050数据的换算
  19. 游戏建模师是做什么的?游戏建模有哪些常用软件?
  20. 一个大一计算机学生的学期总结(2022年)

热门文章

  1. 微信跳一跳java辅助
  2. 20230205英语学习
  3. 为什么RFID标签应用广泛
  4. S7-1500连接 V90 PN 实现运动控制
  5. 将QT标准对话框由英文显示为中文
  6. Android6.0 mtk去除原生相机设置中的选项
  7. 逻辑门图解—与门、或门、非门、与非门、或非门、异或门、同或门
  8. 新安装的微信PC版,退出后聊天记录没了,文件接收失败、错误、打不开,怎么办?
  9. 红外额温枪的原理和红外线温度传感器的解析
  10. caioj1212:【计算几何】判断线段相交(快速排斥判断与跨立实验)