吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 607|回复: 10
收起左侧

[求助] C++如何调用另一个cmd exe不让他继承自身环境变量

[复制链接]
头像被屏蔽
tonyfeng 发表于 2024-1-31 09:17
提示: 作者被禁止或删除 内容自动屏蔽

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

苏紫方璇 发表于 2024-1-31 09:33
CreateProcess的lpEnvironment参数可以设置环境变量吧
头像被屏蔽
 楼主| tonyfeng 发表于 2024-1-31 10:58
qqLinux 发表于 2024-1-31 11:02
有个系统api,这个api可以改变环境变量,先备份,然后清空,运行之后重新备份就可以了。(SetEnvironmentVariable, setenv)
苏紫方璇 发表于 2024-1-31 12:17
tonyfeng 发表于 2024-1-31 10:58
设置了NULL也没有用
STARTUPINFO si;
        PROCESS_INFORMATION pi;

msdn是这样写的
A pointer to the environment block for the new process. If this parameter is NULL, the new process uses the environment of the calling process.
设置NULL会继承调用方的环境块
https://learn.microsoft.com/en-u ... sapi-createprocessa
无闻无问 发表于 2024-1-31 13:09
main的第三个参数设置试试
fuhohua 发表于 2024-1-31 13:51
你先在第一个程序中现复制原始的环境变量,然后再设置SetEnvironmentVariable("PATH", L"D:\\Program Files\\TEST\\");,你打开第二个程序的时候,把原来复制的环境变量传过去就好了
头像被屏蔽
 楼主| tonyfeng 发表于 2024-1-31 13:57
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽
 楼主| tonyfeng 发表于 2024-1-31 14:00
提示: 作者被禁止或删除 内容自动屏蔽
fuhohua 发表于 2024-1-31 14:01
tonyfeng 发表于 2024-1-31 13:57
我是不需要环境,就想让它自己模仿人工手动打开,

那用dos命令可能可以,你执行system("explorer 程序路径");试试
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-10 01:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表