E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
【Windows核心编程】
Windows核心编程
学习笔记(23)--纤程
Drecik学习经验分享转载请注明出处:http://blog.csdn.net/drecik__/article/details/8202023Windows提供纤程是为了帮助各个公司更快地、正确地将它们的代码从UNIX移植到Windows中。但我们要记住,自己在Windows上设计程序时,应该避免使用纤程,而使用Windows提供的线程机制。首先要了解的是,纤程是在用户模式下实现的,内核对纤程
Drecik__
·
2012-11-20 09:00
windows核心编程
---UNICODE和ANSI间的相互转换
UNICODE和ANSI间的相互转换,主要通过以下两个函数进行转换:MultiByteToWideChar和WideCharToMultiByte。MultiByteToWideChar函数功能:该函数映射一个字符串到一个宽字符(unicode)的字符串。由该函数映射的字符串没必要是多字节字符组。函数原型:intMultiByteToWideChar( __inUINTCodePage,
wangqiulin123456
·
2012-11-18 20:00
编程
c
c
windows
windows
Windows核心编程
学习笔记(22)--Windows线程池
Drecik学习经验分享转载请注明出处:http://blog.csdn.net/drecik__/article/details/8194020Windows线程提供了一个线程池机制来简化线程的创建,销毁以及日常管理,避免了线程频繁创建和销毁的开销。一下介绍的与现场池有关的函数是新的线程池API,只能运行在WindwosVista及以后版本。这些线程池函数可以帮助我们做以下事情:以异步的方式来调
Drecik__
·
2012-11-17 20:00
windows核心编程
---StringCbCopy和StringCchCopy 函数
StringCbCopy函数用于拷贝string,且提供了目标缓冲区的大小作为参数,防止缓冲区溢出等安全问题。这个函数可用于替换以下函数的使用:strcpy,wcscpy,_tcscpylstrcpyStrCpyStringCbCopy函数原型如下:HRESULTStringCbCopy( __outLPTSTRpszDest,//目标字符串缓冲区 __insize_tcbDest,//目标缓冲区
wangqiulin123456
·
2012-11-17 15:00
编程
windows
windows
character
Windows核心编程
学习笔记(21)--同步设备I/O与异步设备I/O2
Drecik学习经验分享转载请注明出处:http://blog.csdn.net/drecik__/article/details/81869611.异步设备I/O基础异步设备I/O是指,当一个线程向设备发送一个异步I/O请求时,这个I/O被传送给设备驱动程序,后者负责完成实际的I/O惭怍。当驱动程序在等待设备响应的时候,应用程序的线程并没有因为要等待I/O请求完成而被挂起,线程会继续运行并执行其
Drecik__
·
2012-11-17 09:00
线程同步--关键代码段(三)
下面是《
windows核心编程
》这本书里面的一段话。插一句话,搞windows编程的此书必看,本人正在读中,感觉就是醍醐灌顶!当线程试图进入另一个线程拥有的关键代码段时,调用线程就立即被置于等待状态。
midle110
·
2012-11-15 19:00
Windows核心编程
学习笔记(20)--同步设备I/O与异步设备I/O1
Drecik学习经验分享转载请注明出处:http://blog.csdn.net/drecik__/article/details/81813381.打开和关闭设备首先看下Windows常用的设备和打开他们的函数:根据上述表格打开一个设备后获得一个用来标志设备的句柄,可以将该句柄传给其他函数来与设备进行通信。例如:调用SetCommConfig设置串口的波特率,调用SetMailslotInfo设
Drecik__
·
2012-11-14 20:00
【
Windows核心编程
】
Windows核心编程
-- 进程(示例:枚举进程)
枚举进程 每一个应用程序实例在运行起来后都会在当前系统下产生一个进程,大多数应用程序均拥有可视界面,用户可以通过标题栏上的关闭按钮关闭程序。但是也有为数不少的在后台运行的程序是没有可视界面的,对于这类应用程序用户只能通过CTRL+ALT+DEL热键呼出"关闭程序"对话框显示出当前系统进程列表,从中可以结束指定的任务。显然,该功能在一些系统监控类软件中还是非常必需的, 其处理过程大致可以分
tianshuai11
·
2012-11-13 20:00
windows核心编程
---CompareString函数
CompareString TheCompareStringfunctioncomparestwocharacterstrings,usingthespecifiedlocale.intCompareString( LCIDLocale,//localeidentifier DWORDdwCmpFlags,//comparison-styleoptions LPCTSTRlpStrin
wangqiulin123456
·
2012-11-13 12:00
编程
c
c
windows
windows
比较
windows核心编程
---错误处理
如果我们自己写程序的时候检测到一个错误的时候,可能希望向用户显示错误的文本表述,而不是一个干巴巴的错误代码windows提供了一个函数可以将错误代码转换成错误文本描述,这个函数是FormatMessage。TheFormatMessagefunctionformatsamessagestring.Thefunctionrequiresamessagedefinitionasinput.Themes
zhaoyazhi2129
·
2012-11-12 21:00
java
java
java
编程
Class
buffer
buffer
语言
windows核心编程
---错误处理
如果我们自己写程序的时候检测到一个错误的时候,可能希望向用户显示错误的文本表述,而不是一个干巴巴的错误代码windows提供了一个函数可以将错误代码转换成错误文本描述,这个函数是FormatMessage。 TheFormatMessagefunctionformatsamessagestring.Thefunctionrequiresamessagedefinitionasinput
wangqiulin123456
·
2012-11-12 20:00
编程
c
c
windows
windows
错误
处理
Windows核心编程
学习文档
一、CreateProcessCreateProcess为启动进程函数:下面已启动NOTEPAD记事本进程为例阐述CreateProcess,函数的用法; lpApplicationName:可执行文件的名称,(可不包含路径)。如果该参数为NULL,那必须在参数lpCommandLine中传递文件名称。lpCommandLine:传递给执行的文件的命令行参数。如果lpApplicationName
xlm289348
·
2012-11-11 16:00
【
Windows核心编程
】Windows常见数据类型
一,常见数据类型WORD: 16位无符号整形数据DWORD: 32位无符号整型数据(DWORD32)DWORD64: 64位无符号整型数据INT: 32位有符号整型数据类型INT_PTR: 指向INT数据类型的指针类型INT32: 32位符
tianshuai11
·
2012-11-08 22:00
DllMain中不当操作导致死锁问题的分析--DisableThreadLibraryCalls对DllMain中死锁的影响
《
windows核心编程
》作者在讨论DllMain执行序列化的时候,曾说过一个他的故事:他试图通过调用DisableThreadLibraryCalls以使得新线程不在调用DllMain从而解决死锁问题
breaksoftware
·
2012-11-07 20:00
WideCharToMultiByte和MultiByteToWideChar函数的用法
这两个系统函数在使用时需要指定代码页,在实际应用过程中遇到乱码问题,然后重新阅读《
Windows核心编程
》,总结出正确的用法。
wazhl
·
2012-10-31 11:00
远程线程注入(一)编写动态链接库
参考的书本是《WindowsAPI开发详解---函数、接口、编程实例》和《
windows核心编程
》首先我们从编写一个dll开始。为了统一起见,下面的代码中所有函数全部使用宽字符版本。
gaoxin1076
·
2012-10-26 22:00
Windows核心编程
学习笔记(19)--内核模式下的线程同步2
Drecik学习经验分享转载请注明出处:http://blog.csdn.net/drecik__/article/details/8105302 1.互斥量内核对象互斥量内核对象用来确保一个线程独占对一个资源的访问,该对象包含一个使用计数、线程ID以及递归计数。互斥量的行为和关键段完全相同,但是互斥量是内核对象,而关键段是用户模式下的,所以互斥量比内核对象慢的多。但不同进程中的线程可以访问同一个
Drecik__
·
2012-10-25 09:00
VC常用代码之输出调用出错信息
在《
Windows核心编程
》中提到过一种办法,现整理代码如下:LPVOIDlpMsgBuf; DWORDdw=GetLastError(); Forma
WUYUAN2011WOAINI
·
2012-10-22 22:00
编程
windows
null
System
buffer
Windows核心编程
学习笔记(15)--进程和线程与CPU的关联性
Drecik学习经验分享转载请注明出处:http://blog.csdn.net/drecik__/article/details/8096253 默认情况下,WindowsVist或以后版本在给线程分配CPU时,使用软关联,即如果其他因素一样,系统将是线程在上一次运行的处理器上运行。Windows还支持硬关联,即可以控制线程在某些特定CPU上运行(如果有多个CPU的话),可以使用SetProce
Drecik__
·
2012-10-21 21:00
Windows核心编程
学习笔记(14)--进程和线程的优先级
Drecik学习经验分享转载请注明出处:http://blog.csdn.net/drecik__/article/details/8095467 1.进程优先级Windows支持6个优先级类,从小到大分别为:idle,blownormal,normal,abovenormal,high,real-time。其中normal是在ui常用的优先级类,为99%的用户使用。real-time:此进程中的
Drecik__
·
2012-10-21 17:00
thread
编程
windows
任务
磁盘
程序开发
Windows核心编程
学习笔记(13)--浅谈线程上下文
Drecik学习经验分享转载请注明出处:http://blog.csdn.net/drecik__/article/details/8095311 系统使用CONTEXT对象来记住线程的状态,这样线程在下一次获得CPU可以运行时,就可以从上次停止处继续,WinNT.h的头文件中给出了CONTEXT的数据结构,但是需要注意的是,成员的具体情况取决于Windows运行在什么CPU上。下面给出CONTE
Drecik__
·
2012-10-21 15:00
thread
数据结构
编程
windows
struct
extension
Windows核心编程
学习笔记(12)--线程与进程运行的时间
Drecik学习经验分享转载请注明出处:http://blog.csdn.net/drecik__/article/details/8093724 如果是一般精度要求可以使用GetThreadTimes和GetProcessTimes函数来获取时间,原型如下://以下获得的时间都是以100ns为单位,从1601/01/01子时开始计算的时间; BOOLGetThreadTimes( HANDL
Drecik__
·
2012-10-20 19:00
Delphi 预编译指令
《Delphi下深入
Windows核心编程
》(附录ADelphi编译指令说明)Delphi快速高小的编译器主要来自ObjectPASCAL的严谨,使用Delphi随时都在与编译器交流,大部分情况下不需要干涉编译器的运行
yanjiaye520
·
2012-10-20 09:00
windows
Parameters
Delphi
编译器
optimization
Constants
Windows核心编程
学习笔记(11)--线程调度
Drecik学习经验分享转载请注明出处:http://blog.csdn.net/drecik__/article/details/8091304 线程的挂起与恢复在线程对象中有一个值表示线程的挂起计数,在调用CreateProcess或CreateThread时,系统将创建线程的内核对象,并把挂起计数初始化为1,因为线程初始化需要时间,这样可以防止线程在初始化的时候被执行。在线程初始化之后,Cr
Drecik__
·
2012-10-19 20:00
Windows核心编程
学习笔记(9)--线程创建与结束线程
Drecik学习经验分享转载请注明出处:http://blog.csdn.net/drecik__/article/details/8086020 创建线程之前的准备每个线程必须有一个入口点函数,这个是线程执行的起点,所以创建线程前必须先声明或定义,函数原型DWORDWINAPIThreadFunc(PVOIDpParam);注意:函数名可以自己取。线程函数应该尽可能使用函数参数和局部变量。创建线
Drecik__
·
2012-10-18 16:00
编程
windows
活动
null
attributes
winapi
Windows核心编程
学习笔记(8)--作业
Drecik学习经验分享转载请注明出处:http://blog.csdn.net/drecik__/article/details/8085844 什么是作业?作业是一个Windows提供的内核对象,它允许我们将进程组合在一起并创建一个“沙箱”来限制进程能够做什么。可以将作业对象想象成一个进程容器。作业的相关函数//查询线程是否在某个线程是否在指定作业中; BOOLIsProcessInJob(
Drecik__
·
2012-10-18 15:00
数据结构
编程
windows
null
作业
attributes
Windows核心编程
学习笔记(7)--进程详谈2
Drecik学习经验分享转载请注明出处:http://blog.csdn.net/drecik__/article/details/8082956 结束进程 结束进程可以通过下面四种方式:主线程的入口点函数返回(强烈推荐的方式)让主线程从入口点函数返回可以保证一下操作会被进行:l 该线程创建的任何C++对象将调用其析构函数销毁l 操作系统正确释放线程栈使用的内存l 系统将进程的退出代码设为入口点函
Drecik__
·
2012-10-17 21:00
Windows核心编程
学习笔记(5)--系统版本
Drecik学习经验分享转载请注明出处:http://blog.csdn.net/drecik__/article/details/8080246 最开始是使用GetVersion函数,但是现在已经舍弃了,就不介绍现在一般是使用GetVersionEx函数,该函数传入一个OSVERSIONINFO的结构体指针,函数返回时填充该结构体typedefstruct_OSVERSIONINFOW{ DW
Drecik__
·
2012-10-17 11:00
Windows核心编程
学习笔记(4)--环境变量值的获取
Drecik学习经验分享转载请注明出处:http://blog.csdn.net/drecik__/article/details/8079927 一种方法是可以调用GetEnvironmentStrings来获取全部的环境变量字符串,但这样做的坏处是需要自己解析环境变量,所以着重介绍后一种方法另一种方法可以调用GetEnvironmentVariable来获得某一项环境变量的值,具体用法:voi
Drecik__
·
2012-10-17 09:00
Windows核心编程
学习笔记(3)--获得可执行文件的实例和dll文件的实例句柄
Drecik学习经验分享转载请注明出处:http://blog.csdn.net/drecik__/article/details/8079742 获得可执行或DLL文件的实例句柄,可以使用函数GetModuleHandle函数来获得HMODULEGetModuleHandle(LPCSTRlpModuleName);参数为要加载的可执行文件或DLL名,当传入NULL的时候返回的是当前可执行文件的
Drecik__
·
2012-10-17 09:00
编程
windows
Module
null
dll
Windows核心编程
学习笔记(2)--Unicode与ANSI字符
Drecik学习经验分享转载请注明出处:http://blog.csdn.net/drecik__/article/details/8078848WindowsAPI函数基本上都有Unicode版和ANSI两个版本的函数,但是其实调用ANSI函数最终结果还是调用Unicode版本实现,所以开发时是用Unicode编码能提高效率和降低是用内存。尽量是用安全字符串处理函数,在原有版本上加_s或者Str
Drecik__
·
2012-10-16 21:00
编程
windows
api
测试
null
Windows核心编程
学习笔记(1)--显示GetLastError错误的详细信息
Drecik学习经验分享转载请注明出处:http://blog.csdn.net/drecik__/article/details/8078785 使用函数FormatMessage函数来查找错误信息,具体操作查看代码BOOLShowErrorInfo(DWORDdwError) { HLOCALhLocal=NULL; //使用系统默认语言返回错误信息; DWORDdwSystemL
Drecik__
·
2012-10-16 20:00
《
windows核心编程
系列》七谈谈用户模式下的线程同步
http://blog.csdn.net/ithzhang/article/details/8066658转载请注明出处!用户模式下的线程同步 系统中的线程必须访问系统资源,如堆、串口、文件、窗口以及其他资源。如果一个线程独占了对某个资源的访问,其他线程就无法完成工作。我们也必须限制线程在任何时刻都能访问任何资源。比如在一个线程读内存时要限制其他线程对此块内存进行写入。 线程之间的通信很重
ithzhang
·
2012-10-13 09:00
数据结构
编程
工作
windows
编译器
winapi
《
windows核心编程
系列》七谈谈用户模式下的线程同步
http://blog.csdn.net/ithzhang/article/details/8066658转载请注明出处! 用户模式下的线程同步 系统中的线程必须访问系统资源,如堆、串口、文件、窗口以及其他资源。如果一个线程独占了对某个资源的访问,其他线程就无法完成工作。我们也必须限制线程在任何时刻都能访问任何资源。比如在一个线程读内存时要限制其他线程对此块内存进行写入。 线程之间的
xitong
·
2012-10-13 09:00
windows
《
Windows核心编程
》---CAPIHook类
封装CAPIHook类:(某本书的笔记)1)HOOK所有模块HOOK一个进程对某个API的调用时,不仅要修改主模块的导入表,还必须遍历此进程的所有模块,替换掉每个对目标API的调用:voidCAPIHook::ReplaceIATEntryInOneMod(LPSTRpszExportMod,PROCpfnCurrent,PROCpfnNew,HMODULEhModCaller){//取得模块的导
cosmoslife
·
2012-10-12 18:03
Windows编程
通过Windbg利用VMware虚拟机进行双机调试
看《
Windows核心编程
》总是想把每一个细节都搞明白,所以调试内核是必不可少的,不想使用Win7下的本地内核调试。索性拿出《寒江独钓》配置一下虚拟机,双机调试XP系统吧。
SR0ad
·
2012-10-09 13:51
《
windows核心编程
系列 》六谈谈线程调度、优先级和关联性
http://blog.csdn.net/ithzhang/article/details/8046723转载请注明出处! 线程调度、优先级和关联性 每个线程都有一个CONTEXT结构,保存在线程内核对象中。大约每隔20mswindows就会查看所有当前存在的线程内核对象。并在可调度的线程内核对象中选择一个,将其保存在CONTEXT结构的值载入cpu寄存器。这被称为上下文切换。大约又过20
xitong
·
2012-10-08 08:00
windows
《
windows核心编程
系列 》六谈谈线程调度、优先级和关联性
http://blog.csdn.net/ithzhang/article/details/8046723转载请注明出处!线程调度、优先级和关联性 每个线程都有一个CONTEXT结构,保存在线程内核对象中。大约每隔20ms windows就会查看所有当前存在的线程内核对象。并在可调度的线程内核对象中选择一个,将其保存在CONTEXT结构的值载入cpu寄存器。这被称为上下文切换。大约又过20
ithzhang
·
2012-10-08 08:00
多线程
数据结构
编程
windows
Integer
任务
《
windows核心编程
系列》五谈谈线程基础
http://blog.csdn.net/ithzhang/article/details/8046721,转载请注明出处! 线程基础 与前面介绍的进程一样,线程也有两部分组成。一个是线程内核对象。它是一个数据结构,操作系统用它来管理线程以及用它来存储线程的一些统计信息。另一个是线程栈,用于维护线程执行时所需的所有函数参数和局部变量。位于同一个进程的线程共享进程的地址空间且它们共享进程句柄表。
xitong
·
2012-10-08 07:00
windows
《
windows核心编程
系列》五谈谈线程基础
http://blog.csdn.net/ithzhang/article/details/8046721,转载请注明出处! 线程基础 与前面介绍的进程一样,线程也有两部分组成。一个是线程内核对象。它是一个数据结构,操作系统用它来管理线程以及用它来存储线程的一些统计信息。另一个是线程栈,用于维护线程执行时所需的所有函数参数和局部变量。位于同一
ithzhang
·
2012-10-08 07:00
多线程
数据结构
编程
windows
Microsoft
attributes
学习总结(2012-9-27)
学习总结(2012-9-27) 最近又重拾MFC,也在看
Windows核心编程
(第五版),下面总结一些东西,分享给大家:一、_T()函数 _T("")是一个宏,其作用是让你的程序支持Unicode
zyw_anquan
·
2012-09-27 11:00
数据结构
windows
socket
网络
网络应用
internet
对ANSI和Unicode的一点理解
最近在读《
Windows核心编程
》,加上一个批处理程序的需求,渐渐对ANSI跟Unicode字符有些理解了。在这里写个小结。1、运算wchar_tstrW[100]=L"这是个..."
Sera_ph
·
2012-09-25 17:00
QQ盗号的核心技术(1)
对于
Windows核心编程
,本人还是一只菜鸟,前一段时间把《Windows系统编程》粗略的看一边(当然重点地方仔细的看),由于对于C++有点基础,感觉学起来比较容易上手。
liuliujim
·
2012-09-24 23:32
技术
的
QQ盗号的核心技术
QQ盗号的核心技术(1)
对于
Windows核心编程
,本人还是一只菜鸟,前一段时间把《Windows系统编程》粗略的看一边(当然重点地方仔细的看),由于对于C++有点基础,感觉学起来比较容易上手。
·
2012-09-24 23:32
技术
的
QQ盗号的核心技术
Dll释放可执行文件
不明白的可以参考我的博客《
windows核心编程
系列》谈谈dll。http://blog.csdn.net/ithzhang/art
ithzhang
·
2012-09-19 14:00
编程
windows
null
dll
exe
FP
Dll释放可执行文件
不 明白的可以参考我的博客《
windows核心编程
系列》谈谈dll。http://blog.csdn.net/ithzhang/artic
xitong
·
2012-09-19 14:00
dll
Windows核心编程
第3章 内核对象
Windows核心编程
第3章内核对象3.1什么是内核对象内核对象就是内核中的一块内存,是一个结构,并且只能由内核对象访问,应用程序只能通过调用Windows提供的函数来操作内核对象。
Leichelle
·
2012-09-18 16:00
编程
windows
Security
null
Access
attributes
Windows核心编程
第3章 内核对象
Windows核心编程
第3章内核对象3.1什么是内核对象内核对象就是内核中的一块内存,是一个结构,并且只能由内核对象访问,应用程序只能通过调用Windows提供的函数来操作内核对象。
Leichelle
·
2012-09-18 16:00
编程
windows
Security
null
Access
attributes
Windows核心编程
第4章 进程
Windows核心编程
第4章进程进程由两部分组成:操作系统管理进程的内核对象。存放该进程的统计信息的地方。地址空间,包含可执行模块和DLL模块的代码和数据。动态分配的内存(线程堆栈和堆)。
Leichelle
·
2012-09-18 16:00
编程
windows
Microsoft
null
attributes
winapi
《
windows核心编程
系列》谈谈ANSI和Unicode字符集 .
使用vc编程时项目--》属性--》常规栏下我们可以设置项目字符集合,它可以是ANSI(多字节)字符集,也可以是unicode字符集。一般通过该选项设置为UNICODE时,本质相当于定义了UNICODE/_UNICODE宏,只是该宏不能在项目==》属性==》C/C++==》预处理中找到。 一般情况下说Unicode都是指UTF-16。也就是说每个字符编码为两个字节。65535个字符可以表示世界
guzhouke19910920
·
2012-09-16 22:00
编程
windows
Microsoft
语言
character
编译器
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他