使用钩子如何锁定键盘的方法分享_C 语言

复制代码 代码如下:

#include
#include
//处理按键消息的过程函数
LRESULT CALLBACK keyproc( int code,
WPARAM wParam,
LPARAM lParam )
{
return 1;//返回1可使键盘停止响应
}

main(int argc, char* argv[])
{

SetWindowsHookEx(WH_KEYBOARD,keyproc,GetModuleHandle(NULL),0);//安装键盘钩子
printf("\n\n\n程序将在15妙之后返回...嘿嘿15妙内你的键盘是无法工作的哦\n");
::Sleep(15000);
}

代码中使用钩子而无DLL的关键就在于GetModuleHandle(NULL), GetModuleHandle()参数为NULL得到的是调用者本身的模块句柄,也就是说用程序本身作为DLL。因为是console程序,所以随着程序的结束钩子也就OVER了,所以并没有卸载钩子。

时间: 2024-10-24 12:29:06

使用钩子如何锁定键盘的方法分享_C 语言的相关文章

C++程序检测内存泄漏的方法分享_C 语言

一.前言 在Linux平台上有valgrind可以非常方便的帮助我们定位内存泄漏,因为Linux在开发领域的使用场景大多是跑服务器,再加上它的开源属性,相对而言,处理问题容易形成"统一"的标准.而在Windows平台,服务器和客户端开发人员惯用的调试方法有很大不同.下面结合我的实际经验,整理下常见定位内存泄漏的方法. 注意:我们的分析前提是Release版本,因为在Debug环境下,通过VLD这个库或者CRT库本身的内存泄漏检测函数能够分析出内存泄漏,相对而言比较简单.而服务器有很多问

判断本机office安装版本的方法分享_C 语言

复制代码 代码如下: #include "msword.h"HRESULT AutoWrap(int autoType, VARIANT *pvResult, IDispatch *pDisp,      LPOLESTR ptName, int cArgs...) { // Begin variable-argument list va_list marker; va_start(marker, cArgs);  if (!pDisp)  {  _putws(L"NULL

酷狗对歌词进行锁定及解锁方法分享

给各位酷狗软件的使用者们来详细的解析分享一下酷狗对歌词进行锁定以及解锁的方法. 方法分享: 1.将鼠标移动到歌词处,会出现一个工具栏,点击形状为"锁"的图标,就可以锁定歌词. 2.在成功锁定之后,需要单击托盘处的酷狗图标才能解锁.   好了,以上的信息就是小编给各位酷狗的这一款软件的使用者们带来的详细的酷狗对歌词进行锁定以及解锁的方法解析分享的全部内容了,各位看到这里的使用者们,小编相信大家现在那是非常的清楚方法了吧,那么大家就快去按照小编上面的方法自己去试试吧.

怎么锁定鼠标的示例代码分享_C 语言

复制代码 代码如下: #include #include int main(int argc, char* argv[]){printf("\n别害怕15妙后你的鼠标就可以使用了^_^\n");RECT rect;rect.bottom=1;rect.right=1;ClipCursor(&rect);::Sleep(15000);ClipCursor(NULL);//释放return 0;}

C++键盘记录程序代码_C 语言

本文实例讲述了C++键盘记录程序.分享给大家供大家参考.具体分析如下: 主程序如下: 就是基于对话框的框架,加个个OnHookKey函数, 复制代码 代码如下: long CMainDialog::OnHookKey(WPARAM wParam, LPARAM lParam)   //处理自定义消息  {      char szKey[80]={0};      GetKeyNameText(lParam, szKey, 80);      CString strItem;      strI

MFC设置对话框焦点的方法简述_C 语言

本文简单讲述了MFC设置对话框焦点的方法,分享给大家供大家参考.具体实现方法如下: 具体的方法有两种: 1. 设置对话框控件的tab order. 按Ctrl+D即可看见.将需要被设置到焦点的空间的tab order设为1. 2. 对话框的OnInitDialog返回FALSE.解释如下:(摘抄至msdn)   If OnInitDialog returns nonzero, Windows sets the input focus to the first control in the dia

C语言设计图书登记系统与停车场管理系统的实例分享_C 语言

图书登记管理系统 图书登记管理系统应该具有下列功能: (1). 通过键盘输入某本图书的信息: (2) .给定图书编号,显示该本图书的信息: (3) .给定作者姓名,显示所有该作者编写的图书信息: (4) .给定出版社,显示该出版社的所有图书信息: (5) .给定图书编号,删除该本图书的信息: (6) .提供一些统计各类信息的功能. 程序完整的实现代码如下: #include "stdio.h" #include "stdlib.h" #include "s

c++获取sqlite3数据库表中所有字段的方法小结_C 语言

常用方法: 1.使用sqlite3_get_table函数 2.获取sqlite创建表的sql语句字符串,然后进行解析获取到相应的字段 3.采用配置文件的方式,将所有字段名写入配置文件 下面针对这三个方法给大家逐一详细介绍. 方法1:使用sqlite3_get_table函数 代码: char *dbname = "test.db"; int rc = sqlite3_open(dbname, &db); if (rc == SQLITE_OK) { char sql[256]

C字符串操作函数实现方法小结_C 语言

本文实例讲述了C字符串操作函数实现方法.分享给大家供大家参考.具体如下: 下面是部分C字符串操作函数的实现,或许在某些笔试时可以用到! #ifndef NULL #define NULL ((void *)0) #endif /* memcpy的实现代码 */ void* memcpy(void *pDst, void *pSrc, int iLen) { char *pTmp = (char *)pDst; char *pTmp2 = (char *)pSrc; if(0 == iLen) r