iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >基于C++怎么编写一个键盘提示音程序
  • 575
分享到

基于C++怎么编写一个键盘提示音程序

2023-07-05 10:07:12 575人浏览 独家记忆
摘要

这篇文章主要讲解了“基于c++怎么编写一个键盘提示音程序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于C++怎么编写一个键盘提示音程序”吧!准备资源首先我们要下载鸡你太美的音频并剪辑好,

这篇文章主要讲解了“基于c++怎么编写一个键盘提示音程序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于C++怎么编写一个键盘提示音程序”吧!

准备资源

首先我们要下载鸡你太美的音频并剪辑好,然后再准备一个可爱的图片当作图标。

将准备好的资源添加到工程中。

基于C++怎么编写一个键盘提示音程序

之后不要忘记在主程序引用资源文件

#include "resource.h"

播放声音

使用PlaySound函数即可

 PlaySound((LPCTSTR)IDR_WAVE1, NULL, SND_RESOURCE | SND_SYNC);

获取键盘按键

使用GetAsyncKeyState获取键盘按键状态。为了方便使用,我使用了宏定义

#define KEY_DOWN(key_name) ((GetAsyncKeyState(key_name)& 0x8001)?1:0)#define KEY_UP(key_name) ((GetAsyncKeyState(key_name)& 0x8001)?0:1)

然后就是获取键盘输入了

for (;;)    {        //鸡        if (KEY_DOWN('J')) {            if (hasPress[0] == false)            {                hasPress[0] = true;                niganma = 1;                thread t1(PlaySounds,0);                t1.detach();            }        }        if (KEY_UP('J'))        {            hasPress[0] = false;        }        //你        if (KEY_DOWN('N')) {            if (hasPress[1] == false)            {                hasPress[1] = true;                if (niganma == 1)                {                    niganma = 2;                }                else                {                    niganma = 0;                }                thread t1(PlaySounds, 1);                t1.detach();            }        }        if (KEY_UP('N'))        {            hasPress[1] = false;        }        //太        if (KEY_DOWN('T')) {            if (hasPress[2] == false)            {                hasPress[2] = true;                if (niganma == 2)                {                    niganma = 3;                }                else                {                    niganma = 0;                }                thread t1(PlaySounds, 2);                t1.detach();            }        }        if (KEY_UP('T'))        {            hasPress[2] = false;        }        //美        if (KEY_DOWN('M')) {            if (hasPress[3] == false)            {                hasPress[3] = true;                if (niganma == 3)                {                    thread t1(PlaySounds, 4);                    t1.detach();                    niganma = 0;                }                else {                    thread t1(PlaySounds, 3);                    t1.detach();                }                            }        }        if (KEY_UP('M'))        {            hasPress[3] = false;        }    }

完整代码

所以,完整的代码如下:

// XiaoHeiZi.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include "resource.h"#include <iOStream>#include<thread>#include <coNIO.h>#include<stdlib.h>#include<windows.h>#include<iostream>#include <Mmsystem.h> #pragma comment(lib, "Winmm.lib") #define KEY_DOWN(key_name) ((GetAsyncKeyState(key_name)& 0x8001)?1:0)#define KEY_UP(key_name) ((GetAsyncKeyState(key_name)& 0x8001)?0:1)#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) using namespace std; bool ModifyRegedit(bool bAutoRun){    char pFileName[MAX_PATH] = { 0 };    DWord dwRet = GetModuleFileNameA(NULL, (LPSTR)pFileName, MAX_PATH);    std::cout << pFileName;    HKEY hKey;    LPCSTR lpRun = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";    long lRet = ReGopenKeyExA(HKEY_LOCAL_MacHINE, lpRun, 0, KEY_WRITE, &hKey);    if (lRet != ERROR_SUCCESS)    {        std::cout << "failed";        return false;    }           if (bAutoRun)        RegSetValueA(hKey, "XiaoHeizi", (DWORD)REG_SZ, (LPCSTR)pFileName, MAX_PATH);    else        RegDeleteValueA(hKey, "XiaoHeizi");    ReGCloseKey(hKey);    return true;}  static void PlaySounds(int i){    if (i == 0)    {        PlaySound((LPCTSTR)IDR_WAVE1, NULL, SND_RESOURCE | SND_SYNC);    }    else if (i == 1)    {        PlaySound((LPCTSTR)IDR_WAVE4, NULL, SND_RESOURCE | SND_SYNC);    }    else if (i == 2)    {        PlaySound((LPCTSTR)IDR_WAVE5, NULL, SND_RESOURCE | SND_SYNC);    }    else if (i == 3)    {        PlaySound((LPCTSTR)IDR_WAVE3, NULL, SND_RESOURCE | SND_SYNC);    }    else    {        PlaySound((LPCTSTR)IDR_WAVE2, NULL, SND_RESOURCE | SND_SYNC);    }    }int main(){    ModifyRegedit(true);    bool hasPress[4];    for (int i = 0; i < 4; i++) {        hasPress[i] = false;    }    int niganma = 0;    for (;;)    {        //鸡        if (KEY_DOWN('J')) {            if (hasPress[0] == false)            {                hasPress[0] = true;                niganma = 1;                thread t1(PlaySounds,0);                t1.detach();            }        }        if (KEY_UP('J'))        {            hasPress[0] = false;        }        //你        if (KEY_DOWN('N')) {            if (hasPress[1] == false)            {                hasPress[1] = true;                if (niganma == 1)                {                    niganma = 2;                }                else                {                    niganma = 0;                }                thread t1(PlaySounds, 1);                t1.detach();            }        }        if (KEY_UP('N'))        {            hasPress[1] = false;        }        //太        if (KEY_DOWN('T')) {            if (hasPress[2] == false)            {                hasPress[2] = true;                if (niganma == 2)                {                    niganma = 3;                }                else                {                    niganma = 0;                }                thread t1(PlaySounds, 2);                t1.detach();            }        }        if (KEY_UP('T'))        {            hasPress[2] = false;        }        //美        if (KEY_DOWN('M')) {            if (hasPress[3] == false)            {                hasPress[3] = true;                if (niganma == 3)                {                    thread t1(PlaySounds, 4);                    t1.detach();                    niganma = 0;                }                else {                    thread t1(PlaySounds, 3);                    t1.detach();                }                            }        }        if (KEY_UP('M'))        {            hasPress[3] = false;        }    }}

感谢各位的阅读,以上就是“基于C++怎么编写一个键盘提示音程序”的内容了,经过本文的学习后,相信大家对基于C++怎么编写一个键盘提示音程序这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 基于C++怎么编写一个键盘提示音程序

本文链接: https://www.lsjlt.com/news/351073.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 基于C++编写一个键盘提示音程序
    目录准备资源播放声音获取键盘按键完整代码首先讲一下思路,这次制作的小黑子相当于键盘提示音,输入J,N,T,M,会发出“鸡你太美”的声音,连续按下JNTM则会发...
    99+
    2023-03-08
    C++实现键盘提示音程序 C++键盘提示音程序 C++键盘提示音
  • 基于C++怎么编写一个键盘提示音程序
    这篇文章主要讲解了“基于C++怎么编写一个键盘提示音程序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于C++怎么编写一个键盘提示音程序”吧!准备资源首先我们要下载鸡你太美的音频并剪辑好,...
    99+
    2023-07-05
  • 基于Python怎么编写一个语音合成系统
    这篇文章主要介绍了基于Python怎么编写一个语音合成系统的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇基于Python怎么编写一个语音合成系统文章都会有所收获,下面我们一起来看看吧。背景一直对语音合成系统比较...
    99+
    2023-06-29
  • 基于C++怎么编写一个Json解析器
    这篇文章主要介绍了基于C++怎么编写一个Json解析器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇基于C++怎么编写一个Json解析器文章都会有所收获,下面我们一起来看看吧。代码JsonSerialize.h...
    99+
    2023-07-05
  • 基于Python怎么编写一个微博抽奖小程序
    本篇内容主要讲解“基于Python怎么编写一个微博抽奖小程序”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于Python怎么编写一个微博抽奖小程序”吧!开发工具Python版本:3.7.8相关...
    99+
    2023-06-30
  • 基于Python编写一个自动关机程序
    目录1、实现效果2、实现步骤3、全部代码1、实现效果 2、实现步骤 模块导入 import os,sys,time from PyQt5 import QtCore,QtWidge...
    99+
    2024-04-02
  • 基于Python编写一个微博抽奖小程序
    目录导语开发工具环境搭建先睹为快原理简介导语 带大家写个微博自动抽奖小程序吧,motivation和之前的B站自动抽奖小程序一样: 不想内卷了,整个B站全自动抽奖的小程序吧,万一不小...
    99+
    2024-04-02
  • 基于C++怎么编写一个简单的服务器
    这篇文章主要讲解了“基于C++怎么编写一个简单的服务器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于C++怎么编写一个简单的服务器”吧!先写个简易的controller基类继承反射基类,...
    99+
    2023-07-05
  • 基于Python怎么编写一个点名器
    这篇文章主要介绍“基于Python怎么编写一个点名器”,在日常操作中,相信很多人在基于Python怎么编写一个点名器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”基于Python怎么编写一个点名器”的疑惑有所...
    99+
    2023-07-02
  • 基于Python编写一个B站全自动抽奖的小程序
    目录导语开发工具环境搭建原理简介导语 应好友邀请,帮他写了个小程序,功能类似于实时监控自己关注的UP主,如果关注的UP主中有人发布了抽奖的动态,就自动参与这个抽奖。这样就能不错过任何...
    99+
    2024-04-02
  • 基于Python编写一个根据姓名测性别的小程序
    目录导语一、准备环节1.1安装环境二、准备素材三、开始敲代码3.1导入模块3.2定义界面3.3预测性别3.4读取数据 3.5附完整的源码四、效果展示总结导语 以前上英语课老...
    99+
    2024-04-02
  • 怎么用Java编写一个小程序
    编写Java小程序的步骤如下:1. 安装Java开发工具包(JDK):从Oracle官网下载并安装最新版本的JDK。2. 配置开发环...
    99+
    2023-10-18
    java
  • 如何通过C++编写一个简单的音频播放器程序?
    随着计算机技术的进步,音频播放器已经成为人们的日常生活中必不可少的工具。而在C++编程领域,如何编写一个简单的音频播放器程序呢?在本文中,我们将会探讨这个话题。一、 程序的基本框架编写一个音频播放器程序的时候,最重要的是要明确程序的基本框架...
    99+
    2023-11-04
    C++ 编写 音频播放器
  • 基于Python怎么编写一个刷题练习系统
    这篇“基于Python怎么编写一个刷题练习系统”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“基于Python怎么编写一个刷题...
    99+
    2023-07-05
  • 基于WPF怎么编写一个串口转UDP工具
    这篇“基于WPF怎么编写一个串口转UDP工具”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“基于WPF怎么编写一个串口转UDP...
    99+
    2023-07-05
  • 基于Python怎么编写一个二维码生成器
    这篇“基于Python怎么编写一个二维码生成器”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“基于Python怎么编写一个二维...
    99+
    2023-07-02
  • 怎么在Ubuntu/Debian Linux上编写、编译和运行一个C程序
    这篇文章给大家分享的是有关怎么在Ubuntu/Debian Linux上编写、编译和运行一个C程序的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。步骤 1: 编写你的 C 程序,并使用一个 .c ...
    99+
    2023-06-15
  • 怎么用Netty编写一个服务端程序
    本篇内容主要讲解“怎么用Netty编写一个服务端程序”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Netty编写一个服务端程序”吧!1.编写一个Serve...
    99+
    2024-04-02
  • 使用Java怎么编写一个递归程序
    这篇文章将为大家详细讲解有关使用Java怎么编写一个递归程序,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。递归的定义递归(recursion):以此类推是递归的基本思想,将规模大的问题转化为...
    99+
    2023-06-06
  • 怎么用java编写一个记事本程序
    要用Java编写一个记事本程序,可以按照以下步骤进行:1. 创建一个Java项目,并命名为记事本程序。2. 创建一个主类,命名为"记...
    99+
    2023-09-26
    java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作