摘要: 1 typedef NTSTATUS (WINAPI *ZWQUERYINFORmMATIONTHREAD)(DWORD ThreadHandle,DWORD ThreadInformationClass,THREAD_BASIC_INFORMATION* SystemInformation,DW... 阅读全文
posted @ 2015-09-21 15:17 四月是你的谎言 阅读(2306) 评论(0) 推荐(0)
摘要: 1 #define WINXP 5 2 #define WIN7 6 3 #define WIN7X32 632 4 //获取系统版本号 5 DWORD GetOSVer() 6 { 7 OSVERSIONINFO osver; 8 osver.dwOSVersio... 阅读全文
posted @ 2015-09-21 15:13 四月是你的谎言 阅读(311) 评论(0) 推荐(0)
摘要: //#include "targetver.h"#include "stdio.h"#include #include int GetProcessIdByName(WCHAR* Namestr) //进程名取pid{ HANDLE hSnapshot; PROCESSENTRY32 p... 阅读全文
posted @ 2015-09-21 15:11 四月是你的谎言 阅读(537) 评论(0) 推荐(0)
摘要: 1 #include 2 #include 3 #include "iostream" 4 using namespace std; 5 void PASS_TPTHREAD(WCHAR ProcessName[]); 6 typedef LONG NTSTATUS; 7 typedef NT... 阅读全文
posted @ 2015-09-21 15:09 四月是你的谎言 阅读(1894) 评论(0) 推荐(0)
摘要: 4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)CMP AX,BXJZ XX这两组是AX减BX,如果值为0则跳转到标号... 阅读全文
posted @ 2015-09-21 15:07 四月是你的谎言 阅读(275) 评论(0) 推荐(0)
摘要: http://bbs.886520.com/forum-28-1.htmlesp是堆栈指针 ebp是基址指针4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄... 阅读全文
posted @ 2015-09-21 15:07 四月是你的谎言 阅读(396) 评论(0) 推荐(0)
摘要: ;////////////////////////////////////////////////////////////////////////////////;//// 浮点数载入指令 ;//////////////////////////////////... 阅读全文
posted @ 2015-09-21 15:06 四月是你的谎言 阅读(833) 评论(0) 推荐(0)
摘要: 1 temp=input("猜一下我想的那个数字吧:") 2 guess=int(temp) 3 while guess!=8: 4 temp=input("诶呀错误了在输入一次吧:") 5 guess=int(temp) 6 if guess==8: 7 ... 阅读全文
posted @ 2015-09-21 15:04 四月是你的谎言 阅读(272) 评论(0) 推荐(0)
摘要: 1 print("...............我爱鱼C工作室..................") 2 temp=input("不妨猜一下小甲鱼现在心里想的是那个数字:") 3 guess=int(temp) 4 if guess==8: #添加“:”号后 点击回车会自动缩进 缩进相当... 阅读全文
posted @ 2015-09-21 15:03 四月是你的谎言 阅读(148) 评论(0) 推荐(0)
摘要: dir(__builtins__) 查看有哪些内置函数help(函数名称) 就会显示函数意思 阅读全文
posted @ 2015-09-21 15:02 四月是你的谎言 阅读(185) 评论(0) 推荐(0)
摘要: 1 stdafx.h 头文件代码 2 3 #ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later. 4 #define _WIN32_WINNT... 阅读全文
posted @ 2015-09-21 15:00 四月是你的谎言 阅读(6946) 评论(1) 推荐(2)
摘要: typedef struct _STRING { USHORT Length; //字符的长度,单位是字节 USHORT MaximumLength; //整个字符串缓冲区的最大长度 PCHAR Buffer; //缓冲区的指针 } ANSI_STRING, *PANSI_STRING;typ... 阅读全文
posted @ 2015-09-21 14:57 四月是你的谎言 阅读(195) 评论(0) 推荐(0)
摘要: 1. 创建关闭注册表项NTSTATUS ZwCreateKey( OUT PHANDLE KeyHandle, IN ACCESS_MASK DesiredAccess, //访问权限,一般为KEY_ALL_ACCLESS IN POBJECT_ATTRIBUT... 阅读全文
posted @ 2015-09-21 14:56 四月是你的谎言 阅读(598) 评论(0) 推荐(0)
摘要: KeInitializeSpinLock 初始化自旋锁KeAcquireSpinLock 申请自旋锁KeReleaseSpinLock 释放自旋锁如果在DISPATCH_LEVEL 级别申请自旋锁,不会改变IRQL级别。这时,申请自旋锁可以简单的使用KeAcquireSpinLockAt... 阅读全文
posted @ 2015-09-21 14:56 四月是你的谎言 阅读(207) 评论(0) 推荐(0)
摘要: 1.文件的创建对文件的创建或者打开都是通过内核函数ZwCreateFile实现的。和Windows API类似,这个内核函数返回一个文件句柄,文件的所有操作都是依靠这个句柄进行操作的。在文件操作完毕后,要关闭这个文件句柄。NTSTATUS ZwCreateFile( OUT PHANDL... 阅读全文
posted @ 2015-09-21 14:55 四月是你的谎言 阅读(378) 评论(0) 推荐(0)
摘要: KeGetCurrentIrql 获取当前IRQL级别KeRaiseIrql 提高IRQL级别KeLowerIrql 恢复IRQL级别 阅读全文
posted @ 2015-09-21 14:55 四月是你的谎言 阅读(277) 评论(0) 推荐(0)
摘要: unsigned long重定义为ULONG。unsigned char重定义为UCHAR。unsigned int重定义为UINT。void重定义为VOID。unsigned long *重定义为PULONG。unsigned char * 重定义为PUCHAR。unsigned int *重定义... 阅读全文
posted @ 2015-09-21 14:54 四月是你的谎言 阅读(232) 评论(0) 推荐(0)
摘要: PsGetCurrentProcess 得到当前进程结构 返回PEPROCESS数据结构NtCurrentProcess 得到当前进程句柄IoGetCurrentProcess 得到当前线程 该函数会得到一个PEPROCESS数据结构 记录进程的信息,其中包括进程名。线程PsCreateSyste... 阅读全文
posted @ 2015-09-21 14:53 四月是你的谎言 阅读(383) 评论(0) 推荐(0)
摘要: IoAttachDevice 绑定设备对象IoAttachDeviceToDeviceStack 绑定设备对象 比如原来的链是 Fido1---Fido2---pdo 那么我将deviceObject绑定到pdo上后,就成了 deviceObject----Fido1----Fido2--... 阅读全文
posted @ 2015-09-21 14:53 四月是你的谎言 阅读(182) 评论(0) 推荐(0)
摘要: OpenSCManager 打开SCM管理器CloseServiceHandle 关闭句柄CreateService 创建服务OpenService 打开服务ControlService 控制服务服务StartService 开启服务DeleteService 卸载服务(要先关闭服务) 阅读全文
posted @ 2015-09-21 14:52 四月是你的谎言 阅读(294) 评论(0) 推荐(0)
摘要: NTSTATUS CreateMyDevice(IN PDRIVER_OBJECT pDriverObject){ NTSTATUS status; PDEVICE_OBJECT pDevObj; PDEVICE_EXTENSION pDevExt; //创建设备名称 ... 阅读全文
posted @ 2015-09-21 14:52 四月是你的谎言 阅读(222) 评论(0) 推荐(0)
摘要: NtLoadDriver 服务控制管理器加载设备驱动.NtUnloadDriver 服务控制管理器支持卸载指定的驱动程序.NtRegisterNewDevice 加载新驱动文件.NtQueryIntervalProfile 返回数据.NtSetIntervalProfile 指定采样间隔.NtSta... 阅读全文
posted @ 2015-09-21 14:50 四月是你的谎言 阅读(2277) 评论(0) 推荐(0)
摘要: IRPTrace工具跟踪IRP派遣函数(Dispathc Funtion)是windows驱动中的重要概念。驱动程序的主要功能是负责处理I/O请求,其中大部分I/O请求是在派遣函数中处理的。用户模式下所有对驱动程序的I/O请求。全部由操作系统转化为一个叫做IRP的数据结构,不同的IRP数据会派遣到不... 阅读全文
posted @ 2015-09-21 14:50 四月是你的谎言 阅读(723) 评论(0) 推荐(0)
摘要: DeviceIoControl 发送控制代码到指定设备驱动程序参数解释:hDevice Long,设备句柄dwIoControlCode Long,应用程序调用驱动程序的控制命令,就是IOCTL_XXX IOCTLs。lpInBuffer Any,应用程序传递给驱动程序的数据缓冲区地址。nInBu... 阅读全文
posted @ 2015-09-21 14:50 四月是你的谎言 阅读(483) 评论(0) 推荐(0)
摘要: IoInitializeTimer 初始化定时器IoStartTime 开启定时器IoStopTimer 停止定时器回调函数VOID IoTimer( __in struct DEVICE_OBJECT *DeviceObject,__in_opt PVOID Context) IN PD... 阅读全文
posted @ 2015-09-21 14:49 四月是你的谎言 阅读(257) 评论(0) 推荐(0)
摘要: KeInitializeTimer 初始化定时器KeInitializeTimerEx 初始化定时器KeSetTimer 开启定时器(只执行一次)KeSetTimerEx 开启定时器(可以设置循环)KeInitializeDpc 初始化DPC对象 KeCancelTimer 取消定时器在驱动中是以1... 阅读全文
posted @ 2015-09-21 14:48 四月是你的谎言 阅读(1159) 评论(0) 推荐(0)
摘要: typedef struct DECLSPEC_ALIGN(MEMORY_ALLOCATION_ALIGNMENT) _DEVICE_OBJECT{ CSHORT Type; USHORT Size; LONG ReferenceCount; /*指向驱动程序中驱动对象的指针... 阅读全文
posted @ 2015-09-21 14:48 四月是你的谎言 阅读(606) 评论(0) 推荐(0)
摘要: typedef struct{PDEVICE_OBJECT DeviceObject; //指向驱动程序创建的设备对象PUNICODE_STRING HardwareDatabase; //记录的是设备的硬件数据库名,这里同样用Unicode字符串记录PFAST_IO_DISPATCH FastIo... 阅读全文
posted @ 2015-09-21 14:47 四月是你的谎言 阅读(522) 评论(0) 推荐(0)
摘要: Combo Box/Combo Box Ex组合窗口是由一个输入框和一个列表框组成。创建一个组合窗口可以使用成员函数: BOOL CListBox::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd... 阅读全文
posted @ 2015-09-21 14:46 四月是你的谎言 阅读(336) 评论(0) 推荐(0)
摘要: http://blog.163.com/gz_ricky/blog/static/1820491182011061180897/ 转载Tab CtrlTab属性页控件可以在一个窗口中添加不同的页面,然后在页选择发生改变时得到通知。MFC中使用CTabCtrl类来封装属性页控件的各种操作。通过调用 ... 阅读全文
posted @ 2015-09-21 14:45 四月是你的谎言 阅读(366) 评论(0) 推荐(0)
摘要: 支持换行就要把 Multiline 设置为TRUEEdit窗口是用来接收用户输入最常用的一个控件。创建一个输入窗口可以使用成员函数: BOOL CEdit::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParen... 阅读全文
posted @ 2015-09-21 14:45 四月是你的谎言 阅读(366) 评论(0) 推荐(0)
摘要: static CImageList ProcessImg; 定义在头文件str->InsertItem(0, pe32.szExeFile, imageIndex); imageIndex对应图标索引 0 1 2 3这样排列hImageList = (HIMAGELIST)::SHGetFileI... 阅读全文
posted @ 2015-09-21 14:44 四月是你的谎言 阅读(190) 评论(0) 推荐(0)
摘要: List Box/Check List BoxListBox窗口用来列出一系列的文本,每条文本占一行。创建一个列表窗口可以使用成员函数: BOOL CListBox::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* p... 阅读全文
posted @ 2015-09-21 14:42 四月是你的谎言 阅读(293) 评论(0) 推荐(0)
摘要: 很久之前从一个贴复制的忘记是哪里了1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资... 阅读全文
posted @ 2015-09-21 14:41 四月是你的谎言 阅读(485) 评论(0) 推荐(0)
摘要: afx_msg void OnItemchangedList1(NMHDR* pNMHDR, LRESULT* pResult); 头文件中添加ON_NOTIFY(LVN_ITEMCHANGED, 10086, OnItemchangedList1) 源文件中添加void CProcessCont... 阅读全文
posted @ 2015-09-21 14:41 四月是你的谎言 阅读(443) 评论(0) 推荐(0)
摘要: LVCFMT_CENTER居中对齐LONG styles;CListCtrl *str=new CListCtrl;str->Create(LVS_ICON, CRect(20,20,300,200), this, 10086);styles = GetWindowLong(str->m_hWnd,... 阅读全文
posted @ 2015-09-21 14:40 四月是你的谎言 阅读(500) 评论(0) 推荐(0)
摘要: 钮窗口(控件)在MFC中使用CButton表示,CButton包含了三种样式的按钮,Push Button,Check Box,Radio Box。所以在利用CButton对象生成按钮窗口时需要指明按钮的风格。创建按钮:BOOL CButton::Create( LPCTSTR lpszCaptio... 阅读全文
posted @ 2015-09-21 14:39 四月是你的谎言 阅读(416) 评论(0) 推荐(0)
摘要: 静态文本控件的功能比较简单,可作为显示字符串,图标,位图用。创建一个窗口可以使用成员函数: BOOL CStatic::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0x... 阅读全文
posted @ 2015-09-21 14:39 四月是你的谎言 阅读(256) 评论(0) 推荐(0)
摘要: CArchive类的成员 数据成员 m_pDocument 指向被串行化的CDocument对象 构造函数 Carchive 创建一个Carhcive对象 Abort在不异常的情况下,关闭归档文件 Close冲掉未写入数据并且释放与CFile的连接 基础输入/输出 Flush从归档文件缓冲区中冲掉未... 阅读全文
posted @ 2015-09-21 14:38 四月是你的谎言 阅读(1292) 评论(0) 推荐(0)
摘要: 组合框被操作时会向父窗口发送通知消息,这些通知消息及其含义如下: CBN_CLOSEUP:组合框的列表框组件被关闭,简易组合框不会发送该通知消息 CBN_DBLCLK:用户在某列表项上双击鼠标,只有简易组合框才会发送该通知消息 CBN_DROPDOWN:组合框的列... 阅读全文
posted @ 2015-09-21 14:38 四月是你的谎言 阅读(1220) 评论(0) 推荐(0)
摘要: CFont 字体类初始化函数CreateFontIndirect 初始化一个由LOGFONT结构给出其特征的CFont对象CreateFont 初始化用指定特性定义的CFont对象CreatePointFont 用指定高度(用0.1点)和字体初始化一个CFont对象Creat... 阅读全文
posted @ 2015-09-21 14:37 四月是你的谎言 阅读(825) 评论(0) 推荐(0)
摘要: CFile file; CString str1= L"写入文件成功!"; wchar_t *str2; if (!file.Open(L"Hello.txt", CFile::modeReadWrite| CFile::modeRead)) { AfxMess... 阅读全文
posted @ 2015-09-21 14:37 四月是你的谎言 阅读(704) 评论(0) 推荐(0)
摘要: CPen pen(PS_SOLID,10,RGB(255,0,0));创建画笔CClientDC dc(this);CPen *pOldpen=dc.SelectObject(&pen); 选入设备描述表dc.MoveTo(m_ptOrigin);dc.LineTo(point);dc.Select... 阅读全文
posted @ 2015-09-21 14:36 四月是你的谎言 阅读(153) 评论(0) 推荐(0)
摘要: CDC 绘图类/////////////////////CClientDC 派生于CDC 构造函数调用GetDC 析构函数调用ReleaseDC 更加方便 只能访问客户区CClientDC hdc(this);参数是 GetDesktopWindow获取桌面句柄的话 划线就相当于从桌面坐标开始可以把... 阅读全文
posted @ 2015-09-21 14:36 四月是你的谎言 阅读(255) 评论(0) 推荐(0)
摘要: CMenu 菜单类成员函数1. CreateMenu()和CreatePopupMenu(),这两个函数用来创建一个菜单实例,CreateMenu()创建的是普通的菜单实例,如果想创建弹出式菜单,就要用CreatePopupMenu()函数。2. AppendMenu()向菜单中添加一个子项,这个函... 阅读全文
posted @ 2015-09-21 14:35 四月是你的谎言 阅读(202) 评论(0) 推荐(0)
摘要: 创建模态对话框还要先包含新窗口窗口的头文件。CTestDlg dlg; CTestDlg=新创建的窗口类名 dlg.Domodal();创建非模态对话框CTestDlg *pdlg=new CTestDlg; 最好在把 CTestDlg *pdlg=new CTestDlg;定义在视窗类构造... 阅读全文
posted @ 2015-09-21 14:35 四月是你的谎言 阅读(302) 评论(0) 推荐(0)
摘要: GetDlgItem 得到控件对象 参数是控件IDGetWindowText 得到控件文本SetWindowText 设置控件文本列 CString str;GetDlgItem(IDC_STATIC1)->GetWindowTextW(str); //得到文本GetDlgItem(IDC_S... 阅读全文
posted @ 2015-09-21 14:34 四月是你的谎言 阅读(147) 评论(0) 推荐(0)
摘要: GetLength: 获取CString类的对象包含的字符串的长度(字节数)IsEmpty: 测试CString类的对象包含的字符串是否为空Empty: 使CString类的对象包含的字符串为空字符串GetAt: 获得字符串指定位置处的字符... 阅读全文
posted @ 2015-09-21 14:33 四月是你的谎言 阅读(294) 评论(0) 推荐(0)
摘要: 在CMainFrame类中找到CMFCMenuBar m_wndMenuBar;这个成员变量,将跟它相关的代码注释掉的话,然后运行,OK。 阅读全文
posted @ 2015-09-21 14:33 四月是你的谎言 阅读(534) 评论(0) 推荐(0)
摘要: CWnd类的成员 1.数据成员m_hWnd指明与这个CWnd对象相关联的HWND句柄2.构造和析构CWnd构造一个CWnd对象DestroyWindow销毁相关联的Windows窗口3.初始化Create创建并初始化与CWnd对象相关联的子窗口PreCreateWindow在与CWnd对象相关联的窗... 阅读全文
posted @ 2015-09-21 14:32 四月是你的谎言 阅读(976) 评论(0) 推荐(0)
摘要: CxxxxView 视窗类 所有的按键 等消息都先在这里响应CxxxxDoc 文档类CMainFrame 框架类CxxxxApp 应用程序类CxxxxView类中的 OnDraw函数 在窗口改变大小等重绘就会调用 相当于WM_PAINT消息CAboutDlg 生成对话框的类菜单消息响应顺序... 阅读全文
posted @ 2015-09-21 14:32 四月是你的谎言 阅读(627) 评论(0) 推荐(0)
摘要: typedef struct _IMAGE_SECTION_HEADER { BYTE Name[IMAGE_SIZEOF_SHORT_NAME]; union { DWORD PhysicalAddress;//不用关心,始终是NULL D... 阅读全文
posted @ 2015-09-21 14:30 四月是你的谎言 阅读(1136) 评论(0) 推荐(0)
摘要: typedef struct _IMAGE_IMPORT_DESCRIPTOR { union { DWORD Characteristics; // 0 for terminating null import descriptor DWO... 阅读全文
posted @ 2015-09-21 14:29 四月是你的谎言 阅读(2037) 评论(0) 推荐(0)
摘要: typedef struct _IMAGE_BASE_RELOCATION { DWORD VirtualAddress; DWORD SizeOfBlock;// WORD TypeOffset[1];} IMAGE_BASE_RELOCATION;typedef IM... 阅读全文
posted @ 2015-09-21 14:29 四月是你的谎言 阅读(1248) 评论(0) 推荐(0)
摘要: typedef struct _IMAGE_EXPORT_DIRECTORY { DWORD Characteristics; DWORD TimeDateStamp; //输出表的创建时间 WORD MajorVersion; ... 阅读全文
posted @ 2015-09-21 14:28 四月是你的谎言 阅读(813) 评论(0) 推荐(0)
摘要: //IMAGE_OPTIONAL_HEADER结构(可选映像头)typedef struct _IMAGE_OPTIONAL_HEADER { // // Standard fields. // WORD Magic; //幻数,一般为10BH BYTE ... 阅读全文
posted @ 2015-09-21 14:27 四月是你的谎言 阅读(1546) 评论(0) 推荐(0)
摘要: IMAGE_FILE_HEADER这个结构的定义如下:typedef struct _IMAGE_FILE_HEADER { 00h WORD Machine; //运行平台 02h WORD NumberOfSections; //区... 阅读全文
posted @ 2015-09-21 14:26 四月是你的谎言 阅读(492) 评论(0) 推荐(0)
摘要: 1 IMAGE_DOS_HEADER STRUCT 2 { 3 +0h WORD e_magic // Magic DOS signature MZ(4Dh 5Ah) DOS可执行文件标记 4 +2h WORD e_cblp // Bytes on last page of f... 阅读全文
posted @ 2015-09-21 14:24 四月是你的谎言 阅读(1073) 评论(0) 推荐(0)
摘要: typedef struct_IMAGE_NT_HEADERS{ DWORD Signature; // 固定为 0x00004550 “PE00" IMAGE_FILE_HEADER FileHeader;//IMAGE_FILE_HEADER文件头结构 ... 阅读全文
posted @ 2015-09-21 14:24 四月是你的谎言 阅读(629) 评论(0) 推荐(0)
摘要: 组合框 组合框兼具编辑框和列表框的功能,既能编辑选项,又能显示多个项。在Windows程序设计中可以见到大量组合框的应用实例,例如文件对话框里的目录搜索组合框。1.基础知识 组合框的风格主要有三种,... 阅读全文
posted @ 2015-09-21 14:22 四月是你的谎言 阅读(641) 评论(0) 推荐(0)
摘要: 应用程序用CreateWindowEx创建列表框控件时,可根据控件的用途在下表中选择部份常数来设定其风格属性(style)。 常数 说明 LBS_DISABLENOSCROLL 固定... 阅读全文
posted @ 2015-09-21 14:21 四月是你的谎言 阅读(604) 评论(0) 推荐(0)
摘要: 滚动条 滚动条既可以是许多子窗口(如编辑框、列表框)的附件,又可以独立成为子窗口。1.基础知识 滚动条的主要用途在于对某个在一定范围内变化的属性值或者变量进行动态设置。例如用滚动条可以方便地控制颜色的深... 阅读全文
posted @ 2015-09-21 14:20 四月是你的谎言 阅读(449) 评论(0) 推荐(0)
摘要: 列表框 列表框允许用户从多个对象中选择一项或多项,这些对象可以是文本、文件和位图等。当列表框的项不能全部显示出来时,可以用滚动条来滚动显示。1. 基础知识 默认的列表框只允许用户单选,需要多选时,须把列表框的风格定义为 LBS_ MULTIPLESEL 和 LBS_EXTENDEDSEL 。列表... 阅读全文
posted @ 2015-09-21 14:20 四月是你的谎言 阅读(426) 评论(0) 推荐(0)
摘要: WC_LISTVIEW二、相关的函数操作 SysListView32因为是SDK编程,所以对控件的操作是向控件发送SendMessage()来实现的LISTVIEW中的相关消息为:1、LVM_SETTEXTCOLOR 和 LVM_SETTEXTBKCOLOR 消息设定文本的前景和背景色2、 LVM_... 阅读全文
posted @ 2015-09-21 14:19 四月是你的谎言 阅读(1693) 评论(0) 推荐(0)
摘要: 图形界面和消息处理是任何一个基于Windows的应用程序必须认真考虑的事情。在前面的章节中已经介绍了Windows应用程序消息处理的机制,这种机制对于所有对象的消息处理都是一致的,即实行客户(用户操作或请求)到操作系统(捕获消息)到应用程序(接收消息并执行处理代码)的机制。而图形界面则包含丰富的内容... 阅读全文
posted @ 2015-09-21 14:18 四月是你的谎言 阅读(323) 评论(0) 推荐(0)
摘要: 编辑框 编辑框的主要作用是让用户输入文本,例如要求用户在编辑框中输入密码的文本。1.基础知识 编辑框里的文本可以是单行,也可以是多行,后者的风格取值为 ES_MULTILINE。一般对于多行文本编辑框还需设置 ES_AUTOVSCROLL,这样用户可以输入多行文本,并自动滚动。在默认的状况下,编... 阅读全文
posted @ 2015-09-21 14:18 四月是你的谎言 阅读(469) 评论(0) 推荐(0)
摘要: 对于jmp类型的hook, 如果自己的过程没有使用_declspec(naked),那么系统会自动给添加一些额外的代码,控制堆栈平衡,但是这些额外的代码会破坏被hook函数的堆栈。对于call类型的hook,如果使用_declspec(naked)修饰的话,要注意自己恢复堆栈平衡。下面是网上对_de... 阅读全文
posted @ 2015-09-21 14:17 四月是你的谎言 阅读(712) 评论(0) 推荐(0)
摘要: 为了防止多线程同时调用 使用临界区对象InitializeCriticalSection之后线程访问临界区中数据的时候,必须首先调用EnterCriticalSection函数,申请进入临界区,在同一时间内存,windows只允许一个线程进入临界区。所以在申请的时候,如果有另一个线程在临界区的话,E... 阅读全文
posted @ 2015-09-21 14:16 四月是你的谎言 阅读(233) 评论(0) 推荐(0)
摘要: WM_CREATE 窗口过程收到的第一条信息WM_COMMAND 菜单按下WM_DESTROY 正在销毁窗口WM_KEYDOWN lParam含义为虚拟键码“A”(0X41) wparm (这个对)包含按下键的ASCII码 键盘按下产生消息WM_KEYUP lParam含义为虚拟键码“A”(0X4... 阅读全文
posted @ 2015-09-21 14:15 四月是你的谎言 阅读(501) 评论(0) 推荐(0)
摘要: GetWindowRect计算窗口大小MoveWindow 设置窗口大小SetMapMode 该函数设置指定设备环境的映射方式 MM_LOMETRIC:每个逻辑单位转换为0.1毫米,X正方向向右,Y正方向向上。GetMapMode 得到当前映射模式LoadImage加载位图文件LoadIcon加载图... 阅读全文
posted @ 2015-09-21 14:14 四月是你的谎言 阅读(292) 评论(0) 推荐(0)
摘要: 1.逻辑坐标 逻辑坐标是独立于设备的,它与设备点的大小无关。使用逻辑单位,是实现"所见即所得"的基础。当程序员在调用一个画线的GDI函数LineTo,画出25.4mm(1英寸) 长的线时,他并不需要考虑输出的是何种设备。若设备是VGA显示器,Windows自动将其转化为96个像素点;若设备是一个... 阅读全文
posted @ 2015-09-21 14:14 四月是你的谎言 阅读(446) 评论(0) 推荐(0)
摘要: 服务是一种特殊的应用程序,复合特殊接口形式要求,操作系统的很多重要功能依赖于服务。服务是一种在系统中常驻的程序,在系统启动时自动启动(先于用户登录)。服务的安装、删除、启动、停止、控制与I/O都是通过服务控制器。 Windows系统的服务分为服务应用程序和内核驱动服务程序,服务应用程序运行于系... 阅读全文
posted @ 2015-09-21 14:13 四月是你的谎言 阅读(254) 评论(0) 推荐(0)
摘要: 设置一个定时器一直调用来检测或者线程功能:确定用户当前是否按下了键盘上的一个键原型:SHORT GetAsyncKeyState(int vKey);参数:nVirtKey指出要检查键的虚键代码。结果的高位指出该键当前是否被按下(是为1,否为0)。-32768(即16进制数&H8000) --- 键... 阅读全文
posted @ 2015-09-21 14:12 四月是你的谎言 阅读(411) 评论(0) 推荐(0)
摘要: SetTimer 创建定时器KillTimer 删除定时器 在 WM_DESTROY删除WM_TIMER定时器消息GetTickCount GetTickCount返回(retrieve)从操作系统启动到现在所经过(elapsed)的毫秒数,它的返回值是DWORD。Sleep 延迟函数 阅读全文
posted @ 2015-09-21 14:12 四月是你的谎言 阅读(654) 评论(0) 推荐(0)
摘要: PAGE_EXECUTE 可执行PAGE_EXECUTE_READ 可读,可执行PAGE_EXECUTE_READWRITE 可读,可写,可执行PAGE_EXECUTE_WRITECOPY 可读,可写,可执行,以Read-on-write和copy-on-write方式共享PAGE_... 阅读全文
posted @ 2015-09-21 14:11 四月是你的谎言 阅读(593) 评论(0) 推荐(0)
摘要: DuplicateHandle 复制一个句柄可以用来当注入器使用 (先扫描进程发现要OpenProcess打开的句柄就复制就不用打开了)复制后给予给予PROCESS_ALL_ACCESS权限DuplicateHandle 转换复制的句柄成实句柄CloseHandle 关闭打开的句柄进程管理Ge... 阅读全文
posted @ 2015-09-21 14:10 四月是你的谎言 阅读(1258) 评论(0) 推荐(0)
摘要: WM_NULL = 0WM_CREATE = 1应用程序创建一个窗口WM_DESTROY = 2一个窗口被销毁WM_MOVE = 3移动一个窗口WM_SIZE = 5改变一个窗口的大小WM_ACTIVATE = 6一个窗口被激活或失去激活状态;WM_SETFOCUS = 7获得焦点后WM_KILLF... 阅读全文
posted @ 2015-09-21 14:09 四月是你的谎言 阅读(316) 评论(0) 推荐(0)
摘要: Windows系统下,在进程间通信或共享数据的方式如下:邮槽:最简单的进程间数据共享方式,一个进程创建并拥有一个邮槽,其他进程都可以打开这个邮槽并向其发送消息。管道:其实质是一种共享的内存,由一个进程创建其他进程连接,并可以进行双向的通信。剪贴板:重要的进程间数据共享方式,所有的进程都可以设置和修改... 阅读全文
posted @ 2015-09-21 14:09 四月是你的谎言 阅读(642) 评论(0) 推荐(0)
摘要: Windows系统信息包括系统版本、目录、计算机名、用户名、系统时间、系统颜色设置等信息。版本信息GetVersion 获取系统的主次版本号。GetVersiongEx 获取系统的版本信息,包括主版本号、次版本号、构建号、SP主版本号、SP此版本号等信息。硬件信息GetSystemInfo 获取系统... 阅读全文
posted @ 2015-09-21 14:08 四月是你的谎言 阅读(322) 评论(0) 推荐(0)
摘要: Windows的用户界面分为两种:字符图形界面和图形用户界面。字符界面较为简单,主要内容包括如何在节目上读取用户输入,如何向界面中断输出信息、如何控制界面的字体、背景、颜色等。Windows图形用户界面内容很多,尤其控件类型很多,本书选取了最具有代表性的文本编辑控件、树形控件、列表控件作重点介绍。字... 阅读全文
posted @ 2015-09-21 14:07 四月是你的谎言 阅读(782) 评论(0) 推荐(0)
摘要: 磁盘和驱动器管理APIGetLogicalDrivers 获取主机中所有的逻辑驱动器,以Bit Map的形式返回.GetLogicalDriverString 获取主机中所有的逻辑驱动器,以驱动器根路径字符串返回.FindFirstVolume 查找主机中的第一个驱动器,返... 阅读全文
posted @ 2015-09-21 14:07 四月是你的谎言 阅读(206) 评论(0) 推荐(0)
摘要: isalnum(c) 如果 c 是字母或数字,则为 True。isalpha(c) 如果 c 是字母,则为 true。iscntrl(c) 如果 c 是控制字符,则为 trueisdigit(c) 如果 c 是数字,则为 true。isgraph(c) 如果 c 不是空格,但可打印,则为 true。... 阅读全文
posted @ 2015-09-21 14:04 四月是你的谎言 阅读(345) 评论(0) 推荐(0)
摘要: auto : 声明自动变量short :声明短整型变量或函数 int: 声明整型变量或函数 long :声明长整型变量或函数 float:声明浮点型变量或函数 double :声明双精度变量或函数 char :声明字符型变量或函数 struct:声明结构体变量或函数 unio... 阅读全文
posted @ 2015-09-21 13:44 四月是你的谎言 阅读(356) 评论(0) 推荐(0)