![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Windows开发
文章平均质量分 73
黄黄臭臭
前方BUFF我拿不到啊。
展开
-
system权限创建用户权限进程
windows编程的人都知道,在其操作系统下,进程被创建,通常被赋予很多属性,其中一项属性就是用户名,及进程所属的权限。打开任务管理器,可查看到(查看不到,点击查看,选择列即可)通常桌面系统explorer的权限是User权限,即用户权限的,它可以是你administrator,可以是你PC的名字,可以是Guest等,所以我们开启并运行的所有进程都继承它的权限。 若想运行具备system权限的ex原创 2016-12-11 17:20:35 · 6797 阅读 · 1 评论 -
Windows系统服务与用户进程共享内存
通常使用CreateFileMapping的WINAPI函数可以创建共享内存,可以实现在不同进程中访问同一数据,实现通信等。但我们在其他实际编程中会遇到,服务和进程通信的情况,及系统服务与用户进程共同访问共享内存,如果仍然使用这个API,你会发现,在另一个程序中Open时,是无法返回正确的HANDLE的。以下这段代码也是来自 stackoverflow上的,我们以此展开学习const char* s原创 2017-05-02 23:00:37 · 4107 阅读 · 4 评论 -
Windows批处理的应用点滴(~保持)
1. 运行时定位到批处理文件所在目录。(test on win7, win8.1)cd /d "%~dp0"2. 运行批处理自动选择管理员权限确认。(test on win8.1)%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.cl原创 2017-02-20 11:53:13 · 425 阅读 · 0 评论 -
团灭Windows进程通信(七)——主导地位文件映射
文章来源:http://blog.csdn.net/huanglong8/article/details/53954601Windows提供了3种进行内存管理的方法: 虚拟内存,最适合用来管理大型对象或结构数组。 内存映射文件,最适合用来管理大型数据流(通常来自文件)以及在单个计算机上运行的多个进程之间共享数据。 内存堆栈,最适合用来管理大量的小对象。跨进程共享数据的一种方式就是使用内存文件原创 2016-12-31 12:08:07 · 378 阅读 · 0 评论 -
团灭Windows进程通信(一)——别打怪
文章来源:http://blog.csdn.net/huanglong8/article/details/53649615做了Windows编程这么多年,一直没有深入或总结在Windows平台下,进程间是如何进行通信的,有哪些接口可供我们使用,又有哪些功能受到制约。在开发了多个项目和产品后,发现通信这块的技术说基础也基础,但选择合适的技术,可能轮谁都要思考后在做决定。如果,我问你,你通常在项目使用过原创 2016-12-14 23:40:08 · 528 阅读 · 0 评论 -
团灭Windows进程通信(六)——最常用到命名管道
上一章我们提到了匿名管道,匿名管道在处理重定向时,是比较好用的。但局限于管道数量和输入输出的限制,有时并不能满足通信开发工作。这时就要用到命名管道。关于命名管道,网上已有大多数例子和说明参考: 进程间通信 - 命名管道实现命名管道的特点在于它有名字,好使用,可断可连,像socket。同级进程通信,跨网络进程间通信,双向传输代码短,理解简单。阻塞接收消息传递创建命名管道HANDLE WI原创 2016-12-28 00:03:58 · 650 阅读 · 0 评论 -
团灭Windows进程通信(五)——经常听到匿名管道
文章来源:http://download.csdn.net/detail/huanglong8/9720228匿名管道,命名管道,文件映射,这是本地进程通信三大剑客啊,如果你是小白,你一定经常听别人说,也会遇到面试问,如果你是猴子,什么管道的已经烂熟于心,项目中和socket一样,烂到肌肉里,闭着眼睛,都能敲出个所以然来。但。这篇文章是讲个小白听的,并且,也不会讲过多的内存知识,一切以实践优先。所谓原创 2016-12-24 15:17:34 · 520 阅读 · 0 评论 -
团灭Windows进程通信(四)——共享库就是加料的方便面
在上一章中,我们使用最简单的内存共享技术data_seg,在实际的开发中,为了便于管理和维护,通常猿猴们会把它放到外面去,也就是动态库中,在动态库中提供必要的接口,使加载它到进程空间中时,得意访问其共享资源。 注意的事在强调,data_seg在没有任何进程加载时,则会被释放,所以在开发过程中需要额外注意。由于这种机制,导致的数据改变是不会被通知到的,当一个程序修改变量后,需要另外一个程序主动读取才原创 2016-12-20 23:02:09 · 462 阅读 · 0 评论 -
团灭Windows进程通信(三)——共享内存就是方便面
在Windows内核编程中,有提到过共享数据段的内容,如果朋友以为我是要说FileMap文件映射的话,那可就错了,因为我觉得既然要先说共享内存,就要先说最简单,使用最方便的一种方法。在windows下编程,vs有提供给我们很多编译和链接指令,我同大家一样,知道但不熟知,这里大名鼎鼎的就是#pragma了,它是预处理器的一组语法,根绝不同的语法结构和参数可以帮助我们完成各项工作。最简单的共享内存,如下原创 2016-12-20 22:36:03 · 839 阅读 · 0 评论 -
团灭Windows进程通信(二)——剪贴板在中间
说起Windows的剪贴板,大家并不陌生,复制粘贴都需要经历它这一层,那么其剪贴板的实质其实就是一块预先分配好的内存地址,这个地址上存放着用户需要复制的内容或地址。所以,剪贴板其实就是提供了在不同进程间相互通信的发送获取数据的一个共享通道。 关于剪贴版其他的一些定义或意义,网上文章诸多,可以参考:http://www.cnblogs.com/1314NNNKKK/p/3522363.html———原创 2016-12-17 15:53:20 · 771 阅读 · 0 评论 -
WinAPI NET登录与共享映射
最近的开发工作中,有一个小需求需要实现。其主要目的就是通过API实现对远程主机的登录及共享访问。在查阅MSDN之前,我先通过命令行,对这种Samba(net)共享有一个初步的理解。关于samba的说明及意义http://www.jtyun.com.cn/forum.php?mod=viewthread&tid=103 http://blog.csdn.net/shenwansangz/articl原创 2016-12-11 17:28:02 · 508 阅读 · 0 评论 -
切换具有SYSTEM权限的控制台或桌面
通常我们编译运行的大部分程序都是User权限的,也就是说是用户登录权限的,除非写了服务,由服务进行启动的应用程序是具备SYSTEM权限。通常来讲,SYSTEM权限会高于User权限,但部分网络情况往往又需要User权限来运行,所以掌握两者权限的获取与区分也显的较为重要。例如当你的师弟问你手动调用命令无误,前端调用失败时,你就可以告诉他,切换到system权限下进行运行调试,从而装逼成功。在windo原创 2016-12-11 17:15:55 · 2809 阅读 · 0 评论 -
命令行使windows环境变量立即生效
命令行使windows环境变量立即生效用户变量和环境变量对于Windows系统级应用开发有着至关重要的意义。最重要的一项功能便是我们可以通过DOS命令行或运行时指令进行本地过程调用,从而避免诸多路径相关的问题,例如冗长的路径字符串造成的溢出,短路径未设置,长路径带空格,路径前后双引号命令无效等。对于大型集成系统而言,集成框架,集成脚本等一系列第三方应用,也需要设置很多环境变量,这一点体现在它们的do原创 2016-12-11 17:06:59 · 7568 阅读 · 1 评论 -
SVCHOST启动服务实战
转载出处: https://sanwen8.cn/p/2cenbHs.htmlSvchost.exe 是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。这个程序对系统的正常运行是非常重要。转载 2017-04-24 23:34:06 · 10071 阅读 · 1 评论