登录
首页 » c++ » WINAPI 检测键盘按下的键

WINAPI 检测键盘按下的键

于 2022-02-27 发布 文件大小:4.16 MB
0 118
下载积分: 2 下载次数: 1

代码说明:

该程序能检测键盘按下的键并显示其VK值,用简单的GetAsyncKeyState函数实现,用WINAPI创建的窗口,GUI绘图,写得不好见谅!若有源码方面的意见可以与我交流!

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • randomforest-matlab
    一个随机森林的实现源码,非常实用,可以下载看看(A the random forest realization source very practical and can be downloaded)
    2020-06-29 22:40:02下载
    积分:1
  • BMS源代码原理图资料包
    说明:  锂电池BMS开发源码,BMS功能开发,SOC计算,锂电池保护等(BMS development source of lithium battery)
    2020-06-24 08:15:20下载
    积分:1
  • EngineEx
    C/C++中调用MATLAB引擎的数值仿真的实现,运行环境:VC++6、matlab6 注意事项:微分方程文件“fun.m”放在matlab的work目录下。(C/C++ Call the MATLAB engine numerical simulation of the realization of operating environment: VC 6, matlab6 Notes: Differential Equations document )
    2007-09-14 14:10:01下载
    积分:1
  • BP
    说明:  BP 算法的实现,分别包含了C++,Matlab,Forturn等几种语言的实现方法
    2009-07-27 16:15:57下载
    积分:1
  • Matlab-1-tasks
    利用matlab进行的poisson插值(Using matlab conducted poisson interpolation)
    2012-09-10 23:45:06下载
    积分:1
  • 19_04
    Adaptive background mixture models for real-time tracking
    2015-03-15 19:05:15下载
    积分:1
  • TFT LCD显示
    STM32 TFT LCD显示 STM32 TFT LCD显示 STM32 TFT LCD显示 STM32 TFT LCD显示
    2023-02-04 23:25:04下载
    积分:1
  • VCBladedDLL
    Balded 软件调用的用户控制器的DLL编程方法。(How to progran DLL with VC++ which is used by Bladed Wind Turbine Simulation Software)
    2020-11-10 14:39:47下载
    积分:1
  • 象棋放马
    说明:  在棋盘上放马,使得每一行的马均处于安全位置,输出棋盘的所有摆放的可能性。(Put the horse on the chessboard, so that each line of horse is in a safe position, output all the possibilities of the chessboard.)
    2020-06-23 21:40:02下载
    积分:1
  • FreeRTOS+FreeModbus+STM32F107VC
    /*  * FreeModbus Libary: BARE Port  * Copyright (C) 2006 Christian Walter  *  * This library is free software; you can redistribute it and/or  * modify it under the terms of the GNU Lesser General Public  * License as published by the Free Software Foundation; either  * version 2.1 of the License, or (at your option) any later version.  *  * This library is distributed in the hope that it will be useful,  * but WITHOUT ANY WARRANTY; without even the implied warranty of  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  * Lesser General Public License for more details.  *  * You should have received a copy of the GNU Lesser General Public  * License along with this library; if not, write to the Free Software  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA  *  * File: $Id: porttimer.c,v 1.1 2006/08/22 21:35:13 wolti Exp $  */ /* ----------------------- Platform includes --------------------------------*/ #include #include "port.h" /* ----------------------- Modbus includes ----------------------------------*/ #include "mb.h" #include "mbport.h" /* ----------------------- static functions ---------------------------------*/ static void prvvTIMERExpiredISR( void ); /* ----------------------- Start implementation -----------------------------*/ BOOL xMBPortTimersInit( USHORT usTim1Timerout50us ) { NVIC_InitTypeDef NVIC_InitStructure; TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure; USHORT PrescalerValue = 0;     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);     /* Enable the TIM5 gloabal Interrupt */     NVIC_InitStructure.NVIC_IRQChannel = TIM5_IRQn;     NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;     NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;     NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;     NVIC_Init(&NVIC_InitStructure);     /* TIM5 clock enable */     RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5, ENABLE); PrescalerValue = (USHORT) (SystemCoreClock / 20000) - 1;      TIM_TimeBaseStructure.TIM_Period = usTim1Timerout50us;     TIM_TimeBaseStructure.TIM_Prescaler = PrescalerValue;     TIM_TimeBaseStructure.TIM_ClockDivision = 0;     TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;     TIM_TimeBaseInit(TIM5, &TIM_TimeBaseStructure);     TIM_ClearITPendingBit(TIM5, TIM_IT_Update);     //TIM_ITConfig(TIM5, TIM_IT_Update, DISABLE);     //TIM_Cmd(TIM5, ENABLE);      return TRUE; } void vMBPortTimersEnable( void ) {     /* Enable the timer with the timeout passed to xMBPortTimersInit( ) */     ENTER_CRITICAL_SECTION(); TIM_ClearITPendingBit(TIM5, TIM_IT_Update);     TIM_ITConfig(TIM5, TIM_IT_Update, ENABLE); TIM_SetCounter(TIM5, 0x0000);     TIM_Cmd(TIM5, ENABLE); EXIT_CRITICAL_SECTION(); } void vMBPortTimersDisable( void ) {     /* Disable any pending timers. */     ENTER_CRITICAL_SECTION(); TIM_ClearITPendingBit(TIM5, TIM_IT_Update);     TIM_ITConfig(TIM5, TIM_IT_Update, DISABLE); TIM_SetCounter(TIM5, 0x0000);     TIM_Cmd(TIM5, DISABLE); EXIT_CRITICAL_SECTION(); } /* Create an ISR which is called whenever the timer has expired. This function  * must then call pxMBPortCBTimerExpired( ) to notify the protocol stack that  * the timer has expired.  */ static void prvvTIMERExpiredISR( void ) {     ( void )pxMBPortCBTimerExpired(  ); } void TIM5_IRQHandler(void) { if (TIM_GetITStatus(TIM5, TIM_IT_Update) == SET) { TIM_ClearITPendingBit(TIM5, TIM_IT_Update); prvvTIMERExpiredISR(); } }
    2021-08-22 00:30:59下载
    积分:1
  • 696518资源总数
  • 105901会员总数
  • 40今日下载