malloc-为什么SetEnvironmentVariable没有修改环境变量

问题描述

为什么SetEnvironmentVariable没有修改环境变量
    PTSTR pszEnvironmentName = NULL;
    PTSTR pszEnvironmentValue = NULL;
    DWORD dwValueLength = 0;

    pszEnvironmentName = (PTSTR)malloc(MAX_PATH * sizeof(TCHAR));
    GetDlgItemText(hDlg, IDD_EDIT_NAME, pszEnvironmentName, MAX_PATH);

    pszEnvironmentValue = (PTSTR)malloc(1024 * sizeof(TCHAR) * 3);
    GetDlgItemText(hDlg, IDD_EDIT_VALUE, pszEnvironmentValue,
        1024 * sizeof(TCHAR) * 3);

    if (SetEnvironmentVariable(pszEnvironmentName, pszEnvironmentValue))
    {
        MessageBox(hDlg, TEXT("修改成功!"), TEXT("成功"), MB_OK);
    }
    else
    {
        MessageBox(hDlg, TEXT("修改失败!"), TEXT("失败"), MB_OK);
    }

    //释放分配的内存
    free(pszEnvironmentValue);
    free(pszEnvironmentName);

解决方案

参考:http://www.cnblogs.com/runliuv/p/3489427.html

解决方案二:

是修改的用户环境变量还是系统环境变量。你要查看一下。

时间: 2025-01-29 22:13:54

malloc-为什么SetEnvironmentVariable没有修改环境变量的相关文章

C#修改环境变量的问题

问题描述 由于一些原因在一个服务器上装了两个oracle数据库,分别是8i和11G.8i中有两个连接,一个导出数据的连接,一个导入数据的连接,导入前就必须删除原来的表,这步就由程序来自动完成,问题就出在自动删除这一步,下面是代码:privatevoidGetBackSql(){stringpath8i="E:\oracle8\ora81\bin;E:\app\Administrator\product\11.1.0\db_1\bin;C:\ProgramFiles\Oracle\jre\1.1.

Linux系统下修改环境变量PATH路径的三种方法

  电脑中必不可少的就是操作系统.而Linux的发展非常迅速,有赶超微软的趋势.这里介绍Linux的知识,让你学好应用Linux系统.比如要把/etc/apache/bin目录添加到PATH中,方法有三: 1.#PATH=$PATH:/etc/apache/bin 使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH 设置就会失效 2.#vi /etc/profile 在适当位置添加 PATH=$PATH:/etc/apache/bin (注意:= 即等号两边不能有任何空格)

Linux有问必答:如何在Linux中修改环境变量PATH

Linux有问必答:如何在Linux中修改环境变量PATH 提问: 当我试着运行一个程序时,它提示"command not found". 但这个程序就在/usr/local/bin下.我该如何添加/usr/local/bin到我的PATH变量下,这样我就可以不用指定路径来运行这个命令了. 在Linux中,PATH环境变量保存了一系列的目录用于用户在输入的时候搜索命令.PATH变量的值由一系列的由冒号分隔的绝对路径组成.每个用户都有特定的PATH环境变量(由系统级的PATH变量初始化)

Linux中修改环境变量及生效方法_Linux

在/etc/profile文件中添加变量[对所有用户生效(永久的)] 用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是"永久的". 要让刚才的修改马上生效,需要执行以下代码 source /etc/profile 以上这篇Linux中修改环境变量及生效方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持. 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索

Linux中修改环境变量PATH

PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻.用以下命令可以看到 PATH的值. $ echo $PATH 例如,在主机中,用户yogin的PATH值为: /opt/kde/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/yogin/bin 其中":"为分隔符.所以,上面的一串目录可以看成是如下的目录列表. /opt/kde/bin /usr/local/bin /bin:/usr/bin /u

Linux中修改环境变量

<1>Linux 的变量作用范围可分为两类:环境变量和本地变量 环境变量,或者称为全局变量,存在与所有的shell 中,在你登陆系统的时候就已经有了相应的系统定义的环境变量了.Linux 的环境变量具有继承性,即子shell 会继承父shell 的环境变量. 本地变量,当前shell 中的变量,很显然本地变量中肯定包含环境变量.Linux 的本地变量的非环境变量不具备继承性. set 用于显示与设置当前本地 变量.单独一个set 就显示了当前环境的所有的变量,它肯定包括环境变量和一些非环境变量

docker下开发,修改环境变量启动jetty

1,本地测试docker程序 遇到问题:docker程序使用系统的环境变量启动的. 在服务器运行的时候是可以的,但是在本地启动的时候就补行了. 因为本地没有配置环境变量. 一种办法直接设置系统的环境变量,但是切换起来比较麻烦. 于是研究下jetty还是有参数可以进行配置的. http://stackoverflow.com/questions/3231797/specify-system-property-to-maven-project 不影响使用 2,直接在maven里面配置 直接配置就行:

Win7系统中的环境变量PATH怎么修改

  方法一.通过命令设置环境变量 1.打开"开始→运行",在运行框中"cmd",回车打开命令提示符窗口; 2.在打开的命令提示符窗口中,输入"path",回车就可查看环境变量设置; 3. 更改环境变量有两种情况: 一是追加方式,就是在不改变环境变量现有设置的情况下,增加变量的值,比如要给环境变量增加一个值为"D:Python"的设置,可以输入"path=%path%;D:Python";而另一种是完全修改方

修改CentOS的环境变量

一直用fedora系列,但被软件研发告知,fedora13有兼容性问题,建议我用centos,不得已换之. centos是基于redhat服务器版本编译而成,更适合于服务器应用. 试了试一些常用命令都OK,在使用ifconfig, service等命令时报错.. 这些命令都位于/sbin目录下,但CentOS系统环境变量设定中没有/sbin目录,需要手动修改环境变量, 临时用一下也可以使用/sbin/ifconfig这样带上路径执行,或者临时设置环境变量路径. 这是环境变量设置导致,需要使用ex