内存映射文件的应用 一,操作系统加载EXE和DLL 二,读写大文件 三,进程间通信      内存映射文件是windows开发下常用的一种技术,既可以用来读写磁盘上的大文件,也可以用来实现进程间的通信,本文主要对内存映射的几大用途做一个简述。 一,操作系统加载EXE和DLL      当一个应用程序启动时,操作系统首先会调用CreateFile来打开磁盘上的.exe文件。接着系统会调用CreateFileMappin…

2021年10月3日 0条评论 15点热度 阅读全文

修改lib库对应的dll名称      在某些场景下,我们需要修改lib库对应的dll名称,如果直接使用notepad++等工具打开lib文件,修改其中的dll名称会直接导致lib文件破坏,vs编译报错。既然不能直接从lib下手,我们可以逆向考虑下,根据dll导出对应的def文件,再根据def文件生成对应的lib库。      我们以一个简单的demo为例,使用vs2017新建一个dll工程,添加一个导出函数: &n…

2021年6月22日 0条评论 10点热度 阅读全文

除了用户态的线程同步,我们可以使用内核对象进行线程的同步。与用户态同步相比,内核态同步耗时要多(用户态内核态切换),但内核同步能够跨进程同步,并使用灵活,以及配套的安全机制。 触发未触发状态 对于内核对象来说,均有触发及未触发状态,其状态转换规则因不同内核对象而异。利用内核对象同步,我们就利用了内核对象的这种状态转换。 等待函数 要进行内核态同步,需要使用等待函数来使为获得等待对象触发状态的线程处于等待状态。常用的等待函数有两个: 等待单个内核对象: DWORD WINAPI WaitForSingleObject…

2015年2月25日 0条评论 3点热度 阅读全文

如何将 Office 应用程序配置为在交互式用户帐户下运行     概要:我们不建议也不支持从无人参与的用户帐户自动运行 Microsoft Office 应用程序。 有关我们为什么不建议在这种情况下自动运行程序的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 257757  (http://support.microsoft.com/kb/257757/ ) 服务器端 Office 自动化应考虑的因素 如果只能从无人参与的用户帐户自动运行 Offic…

2010年6月22日 0条评论 3点热度 阅读全文