c++ - 如何将目录路径作为进程的命令行传递?

标签 c++ visual-c++

iam 使用 regasm.exe 生成 tlb 文件并以编程方式注册程序集。但是 tlb 的路径在 .NET 根目录本身中。所以这样做

缓冲区包含c:\windows\Microsoft.Net\framework\v2.0.57\RegAsm.exe

if(!CreateProcessW(buffer,L" C:\\Program Files\\Test\\Test.dll  /codebase /tlb /silent" ,NULL, NULL,FALSE, 0,NULL,NULL,(LPSTARTUPINFOW)&si,&pi ) )

但我认为它不会采用完整路径,因为有一个空白的黑白程序和文件。正如预期的那样,当我运行命令时它也显示无法定位输入程序集 c:\program。

通常在命令提示符下我们可以给出

RegAsm.exe "c:\program files\Test\test.dll"/codebase/tlb 这个粗体字符我必须作为命令行传递,但它有双引号和双引号。所以我很震惊。

我该如何解决

最佳答案

您需要在字符串 中用引号将路径括起来,您可以通过在引号前面加上反斜杠来转义引号字符来实现。因此,您的 CreateProcessW 的第二个参数将是:

L"\"C:\Program Files\Test\Test.dll\" /codebase /tlb /silent"

这将为您提供带引号的命令行,您将在命令提示符处使用它。

关于c++ - 如何将目录路径作为进程的命令行传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1177323/

相关文章:

c++ - 私有(private)嵌套类 c++ 的实例

java - 人们还在编写自己的数据结构和算法吗?

c++ - Valgrind 显示简单 QML 应用程序的许多警告/错误

c++ - 数组 C++ 的 Ofstream 文本编写问题

c++ - 进一步检测一组点

c++ - 在安装期间检索产品版本的功能

c++ - 为什么调用基类析构函数会导致程序崩溃?

c++ - 将所有权转让给经理

c++ - 实时、用户时间和系统时间的区别

c++ - 我的 C++ 程序在计算欧拉数的级数时遇到问题