自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 收藏
  • 关注

转载 Windows 实战项目 001 文件扫描器 (01)

---恢复内容开始---# Windows 实战项目 001 文件扫描器 (01)  -主要实现功能    - 搜索系统目录文件    - 找到文件并打印输出  -主要使用到的函数    - FindFirstFile     函数原型:1 HANDLE WINAPI FindFirstFile(2 ...

2017-08-16 15:37:00 166

转载 017 系统内存信息 内存大小 空闲内存 5

# 017 系统内存信息 内存大小 空闲内存 5  GetSystemInfo 函数     函数原型:1 void WINAPI GetSystemInfo( _Out_ LPSYSTEM_INFO lpSystemInfo);       参数1:lpSystemInfo [out]       返回一个 SYSTEM_INFO 结构体指针信息   结...

2017-08-01 16:20:00 139

转载 017 虚拟内存页面区块 4

●VirtualQueryEx 函数  功能:检索在指定进程的虚拟地址空间内的一系列页面的信息。  函数参数    参数1:hProcess [in]       进程句柄    参数2:lpAddress [in, optional]       查询虚拟内存地址    参数3:lpBuffer [out]       MEMORY_BASIC_INFORMATION 结...

2017-07-29 09:07:00 189

转载 012 Python 爬虫项目1

# Python 爬虫项目1   ● Python 网页请求     requests       POST       GET    网页状态码1 # -*- coding: UTF-8 -*-2 from bs4 import BeautifulSoup3 import requests4 5 url = "http://www.baidu.co...

2017-07-27 12:16:00 82

转载 011 Python 爬虫库安装简单使用

# Python 爬虫基础知识   ● Python 爬虫基础知识     安装爬虫库       beautifulsoup4         pip install beautifulsoup4       lxml HTML 解析器         pip install html5lib       html5lib         ...

2017-07-27 09:00:00 76

转载 010 Python 类的高级特性

# Python 类的高级特性   ● 静态成员1 # -*- coding: UTF-8 -*-2 3 class UserInfo(object):4 #静态成员5 company = 'I Love PoEdu'6 print(UserInfo.company) 1 # -*- coding: UTF-8 -*-...

2017-07-26 09:38:00 90

转载 009 Python 类

# Python 类   ● class 类名(object):     ● 简单类的创建 1 # -*- coding: UTF-8 -*- 2 class FirstClass: 3 """创建一个简单的类""" 4 nValue = 12345 5 def outString(self): 6 return...

2017-07-25 19:57:00 71

转载 008 Python 复习

# Python   ● Python 内库     Python并不鼓励使用内置库进行编程     Python鼓励使用别人编写好的开源库进行开发   ○ help()函数    查看内部函数定义,帮助文档 1 # -*- coding: UTF-8 -*- 2 def Foo(x,y): 3 """ 4 演示 5 :par...

2017-07-24 09:57:00 73

转载 007 Python 模块及函数

# Python   ● 别人写好的东西(库)     A:*foo1 foo2 foo3 foo4     B:*foo2 foo1 foo3 foo4     from XX import XX     from XX 就是 包的东西   ● __XX__.py 不对外公开的1 #fileDemo.py2 # -*- coding: UTF-8 -*-...

2017-07-23 18:16:00 61

转载 006 Python 高级特性

● 空函数生成1 # -*- coding: UTF-8 -*-2 def myFoo():3 poss #加上poss 就可以生成空函数了●函数print1 print(type(print))  print的本质就是一个变量  如果我们直接给 print 赋值,函数就无法调用了1 # -*- coding: UT...

2017-07-21 17:00:00 55

转载 005 Python 基础特性

● 上一课作业讲解1 f = open("111. 111", "w")2 f.writelines("abcdefg.........")3 f.close  新建一个111.111 以写的方式  向文件写入一行字符串  关闭文件,才会写入,不关闭不会把缓冲区内容写入 1 # -*- coding: UTF-8 -*- 2 count ...

2017-07-21 09:36:00 62

转载 017 虚拟内存 64位及内存对其 3

# 64位及内存对其   ● 内存对齐     ○ 内存取%页面大小     ○ 如果内存没有对齐       CPU无法正常读取数据       CPU会使用错位的方式读取数据       延缓我们对数据的操作性   ● 获取页面大小     ○ AMD INTER CPU x64 x86 的CPU       页面大小 4kb     ○ IA64 英特尔 ...

2017-07-17 10:39:00 155

转载 004 Python 文件操作 字典 自定义函数

# Python 3 文件操作 字典 自定义函数   ● python 文档     官方英文文档 https://docs.python.org/3/     汉化版文档 http://python.usyiyi.cn/   ● open()     返回一个文件句柄     参数1:文件地址,绝对地址,或者相对地址     参数2:文件打开的方式     rU 或 U...

2017-07-17 06:13:00 374

转载 003 Python list 索引

# Python 3 基础语法   ● list 索引     ○ -1代表最后一个     ○ list可以放置各种各样的类型# -*- coding: UTF-8 -*-names = ['Mark', 'coloe',1,2,3,4,5,3.14,True]print(type(names))print(names)print(names[1])pr...

2017-07-14 13:19:00 79

转载 017 虚拟内存2

用户地址空间  ●内存的分配    ○ 当进程被创建并赋予它的地址空间时,该可用地址空间的主体是空闲的,即未被分配的。      若要使用该地址空间的各个部分,必须通过调用 VirtualAlloc函数来分配它里边的各个区域。      每当你保留地址空间的一个区域时,系统要确保该区域从一个分配颗度的边界开始。      当你保留地址空间的一个区域时,系统...

2017-07-13 18:33:00 95

转载 017 虚拟内存

# 内存   ● 物理内存     ○ 电脑上面的内存条     ○ 4G 8G 16G 32G 物理内存是死的,不会增长的     ○ 物理内存可以跟CPU进行通信,所以电脑上面必须有物理内存     ○ 应用程序开发的时候,我们根本无法接触到物理内存。   ● 虚拟内存     ○ 多个进程 每个都分配虚拟地址空间     ○ 模拟所有物理内存的功能     ○ 当我们...

2017-07-11 11:59:00 75

转载 016 程序单开应用 8

实现限制程序多开测试代码创建第一个程序ProcessMutexDemo.exe 1 #include <windows.h> 2 #include <stdio.h> 3 int main() 4 { 5 HANDLE hMutex = CreateMutex(NULL, TRUE, TEXT("Demo")); ...

2017-07-11 09:17:00 94

转载 002 Python 基础语法

# Pyton 基础数据类型   # 整数     Python可以处理任意的整数,当然包括负整数,在程序中的表示方法和教学上的写法一模一样     例如:     1,100,-8080,0等等     计算机由于使用二进制,所以有时候十六进制表示的整数比较方便,十六进制用0x前缀和0-9,a-f表示     0xff00, 0xa6b4c3d2 .等等  ...

2017-07-09 22:36:00 73

转载 016 Event互斥体 8

● CreateMutex  函数原型1 HANDLE WINAPI CreateMutex(2 _In_opt_ LPSECURITY_ATTRIBUTES lpMutexAttributes,3 _In_ BOOL bInitialOwner,4 _In_opt_ LPCTSTR ...

2017-07-09 07:46:00 54

转载 016 信号量 7

信号量● CreateSemaphore  函数原型1 HANDLE WINAPI CreateSemaphore(2 _In_opt_ LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,3 _In_ LONG lInitialCount,4 _In_ LON...

2017-07-09 06:35:00 138

转载 001 Python简介 输入输出

Python简介● Python特点   ○ Python 是著名的 “龟叔” Guido van Rossum在1989年圣诞期间,位了打发无聊的圣诞节而编写的一个编程语言   ○ C语言     适合开发那些最求速度,充分发挥硬件性能的程序   ○ Python     用来编写小应用程序的高级编程语言 ● 优点   ○ Python就为我们提供了非常完善的基础代码库,覆盖了网络...

2017-07-08 18:40:00 69

转载 016 可等待计时器对象.6

可等待计时器对象.  ● CreateWaitableTimer  函数原型1 HANDLE WINAPI CreateWaitableTimer(2 _In_opt_ LPSECURITY_ATTRIBUTES lpTimerAttributes,3 _In_ BOOL bManualReset,4 _I...

2017-07-08 08:50:00 85

转载 016 EventDemo 5

小项目●拖拽控件●设置编辑框属性●程序逻辑● 获取焦点的事件1 void CEventDemoDlg::OnSetfocusEditText()2 {3 // 获取焦点4 MessageBox(L"Hello");5 }●启动以后会不停的弹 下消息框●解决办法多拖动一个按钮...

2017-07-07 23:53:00 82

转载 016 事件内核对象4

示例#define UNICODE#include <stdio.h>#include <tchar.h>#include <windows.h>#include <process.h>#define ___tmainCRTStartupint *gPNum;BOOL gUsing = FALS...

2017-07-06 06:52:00 83

转载 016 内核对象的Signal状态3

Signal   ● Signal = FALSE 相当于标志   ● 进程 初始化FALSE 运行完成 设置位 TURE   ● 线程   ● 标准输入输出流   ● 互斥体   ● 信号   ● 可等待计时器   ● 作业   ● WaitForSingleObject() 句柄,时间     ○ 当前正在执行的线程,变成不可调度的状态,     ○ 等待Signal 状态...

2017-07-05 08:08:00 157

转载 016 句柄2

● 句柄  ● 句柄内核对象递增数值  ● 进程内核对象    ○ 句柄表    ○ 索引    ○ 指向内核对象的指针    ○ 内存空间    ○ 标志位  ● 句柄是不能够跨进程存在的        ○ File Obj -> 地址    ○ 生成索引      ○ A索引表 R3 -> 拿到索...

2017-07-04 09:20:00 57

转载 016 内核对象1

内核对象   ● 内核对象   ● 句柄的本质   ● 下载 WinObj     ○ https://technet.microsoft.com/en-us/sysinternals/bb896657/   ● WinObj 主要是用来参看我们系统中的内核对象     ○ 必须用管理员权限启动程序     ○ 内核对象是属于我的系统的内核对象     ○ 进程仅仅拥有内核对象的...

2017-07-03 21:33:00 55

转载 015 Slim锁及线程休眠及等待及挂起及阻塞

  ● Slim锁:     ○ 可区分读写操作, 可上共享锁     ○ 效率比临界区高   ● Slim的劣势:     ○ 一旦上了独占锁, 共享锁的线程会被阻塞   ● 线程状态     ○ 线程的挂起, 休眠, 阻塞, 等待状态都会使线程不可调度     ○ 当收到操作系统发送的通知说线程可以恢复运行的时候, 线程就又变成了可调度状态 1...

2017-07-03 17:56:00 97

转载 015 临界区

  ● EnterCriticalSection()     ○ 多个线程操作相同的数据时,一般是需要按顺序访问的,否则会引导数据错乱,无法控制数据,       变成随机变量。为解决这个问题,就需要引入互斥变量,让每个线程都按顺序地访问变量。       这样就需要使用EnterCriticalSection和LeaveCriticalSection函数。    W...

2017-07-03 17:31:00 72

转载 015 线程优先级

线程优先级● 线程优先级   ○ Windows的每一个可调度的线程分配了一个优先级(0-31),当系统准备去执行一条线程时,会首先看优先级为31的行程,并以循环的方式来进行    调度,只要有优先级为31的线程,操作系统将永远不会调用30以下的线程,这样看起来好像优先级较低的线 程永远得不到被执行的机会,但是其实系统当大部分线程都是属于不可调度状态的,...

2017-07-01 22:58:00 83

转载 015 volatile关键字 线程函数的lParam 原子操作和旋转锁.

  ●对全局变量进行 volatile 可以阻止编译器对变量的优化  ● lparam 线程函数的传参 1 #include <windows.h> 2 #include <stdio.h> 3 #include <tchar.h> 4 #include <process.h> 5 6 int gNum =...

2017-06-28 08:06:00 77

转载 015 原子操作 旋转锁

以下代码个别情况下会出错 导致值为1#define UNICODE#include <stdio.h>#include <tchar.h>#include <windows.h>#include <process.h>long gNum = 0;unsigned int __stdcall Thre...

2017-06-25 06:25:00 84

转载 015 CONTEXT 线程安全上锁 代码实现

#define UNICODE#include <stdio.h>#include <tchar.h>#include <windows.h>#include <process.h>BOOL bUseing = FALSE;unsigned int __stdcall ThreadRun(void* lPar...

2017-06-24 08:39:00 91

转载 015 线程的状态

线程的状态● 启动   ○ CONTEXT   ○ 使用计数 = 2   ○ 暂停计数 = 1 -1 =0 (可以进入CPU的调度,当前线程是可执行状态)● 运行   ○ CPU调度   ○ 执行我们的函数   ○ 时不时的暂停我们的线程 -> 写入 CONTEXT   ○ 读取CONTEXT● 挂起   ○ 暂停线程的运行   ○ SuspendThread()   ○ ...

2017-06-23 09:07:00 53

转载 015 _beginthreadex CreateThread 函数区别

_beginthreadex讲解● _beginthreadex   ○ 纯 C/C++ API     ○ 多线程这一块的运行库   ○ C语言的错误处理机制 errno     ○ 3条     ○ 线程变得不安全了   _beginthreadex();  //要比CreateThread 安全尽量使用_beginthreadex(); 创建线程     //分配空间  ...

2017-06-23 08:30:00 47

转载 015 线程启动到死亡的详细讲解

线程启动到死亡的详细讲解● CreateThread   ○ 线程内核对象      使用计数 2     暂停计数 1     退出代码 STILL_ACTIVE     Signaled FALSE     CONTEXT 为空   ○ 栈     lpParam     lpFnaddr   ○ CONTEXT 线程上一次运行时的寄存器     IP(指令寄存器) ...

2017-06-23 08:11:00 54

转载 015 复习

复习 ● 复习   ○ 内核对象 Ring 0 层 使用计数 (HANDLE)     ○ 文件 设备(属于设备)IO     ○ 进程       ○ 进程和进程之间是独立,哪怕父进程和子进程之间也是独立的       ○ 惰性 虚拟内存     ○线程       ○ 积极 运行       ○ 线程和进程之间是独立的      ...

2017-06-22 08:34:00 46

转载 015 线程退出 启动

线程退出 启动   ● 当一个进程销毁的时候     ○ 销毁临时对象     ○ 释放堆栈     ○ 将返回值设置为我的退出代码     ○ 减少进程内核对象的使用次数   ● 当一个线程销毁的时候     ○ 销毁临时对象 调用我的们的析构函数     ○ 释放当前线程里面锁分配堆栈 -> 窗口 -> HOOK     ○ 将返回值设置为我的退出代...

2017-06-18 08:43:00 69

转载 015 输入理解时间片

线程   ● 线程抢占式运行     ○ 启动两个线程       ○ 分别在第一个线程 1 - 100       ○ 第二个线程里面 101-200     ○ 未知     ○ 有一定规律的,哪个线程先抢到时间片,就先执行里面的所有代码    ○ 谁先抢到时间片 就先运行谁的代码 1 #include <windows.h> 2...

2017-06-18 08:11:00 111

转载 015 线程创建

线程   ● 进程启动     ○ 进程内核对象 进程空间     ○ 线程   ● 可以通过IDE设置入口函数   ● 自己创建线程     ○ 创建线程函数 CreateThread()     ○ 新建线程内核对象(结构体)   ● 线程     ○ 分配一块内存空间,作为当前线程的堆栈     ○ 两条在同一进程内线程,都是隔离的     ○线程他们是封闭的,...

2017-06-13 21:16:00 71

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除