Windows系统编程之进程间通信】的更多相关文章

Windows系统编程之进程间通信作者:北极星2003来源:看雪论坛(www.pediy.com)Windows 的IPC(进程间通信)机制主要是异步管道和命名管道.(至于其他的IPC方式,例如内存映射.邮槽等这里就不介绍了)管道(pipe)是用于进程间通信的共享内存区域.创建管道的进程称为管道服务器,而连接到这个管道的进程称为管道客户端.一个进程向管道写入信息,而另外一个进程从管道读取信息.异步管道是基于字符和半双工的(即单向),一般用于程序输入输出的重定向:命名管道则强大地多,它们是面向消息…
Windows系统编程之异步I/O和完成端口[作者]北极星2003[来源]看雪技术论坛(bbs.pediy.com) [时间]2006年7月1日 一.  同步I/O和异步I/O 在介绍这部分内容之前先来认识下“异步I/O”.  说起异步IO,很容易联想到同步I/O,对于同一个I/O对象句柄在同一时刻只允许一个I/O操作,其原理如下图所示:  显然,当内核真正处理I/O的时间段(T2~T4),用户线程是处于等待状态的,如果这个时间段比较段的话,没有什么影响:倘若这个时间段很长的话,线程就会长时间处…
试验过程中调用了不少系统函数,并且涉及到一些系统级的概念,在此记录下来做为解决问题的一种方式.也许在以后的编程的过程中是否可以通过调用系统平台上的东西来完成一些任务,这仍不失为一种好的思维方式. 多线程编程时通常要考虑到进程是否已经结束,进程等待等问题.那么你需要这两个函数(WaitForSingleObject,WaitForMultipleObjects)来帮助你判断是否进程已经结束,接下来的两个小时,我们来做一下关于这两个函数的试验.体验一下内核状态下的这些东西. #include<ios…
进程间通信-mmap #include <sys/mman.h> void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); int munmap(void *addr, size_t length); mmap本质是把内存与硬盘上的文件同步.某块内存中的内容会同步到硬盘文件上,即把文件映射到内存.故通过对同一文件的读写达到进程间的通信. 參数解释: addr:指定对哪儿块内存实行映射. N…
进程间通信-fifo 进程间通信的还有一种方式是fifo. fifo是还有一种管道:有名管道.从名字能够看出.它也是队列. 使用fifo通信前,得先创建fifo $ mkfifo myfifo 随后仅仅需对myfifo像文件一样使用即可. fifo_w.c #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <sys/sta…
编程实现Windows系统自动登录 原理: 通过注册表修改实现.Windows内置了自动登录的机制,在登录系统时,winlogon会检查注册表下有没有设置自动登录,如果设置了就上就会读取用户名和密码,然后进行验证,通过后就登录进系统了. 方法: 注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 键值: 键值 设置值 作用 AutoAdminLogon 1; 1表示自动登录,0表示禁止自动登录…
进程间通信的方式有很多种,其底层原理使用的都是内存映射文件. 本文实现了Windows核心编程第五版475页上的demo,即使用内存映射文件来在进程间通信. 进程1 按钮[Create  mapping of Data]用来创建命名内存映射文件,后备存储器为页交换文件,而非磁盘上的文件,大小为4K,将全部大小映射到进程地址空间,将Data中的数据写入该内存映射文件,然后撤销对文件视图的映射.注意在进程1里不能CloseHandle(m_hFileMapping) 进程2 按钮[Open mapi…
管道的概述 管道也叫无名管道,它是是 UNIX 系统 IPC(进程间通信) 的最古老形式,全部的 UNIX 系统都支持这样的通信机制. 无名管道有例如以下特点: 1.半双工,数据在同一时刻仅仅能在一个方向上流动. 2.数据仅仅能从管道的一端写入,从还有一端读出. 3.写入管道中的数据遵循先入先出的规则. 4.管道所传送的数据是无格式的,这要求管道的读出方与写入方必须事先约定好数据的格式,如多少字节算一个消息等. 5.管道不是普通的文件,不属于某个文件系统,其仅仅存在于内存中. 6.管道在内存中相…
由于大家普遍使用 Windows 系统,所以本文只介绍 Windows 系统中 Python 环境的安装. 在 Windows 中安装 Python 与安装普通软件没什么差别,下载所需版本的安装包后,点击"下一步"即可,需要注意的是在每一步界面中可以进行一些勾选设置,具体内容请参见下文. 目录 1 Python 安装包下载 2 安装 Python 3 关于 IDLE 4 如何运行一个Python程序 4.1 Python 交互式编程 4.2 编写 Python 代码源文件 1 Pyth…
环境准备: pywin32的安装在第八章的键盘记录中有,这里还需要安装wmi: 在本人的32位win7上本来是没有easy_install这个命令的,这需要安装setuptools-0.6c11.win32-py2.7.exe即可 http://www.sobaidupan.com/file-3739339.html 接着下载安装bhpservice.zip:https://www.nostarch.com/download/bhpservice.zip 安装步骤按下载下来的文档来进行即可,安装…