2、进程的命令行

创建一个新进程时,要传递一个命令行(几乎永远不会为空)用于创建新进程的可执行文件的名字时命令行上的第一个标记。

A: 当 C运行期的启动代码开始运行的时候,要检索进程的命令行,跳过可执行文件的名字,并将指向命令行其余部分的指针传递给WinMain的pszCmdLine参数。(pszCmdLine参数总是指向一个A N S I字符串。将WinMain改为wWinMain,就能够访问进程的Unicode版本命令行)

B: 如果我想修改命令行,首先我要将命令行拷贝到应用程序的本地缓存中,然后再修改本地缓存。

C:可以调用GetCommandLine函数来获得一个指向进程的完整命令行的指针。

PTSTR GetCommandLine();

该函数返回一个指向包含完整命令行的缓存的指针,该命令行包括执行文件的完整路径名。

D: CommaneLineToArgvW负责在内部分配内存。大多数应用程序不释放该内存,它们在进程运行终止时依靠操作系统来释放内存。这是完全可行的。

3、进程的环境变量

每个进程都有一个与它相关的环境块。环境块是进程的地址空间中分配的一个内存块。每个环境块都包含一组字符串。每个字符串的第一部分是环境变量的名字,后跟一个等号,等号后面是要赋予变量的值。变量中的空格是有意义的。

应用程序也可以使用各种注册表函数来修改这些注册表项目。

子进程可以继承一组与父进程相同的环境变量。但是,父进程能够控制子进程继承什么环境变量,指的是子进程获得父进程的环境块拷贝,子进程与父进程并不共享相同的环境块。即子进程能够添加、删除或修改它的环境块中的变量,而这个变化在父进程的环境块中却得不到反映。

A: GetEnvironmentVariable函数可以确定某个环境变量是否存在以及它的值

DWORD GetEnvironmentVariable(PCTSTR pszName, PTSTR pszValue,

DWORD cchvalue);

pszName为变量名,pszValue指向用于存放变量值的缓存,cchValue用于指明缓存的大小(用户字符来表示)。该函数可以返回拷贝到缓存的字符数,如果在环境中找不到该变量名,也可以返回0。

B: SetEnvironmentVariable函数来添加、删除、修改变量的值。

BOOL SetEnvironmentVariable(PCTSTR pszName, PCTSTR pszValue)

将pszName参数标识的变量设置为pszValue参数标识的值。如果变量已经存在就修改该值。如果指定的变量不存在,便添加该变量,如果pszValue是NULL,便从环境块中删除该变量。

转载于:https://www.cnblogs.com/dyufei/archive/2009/04/26/2574009.html

第四章 进程(3)进程的命令行环境变量相关推荐

  1. 《Linux进程概念,进程创建退出等待替换,环境变量等基础操作 ---总结》

    前言 Linux系统的进程概念,进程状态,以及操作创建进程,还有环境变量及相关指令,程序地址空间等一些知识的梳理,将自己的理解总结如下,希望和各位一起进步,一起学习. 以下是本篇文章正文内容. 文章目 ...

  2. Python学习入门基础 -- 第四章 列表、元组、字典、字符串变量使用、变量进阶

    Python基础入门知识点总结传送门 第一章 认识Python.Python常用集成开发环境PyCharm 第二章 注释.变量基本使用.变量的命名 第三章 运算符.判断if语句.while和for循环 ...

  3. 惊艳的cygwin——Windows下的Linux命令行环境的配置和使用

    5年前倒腾过一次cygwin,当时体验感觉不好.到现在一直用的是GNU utilities for Win32,在Windows的CMD中使用*nix的命令工具包. GNU utilities for ...

  4. uboot命令集环境变量

    文章目录 前言 命令集 环境变量 uboot中对Flash和DDR的管理 前言 uboot的命令因为适配自己的硬件,基本都经过裁剪,所以自己的命令集和其用法可能会有缺失 uboot文章连载: 1.ub ...

  5. 数据整理与命令行环境

    数据整理 正则表达式 介绍 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串.将匹配的子串替换或者从某个串中取出符合某 ...

  6. linux回到桌面的命令符_Linux命令行环境与桌面环境护切换

    1.前言 在大部分情况下,我们在使用Linux时习惯使用命令行环境,但是有时候也还是会使用到安装桌面环境,所以在这里介绍一下如何给没有安装桌面环境的系统安装桌面环境.以Centos 6.5 为例演示一 ...

  7. Linux桌面环境与命令行环境切换快捷键,以及linux 图形界面 X Server 关闭 启动

    1 Linux桌面环境与命令行环境切换快捷键 1.从linux桌面环境切换到命令行终端 Ctrl+Alt+F1-F6:进入虚拟终端或虚拟控制台,其中F1~F6对应与6个不同的虚拟终端.进入终端输入用户 ...

  8. 【Linux】5.linux下的export命令和环境变量

    linux下的export命令和环境变量 linux中在 profile 或者 bashrc 或者其他类似的文件中设置环境变量时(比如PATH),如果没有export,那么只能在直接启动的shell中 ...

  9. php 命令行 php.ini,php web环境和命令行环境下查找php.ini的方法分享

    php web环境和命令行环境下查找php.ini的位置 php.ini 是php运行的配置文件,不是一个必须使用的文件.不过通常php程序运行都需要加载php.ini文件. php.ini 提供了一 ...

最新文章

  1. 巧妙算法:找出数组中消息的数字
  2. reactjs组件的生命周期函数:getSnapshotBeforeUpdate更新之前获取快照
  3. Redis搭建及介绍
  4. Java之HashMap用法
  5. wordpress插件_哪个是最好的WordPress画廊插件? (性能比较)
  6. 光纤猫连接路由器_CodingPark编程公园
  7. HDU4565 So Easy! (矩阵)
  8. 云计算、大数据和人工智的区别和联系
  9. 浙大远程教育计算机小抄,一张A4纸能写多少个字?看完浙大考生的“小抄”,网友:稳过!...
  10. 台式计算机键盘进水了还能用,台式电脑键盘进水了怎么办
  11. [Java]public T void method,此地泛型的意思
  12. 6月9日の勉強レポート
  13. 解决 i5 6500 安装黑苹果 Sierra 显卡不正常问题
  14. 同样是做IT技术,人家为什么能在业余轻松赚钱
  15. 容器化技术与微服务结合---结合springcloud微服务框架进行部署(含切换成阿里云docker仓库)(五)
  16. 调用华为云GES服务业务面API相关参数的获取
  17. 越来越「保守」的索尼,还能满足下一代玩家吗?
  18. 农村现在做什么可以在家创业?
  19. Android - 通知Notification
  20. WeakMap弱引用

热门文章

  1. 访问Mat中每个像素的值
  2. ML---Simple Linear Regression
  3. 可降阶的高阶微分方程
  4. H3C PPP MP配置示例二(续)
  5. perl6 中将 字符串 转成十六进制
  6. Linq中使用Left Join 和 Right Join
  7. [Leetcode] Integer to Roman
  8. 请教各位高手!手机要如何访问电脑的tomcat呢!
  9. ajax 加载partial view ,并且 附加validate验证
  10. UI设计入门书籍(未整理)