如何用SendMessage API让修改的系统环境变量立即生效,在线等!!!

问题描述

[DllImport("Kernel32.DLL",SetLastError=true)]publicstaticexternboolSetEnvironmentVariable(stringlpName,stringlpValue);[DllImport("User32.dll",EntryPoint="SendMessage")]privatestaticexternintSendMessage(inthWnd,intMsg,intwParam,intlParam);privatevoidbutton1_Click(objectsender,System.EventArgse){constintHWND_BROADCAST=0xFFFF;constintWM_WININICHANGE=0x001A;strings="Environment";stringstrPath=Environment.GetEnvironmentVariable("PATH");if(strPath.IndexOf(@"C:ProgramFilesIPSGTechnologyProgram")<0){SetEnvironmentVariable("PATH",strPath+";"+@"C:ProgramFilesIPSGTechnologyProgram");}SendMessage(HWND_BROADCAST,WM_WININICHANGE,0,?);--这句不知道怎么写}

解决方案

解决方案二:
设置完毕->重启->生效...
解决方案三:
也许是这样[DllImport("Kernel32.DLL")]publicstaticexternboolSetEnvironmentVariable(stringlpName,stringlpValue);[DllImport("User32.dll")]privatestaticexternintSendMessage(inthWnd,intMsg,intwParam,stringlParam);//changedprivatevoidbutton1_Click(objectsender,System.EventArgse){constintHWND_BROADCAST=0xFFFF;constintWM_WININICHANGE=0x001A;strings="Environment";stringstrPath=Environment.GetEnvironmentVariable("PATH");Text=strPath;if(strPath.IndexOf(@"C:ProgramFilesIPSGTechnologyProgram")<0){SetEnvironmentVariable("PATH",strPath+";"+@"C:ProgramFilesIPSGTechnologyProgram");SendMessage(HWND_BROADCAST,WM_WININICHANGE,0,"PATH");//moveandchanged}}

解决方案四:
楼上的,你那种方法,我试过了,不生效
解决方案五:
没人回答吗?
解决方案六:
你是通过什么方法知道是否生效?

时间: 2024-07-28 19:00:52

如何用SendMessage API让修改的系统环境变量立即生效,在线等!!!的相关文章

设置系统环境变量立即生效的VBS脚本

可以设置环境变量并立即生效, 与Windows批处理不同的是此脚本设置的环境变量可保证重启后一样有用.保存以下内容为 设置环境变量.vbs , 修改要设置的环境变量名即路径即可开始运行设置. Code Set pSysEnv = CreateObject("WScript.Shell").Environment("System") 'Check whether a character string matches a regular expression ' ^\w

writefile-大牛们,请问如何用windows API实现对文本文件的字符删除修改?

问题描述 大牛们,请问如何用windows API实现对文本文件的字符删除修改? RT 想请问大家,想要删除指定的几个字符如何做到.我用WriteFile写入的b会出现乱码,可以这样做么? 解决方案 一些基本常识,文件在计算机里是怎么存的,似乎你不太清楚,我们用最简单的方式来说(真实的文件系统比这个复杂,但是你可以这么理解) 我们在磁盘上划分为两个部分,前面是文件分配表,记录文件名.文件长度.起始地址. 文件则位于磁盘后面,从起始地址到(起始地址+文件长度) 要想追加,直接在起始位置+文件长度的

如何用JavaScript实现动态修改CSS样式表_javascript技巧

看过我写的<用JavaScript动态建立或增加CSS样式表的实现方法>之后,你就很容易想明白如何修改CSS样式表了. 正好今天在论坛碰到一位朋友问这样的一个问题: <style> .ls{width=120px;} </style> <script> //在这里加一句来改变.ls中width的值,如何写 </script> 有的朋友回答:"如果使用.ls的对象很多的话,用JS确实不方便, jquery方便,$(".ls&qu

qt-windows 通过修改注册表修改系统环境变量

问题描述 windows 通过修改注册表修改系统环境变量 求windows (win7以上)通过修改注册表修改系统环境变量后,无需重启,立即生效的方法 解决方案 http://blog.sina.com.cn/s/blog_48670bcd0100seyr.html

使用API函数修改注册表

  使用API函数修改注册表  为了让自己的程序成为自动启动需要修改注册表.下面事例可以供参考 Option Explicit Const REG_SZ = 1Global Const HKEY_LOCAL_MACHINE = &H80000002 Public Declare Function RegOpenKey Lib "advapi32" Alias "RegOpenKeyA" _      (ByVal hKey As Long, ByVal lp

NSIS操作系统环境变量

原文:NSIS操作系统环境变量 手头有个项目需要修改PATH变量 需要!include "EnvVarUpdate.nsh"   以下是NSIS脚本代码 ; Script generated by the HM NIS Edit Script Wizard. !include "StrFunc.nsh" ; HM NIS Edit Wizard helper defines !define PRODUCT_NAME "Setup_Wintech"

linux系统环境变量文件介绍

系统环境变量的查看: [root@localhost ~]# env HOSTNAME=localhost.localdomain SELINUX_ROLE_REQUESTED= TERM=xterm SHELL=/bin/bash HISTSIZE=1000 SSH_CLIENT=192.168.7.105 50641 22 SELINUX_USE_CURRENT_RANGE= QTDIR=/usr/lib/qt-3.3 QTINC=/usr/lib/qt-3.3/includ =======

如何定制Linux操作系统环境变量

Linux是一个多用户的操作系统.每个用户登录系统后,都会有一个专用的运行环境.通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义.用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量. 常见的环境变量 对于PATH和HOME等环境变量大家都不陌生.除此之外,还有下面一些常见环境变量. ◆ HISTSIZE是指保存历史命令记录的条数. ◆ LOGNAME是指当前用户的登录名. ◆ HOSTNAME是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个

MySQL修改my.cnf配置不生效的解决方法_Mysql

本文实例讲述了MySQL修改my.cnf配置不生效的解决方法.分享给大家供大家参考,具体如下: 一.问题: 修改了 my.cnf 配置文件后,却不生效,这是怎么回事? 二.原因: 我们注意到,这里只说了修改 my.cnf,并没有说清楚其绝对路径是哪个文件.也就是说,有可能修改的不是正确路径下的my.cnf文件. 在MySQL中,是允许存在多个 my.cnf 配置文件的,有的能对整个系统环境产生影响,例如:/etc/my.cnf.有的则只能影响个别用户,例如:~/.my.cnf. MySQL读取各