winapi

2024/4/15 3:31:37

挂钩WINAPI

[ 挂钩Windows API ]SoBeItAuthor: Holy_Father <holy_fatherphreaker.net>Version: 1.1 englishDate: 6.10.2002[ 1. 内容 ]1. 内容 2. 介绍 3. 挂钩方法3.1 运行前挂钩3.2 运行时挂钩3.2.1 使用IAT挂钩本进程 3.2.2 改写入口点挂钩本进程3.2.3 保存原始函数3.2.4 挂…

维纳滤波实现(VC++)

本代码中涉及到的相关函数见上篇“逆滤波的实现&#xff08;VC&#xff09;” //参数说明: //LPSTR lpDIBBits:指向源DIB图像指针//LONG lWidth:源图像宽度&#xff08;象素数&#xff09;//LONG lHeight:源图像高度&#xff08;象素数&#xff09;//函数说明://该函数用来对…

MFC多线程编程注意事项

MFC多线程编程注意事项PeterLee整理 2008-05-261. 表现——错误示例关于启动线程时传输窗口对象&#xff08;指针&#xff1f;句柄&#xff1f;&#xff09;的问题&#xff1a; 在选择菜单中的开始线程后&#xff1a; void cmainframe::onmenu_start() { ... …

C#中的IntPtr使用

c#中无法将类型“int”隐式转换为“System.IntPtr” 这个是我引用了一个api函数时出现的问题,我在声明中把intptr换成了int还是不可以,这是为什么呢?要如何处理呢?答&#xff1a;您好&#xff0c;C#中的IntPtr类型称为“平台特定的整数类型”&#xff0c;它们用于本机资源&am…

winCE 电源管理

1&#xff0e;什么是WinCE电源管理 &#xff08;1&#xff09;电源管理概念与方法 在电池供电的移动嵌入式系统中&#xff0c;一般采用高效率的电源芯片用于供电管理&#xff0c;或采用大容量的电池以解决能耗需求&#xff0c;但这两种技术的发展还无法满足移动嵌入式设备的动…

NtQueryObject 获得内核对象的信息

导读 玩过电脑的都知道&#xff0c;Widnows任务管理器&#xff0c;我们经常用它查看机器的CPU内存等信息&#xff0c;也用它杀死一些卡主的进程。 而作为开发人员&#xff0c;我们为了更了解进行的运行状况&#xff0c;就不得不说另外两个工具&#xff1a; procexp.exe&…

调用 显示控制面板 系统时间日期属性等方法

常用Windows9x的朋友一定对Rundll32.exe和Rundll.exe这两个文件不会陌生吧&#xff0c;不过,由于这两个程序的功能原先只限于在微软内部使用&#xff0c;因而真正知道如何使用它们的朋友想必不多。那么好&#xff0c;如果你还不清楚的话&#xff0c;那么就让我来告诉你吧。  …

vc

一、VC是什么&#xff1f;学VC是学什么&#xff1f; 首先VC是一个软件&#xff08;IDE集成开发环境&#xff09;&#xff08;编译、编辑、调试&#xff09; C和C。但C中的有些特性是不用的&#xff0c;例如I/O流&#xff0c;多态继承 WindowsSDK&#xff08;软件开发工具&#…

动态链接库的一些基本概念

摘自http://uuxa.itpub.net/post/18860/219525介绍一点重要的背景知识&#xff1a;所有的Win32API函数都包含在DLL中。三个最重要的DLL是&#xff1a;KERNEL32.DLL(它由管理内存、进程和线程的函数组成)&#xff0c;USER32.DLL&#xff08;它由执行用户界面任务&#xff08;如创…

从Win32 Application开始学MFC可以事半功倍

学MFC应该先从Win32 Application学起&#xff0c;这样才能更清楚MFC的运行机制和原理。下面贴两个代码&#xff0c;共感兴趣的朋友学习参考之用。 第一个&#xff1a; #include "windows.h"LRESULT CALLBACK WindowProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM …

VC线程同步方法

VC MFC中线程同步对象的区别 临界区 CCriticalSection&#xff0c;在用户模式工作&#xff0c;适用于保护线程间共享资源&#xff0c;一个线程可以多次Lock不会出错。不支持在多进程之间工作。互斥量 CMutex&#xff0c;在内核模式工作&#xff0c;除了支持临…

GetSystemMetrics详解

概述 GetSystemMetrics () 用于得到被定义的系统数据或者系统配置信息. 语法 int WINAPI GetSystemMetrics( __in int nIndex); 下面是GetSystemMetrics函数参数nIndex的定义&#xff1a; SM_ARRANGE 标志用于说明系统如何安排最小化窗口..详细请参看下方备注.&#xff1a…

IClass与电源管理

前段时间为J9项目上添加电源管理&#xff0c;中间走了一些弯路。之前错误的认为&#xff0c;IClass只是与电源状态的改变方法有关&#xff0c;也就是说IClass的正确与否只会影响到设备电源状态的正确与否&#xff0c;而不会造成设备是否可以支持设备电源状态的转换。 结果后来…

vc的dll调用问题

1 引言模块化思想贯穿于软件工程各个发展阶段&#xff0c;模块复用是构建大系统的一种重要思想。模块复用方法有&#xff1a;函数、函数库、动态链接库、COM。其都是基于模块化的基本思想。函数是最简单的模块化思想&#xff0c;也是后面方法的基础&#xff0c;甚至是一个应用…

Win32 函数原型

Win32函数原型分为普通、ANSI和Unicode三种。其实如果严格地说&#xff0c;并不能有普通这种分法&#xff0c;也就是只有ANSI和Unicode这两种。普通&#xff0c;一般都是MSDN开发文档中直接给出的形式。比如&#xff0c;下面是SetWindowText的普通原型&#xff1a;BOOL SetWind…

托管代码调用非托管代码

调用非托管代码之前函数声明&#xff1a;举例一&#xff1a;[DllImport("Kernel32.dll", SetLastError true), CallingConvention CallingConvention.Winapi, CharSet CharSet.Unicode, EntryPoint "LocalAlloc"]internal static extern IntPtr AllocM…

串口开发中使用WaitCommEvent

WaitCommEvent作用&#xff1a;  为一个特指的通信设备等待一个事件发生&#xff0c;该函数所监控的事件是与该设备句柄相关联的一系列事件。  原型&#xff1a;  BOOL WINAPI WaitCommEvent(  __in HANDLE hFile,  __out LPDWORD lpEvtMask,  __in…

WinCE虚拟串口驱动(二)

// //TITLE: // WinCE虚拟串口驱动(二) //AUTHOR: // norains //DATE: // Saturday 28-March-2009 //Environment: // WINDOWS CE 5.0 // 虚拟串口驱动的完整代码如下&#xff1a; view plaincopy to clipboardprint?// VirtualSerial.cpp : Defines…

Java学习过程中应该深入理解的一些重点(转)

主要说说Java的几大块吧&#xff0c;无法说得很细&#xff0c;因为其实每一块拿出来都能说很多&#xff0c;我就说一下这几块学习的时候的重点或者应该注意的东西。   数值类型&#xff1a;   虽然是面向对象的语言&#xff0c;但是在使用上数值类型还是必不可少的&…

BCB编写DLL终极手册

一. 编写 DLLFile/New/Dll 生成 Dll 的向导&#xff0c;然后可以添加导出函数和导出类导出函数&#xff1a;extern "C" __declspec(dllexport) ExportType FunctionName(Parameter)导出类&#xff1a;class __declspec(dllexport) ExportType ClassName{...}例子&…

AutoIt _GuiCtrlButton_Click 的局限问题

_GuiCtrlButton_Click 的局限问题 他的实现应该是用 SendMessage 的. Func _GUICtrlButton_Click($hWnd)If $Debug_Btn Then __UDF_ValidateClassName($hWnd, $__BUTTONCONSTANT_ClassName)If Not IsHWnd($hWnd) Then $hWnd GUICtrlGetHandle($hWnd)_SendMessage($hWnd, $BM…

WINCE键盘驱动流程不完全分析

键盘驱动有点繁杂&#xff0c;可以配合以下资料查阅: 1. Platform Build自带的帮助文件. 2. 阅读源代码: 2.1 C:/WINCE420/Public/common/oak/drivers/keybd 2.2 C:/WINCE420/Platform/smdk2410/drivers/keybd 3. 网上的一些相关资料 初步查阅后可以知道&am…

定时消失的对话框API函数 -- MessageBoxTimeout

我们在微软官方文档上找不到MessageBoxTimeout()的记录&#xff0c;它是由user32.dll导出的。 使用时只需在.cpp文件中包含了以下部分&#xff0c;就可以调用MessageBoxTimeout。 // 添加MessageBoxTimeout支持 extern "C" {int WINAPI MessageBoxTimeoutA(IN HWND…

向其他进程注入代码的三种方法

本文章翻译自Robet Kuster的Three Ways to Inject Your Code into Another Process一文&#xff0c;原版地址见下面。本文章版权归原作者所有。如果转载该译文,请保证文章的完整性&#xff0c;并注明来自 www.farproc.com 袁晓辉 2005/5/20 原版地址&#xff1a;http://www…

Windows Rootkit 技术分析

现在很多人对rootkit认识不够&#xff0c;可以说空白。而此文的目的就是让大家认识rootkit→了解rootkit。也让一些想研究它的人把这篇文章当作一个参考或是入门级的指导。************************************************************转载请保留文章完整&#xff0c;谢谢&am…

VC++动态链接库(DLL)编程深入浅出(二)

上节给大家介绍了静态链接库与库的调试与查看&#xff08; 动态链接库(DLL)编程深入浅出(一)&#xff09;&#xff0c;本节主要介绍非MFC DLL。 4.非MFC DLL4.1一个简单的DLL第2节给出了以静态链接库方式提供add函数接口的方法&#xff0c;接下来我们来看看怎样用动态链接库实现…

在Delphi中调用DLL

<一>在Delphi中静态调用DLL top 调用一个DLL比写一个DLL要容易一些。首先给大家介绍的是静态调用方法&#xff0c;稍后将介绍动态调用方法&#xff0c;并就两种方法做一个比较。同样的&#xff0c;我 们先举一个静态调用的例子。 unit Unit1; interface uses Wi…

VC++动态链接库编程之非MFC DLL

4.1一个简单的DLL 第2节给出了以静态链接库方式提供add函数接口的方法&#xff0c;接下来我们来看看怎样用动态链接库实现一个同样功能的add函数。<script language"JavaScript" type"text/javascript"> document.write("

点对点多线程断点续传的实现

转自http://www.vckbase.com/document/viewdoc/?id448 在如今的网络应用中&#xff0c;文件的传送是重要的功能之一&#xff0c;也是共享的基础。一些重要的协议像HTTP&#xff0c;FTP等都支持文件的传送。尤其是FTP&#xff0c;它的全称就是“文件传送协议”&#xff0c;当初…

wince 去掉任务栏

采用standard shell 两种方法 代码%_winceroot%/public/shell/oak/hpc 1、在taskbar.cpp中将函数BOOL CTaskBar::Register()的内容全部删除&#xff0c;直接return TRUE; 2、在explorer.cpp中将函数DWORD WINAPI CreatTaskBar()的内容删除&#xff0c;直接return 0; 采用tas…

HOOK API代码

#ifndef _HOOKAPI_H#define _HOOKAPI_Hclass CHOOKAPI {public:LPVOIDpOldFunEntry, pNewFunEntry ;// 初始函数地址、HOOK后的函数地址BYTEbOldByte[5], bNewByte[5] ;// 原始字节、目标字节public:CHOOKAPI () {}~CHOOKAPI() {}// 实现HOOK APIvoid Hook ( PSTR szModuleName…

线程的基础知识

理解线程是非常关键的&#xff0c;因为每个进程至少需要一个线程。本章将更加详细地介绍线程的知识。尤其是要讲述进程与线程之间存在多大的差别&#xff0c;它们各自具有什么作用。还要介绍系统如何使用线程内核对象来管理线程。与进程内核对象一样&#xff0c;线程内核对象也…

用c语言创建windows窗口

耐得住寂寞&#xff0c;禁得起诱惑&#xff0c;这就是程序人生步骤&#xff1a;1.在WinMain中定义各种变量 2.注册窗口类RegisterClass 3.创建窗口CreateWindow4.显示窗口和更新窗口ShowWindow (hwnd, iCmdShow) ;UpdateWindow (hwnd) ; 5.消息循环while (GetMessage (&msg…

如何在NP下读写游戏内存及如何进入NP进程

标 题:【原创】如何在NP下读写游戏内存及如何进入NP进程作 者: 堕落天才时 间: 2007-01-04,13:28链 接: http://bbs.pediy.com/showthread.php?t37417*******************************************************标题:【原创】如何在NP下读写游戏内存及如何进入NP进程 **作者:堕…

C#不通过byte[],直接对内存映射文件复制内存

背景 多个进程直接需要传递大量图片&#xff0c;所以对性能要求较高。支付复制内存显然比转成byte[]再复制优越。 命名空间 using System; using System.Diagnostics; using System.Runtime.InteropServices; 代码 public CMainTestForm() { InitializeCo…

初学C++选什么书?

很多初学C的朋友都曾经遇到过这样的问题&#xff0c;那就是面对图书市场上琳琅满目的C书籍不知道怎么选择。确实&#xff0c;对于新手很难区分图书内容的好坏&#xff0c;或者图书对自己是否合适&#xff0c;很容易造成“白花钱买垃圾”的选书失误。这里我根据自己的学习经验给…

用加密狗控制软件的授权(C#)

加密狗授权方式介绍 每只加密狗都有一个固定的序列号&#xff0c;并且一般是无法修改的。软件运行时读取加密狗的序列号进行判断&#xff0c;序列号通过验证后才能正常使用软件。 选购一套加密狗开发套件 我选购了SaftNet的USB软件狗&#xff0c;入手后查阅开发资料(不同…

Kafka 在私有云 DNAT 环境中集群的典型应用

今天配置的是一个 2.5.0 的一个 kafka 集群&#xff0c;新的版本将废弃 zookeeper&#xff0c;今天不讨论新版本 有一个私有的云环境&#xff0c;业务需求希望通过公网向 kafka 发送数据&#xff0c;使用 SCRAM-SHA-256 加密&#xff0c;内网仍然需要能够正常访问&#xff0c; …

逆滤波的实现(VC++)

#define SWAP(a,b) tempr(a);(a)(b);(b)tempr //参数说明: //LPSTR lpDIBBits - 指向源DIB图像指针 //LONG lWidth - 源图像宽度&#xff08;象素数&#xff0c;必须是4的倍数&#xff09; //LONG lHeight - 源图像高度&#xff08;象素数&#xff09; / //函数…

DNS Function

1 DnsFree FunctionThe DnsFree function frees memory allocated for DNS records that was obtained using the DnsQuery function. 函数原型定义:void WINAPI DnsFree(__inout PVOID pData,__in DNS_FREE_TYPE FreeType); Parameters pData A pointer to the DNS dat…

Java学习过程应该深入理解的一些重点

主要说说Java的几大块吧&#xff0c;无法说得很细&#xff0c;因为其实每一块拿出来都能说很多&#xff0c;我就说一下这几块学习的时候的重点或者应该注意的东西。 数值类型&#xff1a;虽然是面向对象的语言&#xff0c;但是在使用上数值类型还是必不可少的&#xff0c;如果…

WinAPI: SetWindowPos - 改变窗口的位置与状态

WinAPI: SetWindowPos - 改变窗口的位置与状态 //声明:SetWindowPos(hWnd: HWND; {窗口句柄}hWndInsertAfter: HWND; {窗口的 Z 顺序}X, Y: Integer; {位置}cx, cy: Integer; {大小}uFlags: UINT {选项}): BOOL;//hWndInsertAfter 参数可选…

实验四、三维屏保制作

http://www.jsj.tzc.edu.cn/teacher/crq/content/courses/opengl/%CA%B5%D1%E94.htm 4.1 三维屏保版本一 屏幕保护程序是一种特殊的应用程序&#xff0c;如果用户打开了 Windows 的屏幕保护功能&#xff0c;而且在一特定的时间段内没有任何输入&#xff0c;系统就会自动启动…

剖析VC++函数调用约定

Visual C/C 的编译器提供了几种函数调用约定&#xff0c;了解这些函数调用约定的含义及它们之间的区别可以帮助我们更好地调试程序。在这篇文章里&#xff0c;我就和大家共同探讨一些关于函数调用约定的内容。Visual C/C 的编译器支持如下的函数调用约定&#xff1a;关键字清理…

利用底层键盘钩子拦载任意按键(回调版)

前段时间我曾经写过一篇《利用底层键盘钩子屏蔽任意按键》&#xff0c;并放到了我的blog上。这篇文章的题目中把“屏蔽”改成了“拦截”&#xff0c;显然要比以前的版本强一些了。对于以前写的那个DLL&#xff0c;有一个不够理想的地方&#xff0c;就是仅仅能实现屏蔽。如果想在…

VC++动态链接库编程之读者反馈与答复

1.关于文章的获取 许多读者发来e-mail询问本系列文章的相关事宜&#xff0c;如&#xff1a;&#xff08;1&#xff09; 是否已出版&#xff1f;&#xff08;2&#xff09; 哪里可以下载打包版&#xff1f;&#xff08;3&#xff09; 哪里可以下载笔者的其它文章&#xff1f;<…

TIF格式图像文件初探

作者&#xff1a;三辰卡通集团技术部 刘晖 下载源代码 http://www.vckbase.com/document/viewdoc/?id1569 一、前言  因工作需要&#xff0c;本人经常接触一些图像方面的编程工作。目前图像领域中的格式很多且大部分官方说明都是英文文档&#xff0c;实在令人头疼&#x…

在WinCE下调用校准触摸屏的API和源代码

这两天在讨论我们GPS触摸屏触摸点漂移以及校准后能否保存校准结果的问题触摸屏在使用一定时间之后都会发生触摸点漂移的现象&#xff0c;表现为触摸屏上的触摸点和LCD屏幕上的光标点会发生偏差&#xff0c;导致不能正确点击屏幕内容&#xff0c;解决方法是进行校正前一个版本的…

WinCE 自动运行

WinCE 自动运行 近日在开发过程中遇到WinCE应用程序开机自动运行的问题&#xff0c;在网上找了找&#xff0c;发现大概有以下三种方法&#xff1a; 1、 将应用程序和应用程序快捷方式添加到映像里&#xff0c;再将快捷方式添加到StartUp目录下&#xff0c;这样当系统运行后应…

CreateThread()线程创建函数,AfxBeginThread等

微软在Windows API中提供了建立新的线程的函数CreateThread&#xff0c;概述&#xff1a;当使用CreateProcess调用时&#xff0c;系统将创建一个进程和一个主线程。CreateThread将在主线程的基础上创建一个新线程&#xff0c;大致做如下步骤&#xff1a;1在内核对象中分配一个线…

win32 屏保开发

需要使用的静态库:scrnsave.lib; 需要包含的头文件:scrnsave.h 需要实现的三个函数: (1)屏保的消息处理函数 LRESULT WINAPI ScreenSaverProc(HWND,UINT,WPARAM,LPARAM); (2)屏保配置对话框 BOOL WINAPI ScreenSaverConfigureDialog(HWND,UINT,WPARAM,LPARAM); (3) 登记屏幕…

VC中DLL的基本简介

动态链接库(dll)是包含共享函数库的二进制文件,可以被多个应用程序同时使用。建立应用程序的可执行文件时,不必将dll连接到应用程序中,而是在运行时动态装载dll,装载时dll被映射到调用进程的地址空间中。通常我们在调用dll时所需的dll文件必须位于以下三个目录之一: ——(1)win…

关于__stdcall和__cdecl

调用约定 调用约定(Calling convention)决定以下内容&#xff1a;函数参数的压栈顺序&#xff0c;由调用者还是被调用者把参数弹出栈&#xff0c;以及产生函数修饰名的方法。MFC支持以下调用约定&#xff1a; _cdecl 按从右至左的顺序压参数入栈&#xff0c;由调用者把参数弹出…

解析dll文件和lib文件的区别

摘自&#xff1a;http://hi.baidu.com/sihochina/blog/item/8c8b570611452f7e0308813d.html解析dll文件和lib文件的区别&#xff08;如何利用VC创建DLL文件&#xff09;2008年04月23日 星期三 下午 01:47.dll是在你的程序运行的时候才连接的文件&#xff0c;因此它是一种比较小…

VC 制作透明窗体

(在2000下) 定义常量: #define WS_EX_LAYERED 0x00080000 #define LWA_ALPHA 0x00000002 声明函数: extern "C" { WINUSERAPI BOOL WINAPI SetLayeredWindowAttribute…

允许低等级权限程序发消息给高权限窗口

允许低等级权限程序发消息给高权限窗口 //ChangeWindowMessageFilterEx()对特定窗口的特殊定制 //ChangeWindowMessageFilter(WM_USER, MSGFLT_ADD); typedef BOOL (WINAPI FAR *pfnChangeWindowMessageFilter)(UINT,DWORD); pfnChangeWindowMessageFilter ChangeWind…

Windows ce 桌面定制小结

Windows ce 桌面定制小结 一、采用standard shell, 去掉任务栏 代码%_winceroot%/public/shell/oak/hpc 我尝试了以下两种方法&#xff1a; 1、在taskbar.cpp中将函数BOOL CTaskBar::Register()的内容全部删除&#xff0c;直接return TRUE; 2、在explorer.cpp…

WINCE实用技巧 之 系统启动直接运行定制的程序

WINCE系统启动直接运行自己的程序 1. 假定Windows CE.NET目标工程目录为D:/WINCE420/PUBLIC/MyWinCE&#xff0c;并且工程已经Build成功&#xff0c;假定Windows CE.NET的应用程序为MyApp.exe&#xff1b;2. 将MyApp.exe复制到D:/WINCE420/PUBLIC/MyWinCE/SAMSUNG…

WinXP SP2 USER32.DLL CallWindowProc(...)

<script type"text/javascript"></script> ToolTipCallWindowProc 被设定为一个宏&#xff0c; 分为CallWindowProcA 和 CallWindowProcW。 在A和W这两个函数中&#xff0c;都简单的调用了CallWindowProcAorW(...)这个函数。其原型为&#xff1a;LR…