需求:有一个TextBox密码框,系统上安装读屏软件,当用户输入密码时,避免周围人听到,用户需要装密码框中的声音屏蔽,即TextBox输入的内容不进行读屏,用户需要只有自己知道。为了实现这一功能,
在网上找了好久,多数是调用系统的api,[DllImport(
"user32.dll"
)]或者是
[DllImport("Winmm.dll")],使用
SendMessageW(
this
.Handle, WM_APPCOMMAND,
this
.Handle, (IntPtr)APPCOMMAND_VOLUME_DOWN)或者是
private static extern int waveOutSetVolume(int hwo, System.UInt32 pdwVolume))
都不是自己想达到的效果,最后参考
http://www.dreamincode.net/forums/topic/45693-controlling-sound-volume-in-c%23/#/
最后有一个dll程序提供下载,使用工具是VS005,将此程序生成dll,导入到自己的程序中,添加命名空间,
using VolumeControl.Library.Constants;
using VolumeControl.Library.Structs;
<