上一页 1 ··· 3 4 5 6 7 8 9 10 下一页
摘要: 一、WM_COPYDATA: 是一个用来处理接受其它应用程序发送的数据的消息。二、方法 1、获取另一个程序的句柄 2、接受方重载WM_COPYDATA消息 3、将数据放在一个COPYDATASTRUCT结构中三、注意 该消息只能由SendMessage()来发送,而不能使用PostMessage()。因为系统必须管理用以传递数据的缓冲区的生命期,如果使用了PostMessage(),数据缓冲区会在接收方(线程)有机会处理该数据之前,就被系统清除和回收四、代码: 参考:http://blog.csdn.net/morewindows/article/details/6804157 阅读全文
posted @ 2013-09-21 10:42 Fly Hawk 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 一、方法: 1、创建一个边界 2、如何将对应于本地管理员(Local Administrators)的一个安全描述符(security identifier, SID)和它关联起来 3、如何创建或者打开其名称被用途互斥量内核对象前缀的一个专有命名空间。 {边界描述符将获得一个名称,但更重要的是,它会获得与它关联的一个特权用户组的SID,这样一来,Windows就可以确保只有在该用户隶属于这个特权组时,以其身份运行的应用程序才能在相同的边界中创建相同的使空间} 二、代码: //边界句柄 HANDLE g_hBoundary = NULL; //这个不是内核对象,而是一... 阅读全文
posted @ 2013-09-21 10:20 Fly Hawk 阅读(998) 评论(0) 推荐(0) 编辑
摘要: 1、内核对象句柄表:索引指向内核对象内存块的指针访问掩码标志10xF00000000x???????0x00000002、索引值。内核对象的句柄的是HANDLE值(先将HANDLE右移两位,移掉访问掩码和标志就是索引值了)。3、指向内核对象的指针。这个值是内核对象的数据结构的指针,存在于内核区间。4、标志。表示这个内核对象是否可以继承。 阅读全文
posted @ 2013-09-20 21:08 Fly Hawk 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 1、进程的命令行:GetCommandLine,得到一个缓存区的地址,该内存由系统自动释放,也可以拖动释放,用HeapFree2、进程的环境变量: GetEnvironmentStrings,通过FreeEnvironmentStrings来释放它。 还可以通过mian函数的参数env[]来获得。 WM_SETTINGCHANGE这个消息来更新环境块 子进程获得的只是父进程的一环境块的副本,子进程与父进程不共享同一个环境块。3、“进程当前所在的驱动器和目录” 与 “进程的当前目录”: “进程当前所在的驱动器和目录”指的是进程刚运行时,所在驱动器和目录。 “进程的当前目录”则... 阅读全文
posted @ 2013-09-17 08:22 Fly Hawk 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 一、内核对象: 是操作系统为一些系统级别对象维护的一些数据结构。二、内核对象放在什么位置: 内核对象放在进程的内核对象句柄表中,出于安全性与健壮性。三、如何访问内核对象 1.内核对象是通过HANDLE来表示的。 2.只有通过调用WindowsAPI,通过HANDLE来间接操作内核对象。 3.通过内核对象可以操作内核的设备。 4.内核对象有安全权限(SECURITY_ATTRIBUTES)四、内核对象的生命周期: 1.内核对象有一个静态成员用来计数,当内核对象被创建时计数值为1,访问此内核对象,则计数值加1,访问结束,计数值减1,当计数为0,则系统自动释放此内核对象。 2.虽然... 阅读全文
posted @ 2013-09-16 17:54 Fly Hawk 阅读(1856) 评论(0) 推荐(0) 编辑
摘要: 1、Microsoft将COM从16位Windows移植到WIn32时,做出了一个重要决策:所有需要字符串作为参数的COM接口方法都 只接受Unicode字符串。因为COM一般用于让不同组件彼此间进行“对话”,而Unicode是传递字符串最理想的选择。2、当资源编译器译完所有资源后,输出文件就是资源的一个二进制形式。资源中的字符串值 (字符串表、对话框模板、菜单等)始终是以Unicode字符串的形式保存的。3、在每个变量后的内存都会被填充为0xcc,这样是为了能够在自动检测中,检查出缓冲区溢出。4、_countof是一个宏,来获取字符大小。5、GetThreadLocale这个来返回系统的语言 阅读全文
posted @ 2013-09-16 15:41 Fly Hawk 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 1、在调试窗口中输入$err,hr就可以看到GetLastError的值所对应的错误描述,如果输入$err就可以看到错误值,即消息ID。2、FormatMessage可以将错误代码转换成文本描述。 阅读全文
posted @ 2013-09-16 12:12 Fly Hawk 阅读(164) 评论(0) 推荐(0) 编辑
摘要: HANDLE(句柄)是Windows操作系统中的一个概念。在Windows程序中,有各种各样的资源(窗口、图标、光标等),系统在创建这些资源时会为它们分配内存,并返回标示这些资源的标示号,即句柄。句柄指的是一个核心对象在某一个进程中的唯一索引,而不是指针。由于地址空间的限制,句柄所标识的内容对进程是不可见的,只能由操作系统通过进程句柄列表来进行维护。句柄列表:每个进程都要创建一个句柄列表,这些句柄指向各种系统资源,比如信号量,线程,和文件等,进程中的所有线程都可以访问这些资源。 其实就是一堆资源的内存索引值。操作系统直接将数据放在这个区域。你只需要按某种规定去读取就行了。 阅读全文
posted @ 2013-09-11 13:22 Fly Hawk 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 1、system格式:int system(char * command);2、WinExec格式:UINT WinExec( LPCSTR lpCmdLine, // 命令路径 UINT uCmdShow // 显示方式;3、ShellExecute HINSTANCE ShellExecute(... 阅读全文
posted @ 2013-09-11 09:20 Fly Hawk 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 转载自:http://www.yesky.com/20010202/157454.shtml如果你考察过AfxEndDeferRegisterClass()的实现代码,你会对一行代码感到迷惑,下面列出的是AfxEndDeferRegisterClass()的部分代码,带阴影部分的是那一行令人迷惑的代码: BOOL AFXAPI AfxEndDeferRegisterClass(LONG fToRegister) { 。。。。。。 wndcls.lpfnWndProc = DefWindowProc; 。。。。。。 } MFC将所有预定义的窗口类的窗口函数都设置成DefWin... 阅读全文
posted @ 2013-09-09 20:59 Fly Hawk 阅读(414) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 下一页