コード例 #1
0
        //
        public static MorphicResult <MorphicUnit, Win32ApiError> SendVolumeMuteToggleCommand(IntPtr sourceHwnd)
        {
            var generateAppCommandResult = VolumeUtils.InternalSendAppCommand(sourceHwnd, Keyboard.Utils.AppCommandUtils.AppCommand.APPCOMMAND_VOLUME_MUTE);

            if (generateAppCommandResult.IsError == true)
            {
                return(MorphicResult.ErrorResult(generateAppCommandResult.Error !));
            }

            return(MorphicResult.OkResult());
        }
コード例 #2
0
        //
        public static MorphicResult <MorphicUnit, Win32ApiError> SendVolumeUpCommand(IntPtr sourceHwnd, uint percent)
        {
            if (percent % 2 != 0)
            {
                throw new ArgumentOutOfRangeException(nameof(percent), "Argument must be an even value, as each key reduces the volume % by 2");
            }
            if (percent > 100)
            {
                throw new ArgumentOutOfRangeException(nameof(percent), "Argument may not exceed 100 percent");
            }

            var keyPressCount = percent / 2;

            for (var i = 0; i < keyPressCount; i += 1)
            {
                var generateAppCommandResult = VolumeUtils.InternalSendAppCommand(sourceHwnd, Keyboard.Utils.AppCommandUtils.AppCommand.APPCOMMAND_VOLUME_UP);
                if (generateAppCommandResult.IsError == true)
                {
                    return(MorphicResult.ErrorResult(generateAppCommandResult.Error !));
                }
            }

            return(MorphicResult.OkResult());
        }