最近使用visual studio 2005或visual studio 2008的编译项目时可能都遇到了这样的问题:

error PRJ0003 : 生成“C:\WINDOWS\system32\cmd.exe”时出错

1>Project : error PRJ0003 : Error spawning 'C:\Windows\System32\cmd.exe'.
1>Build log was saved at "file://c:\Users\Gilbert\Documents\Visual Studio 2008\Projects\Helloworld\Helloworld\Debug\BuildLog.htm"
1>Helloworld - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

经过网上大面积搜索:

可能工程坏了

删除Debug目录下的东西,   重新编译整个工程

clean
rebuild
确定所谓的“工具”-〉“选项”-> "VC++项目设置"->"解决方案资源管理器模式"里的“显示所有设置”有没有勾选,只要勾上就会有“项目和解决方案”的选项,在该项目下逐行添加
$(SystemRoot)\System32
$(SystemRoot)
$(SystemRoot)\System32\wbem

都不能解决问题,我哭,呜呜呜呜呜

既然问题和'C:\Windows\System32\cmd.exe'有关,那就看看是不是它出了什么问题!

开始》运行》cmd

啊?居然不能运行!!!!

打开C:\Windows\System32文件夹,查找cmd.exe,文件存在啊,双击运行,居然提示:

Windows找不到文件!

我就晕,文件夹明明在那摆着,却告诉我找不到文件。

难道是文件坏了?

去另一个系统把文件复制过来覆盖,问题依旧; 还是搜索吧。

最后在一个网页快照中找到了问题的真正原因;

内容如下:

在运行中输入cmd无法运行,windows 找不到文件 'c:\windows\system32\cmd.exe

打开电脑,在运行框中输入CMD,不是吧,系统居然提示找不到CMD文件,如下图示:

点击确定又会弹出另外一个框:

原以为是系统变量设置出了问题,直接打开我的电脑,进入C:\WINDOWS\SYSTEM32\目录下,找到CMD.EXE直接运行,也是这样的情况!
              马上进入到C:\WINDOWS\SYSTEM32\DLLCATCH\目录下,运行CMD.EXE文件,也是同样的提示:

运行command命令,虽然能弹出提示符状态,但是几乎所有的命令都不能用。用 GHOSTEXP.EXE 把原来备份中的CMD.EXE提取出来把 %SYSTEM% 和 %SYSTEM%\DLLCATCH 下的CMD.EXE文件覆盖掉,双击运行之后仍然是这样的提示。准备退出来的时候突然发现在C:\WINDOWS下有一个CDE.EXE.EXE莫非这个就是原来的CMD.EXE文件,只是被修改了名字换了个地方,但是双击之后仍旧不能运行。

注:%system%指的是C:\WINDOWS\SYSTEM32或者是C:\WINNT\SYSTEM32目录。更多的请参考:一文。

糟了,中毒了,用咔吧查,什么病毒都没查出来,具体的什么病毒都不知道,看来只能自己找资料手动解决这个问题了。很有可能就是一些病毒修改了注册表,于是在运行框中输入REGEDIT,居然弹出现面的提示:

连注册表业打不开了,会不会是系统的EXE文件关联被修改了,这个需要通过修改注册表来恢复。但是注册表现在又打不开,用记事本编辑注册表文件,再导入不就可以了么?
             于是打开记事本文档,在里面输入以下内容(目的是允许当前用户运行cmd命令):
============================================
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\exefile\shell\open\command]
@="\"%1\" %*"
============================================
保存为cmd.reg(文件名可以任意),运行导入,结果弹出下面提示:

看来这个也不能用了,会不会是自己编辑注册表文件的时候输错了呢?带着这个疑问,我打开了另外一个注册表文件,也是同样的提示:

看来是病毒的原因了。
想通过批处理命令来对注册表操作,随便找了一个批处理命令双击,也不行:

头都有点大了,不知道该这么办了,突然想起来EXE文件虽然不可以运行,但是COM文件中应该可以运行吧!于是进入 C:\WINDOWS\ 把 regedit.exe 改名为 regedit.com 双击运行,即可打开注册表编辑器。
             这下就可以修复文件关联了,具体的操作请参考:一文。
             EXE文件关联修复之后,问题依旧,看来问题没有那么简单,不是EXE文件关联,那能是什么原因呢?
            会不会是因为用户权限被修改的原因呢(在注册表中可以设置禁止用户运行批处理文件和CMD),于是打开注册表编辑器,进入HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System
新建一个双字节值项DisableCMD(如果没有的话,有的话直接修改其值就可以了,但要注意的是必须是双字节值,不是的话需要删掉重建),将其值设为 0 (这里的作用就是使用户可以运行cmd和批处理文件),当然它也有其它的参数:修改其值为2,则命令解释器和批处理文件都不能够被运行;如果只是禁止命令解释器的运行,而运行批处理文件的运行,则修改DisableCMD的值为1。这些大家可以自行试试!
             当然也可以通过下面的注册表文件导入方法来实现(前提是等到注册表修复之后):
============================================
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System]
"DisableCMD"=dword:00000000    
============================================
     虽然权限也设置过了,但是问题依旧没有解决。真的有点不知道该怎么办了?呜呜…………

虽然还没找到彻底解决的办法,但是可以先给大家提供一个临时解决的办法,将系统中的CMD.EXE,REGEDIT.EXE,MSCONFIG.EXE文件的扩展名都改为COM基本上就可以暂时使用了!只不过要在运行框中输入命令时要带上COM扩展名。

找了这么久,终于找到原因了,原来是中了映像劫持病毒了,对于这种病毒只需要把映像劫持给关了就行了,可以通过修改注册表来实现:把[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options]项删除即可。
         好了,问题解决了,你改名的那些文件也该改过来了(把 COM 改回 EXE ),嘎嘎~~关于映像劫持方面的问题,过两天会给大家贴出来的!

把[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options]项删除即可。

问题是这样的曲折!

error PRJ0003 : 生成“C:\WINDOWS\system32\cmd.exe”时出错相关推荐

  1. Vben Admin 安装依赖l 安装报错:Error: command failed: c: \WINDOWS\system32\cmd.exe /s /c autoreconf -ify 解决办法

    错误信息: 错误原因 : vite安装插件时,有些vite插件又依赖其他vite插件,由于vite的版本问题导致npm或者yarn导致被依赖的包没有下载到 解决办法: 删除 node_modules ...

  2. VS2008编译错误:error PRJ0003 生成 cmd.exe 时出错

    在用VS2008编译C++程序的时候发现以下错误: error PRJ0003  生成 cmd.exe 时出错 其实意思就是找不到cmd.exe,我觉得,其原因是VS2008里的有些环境变量设置不对或 ...

  3. VS2008如何解决 error PRJ0003 : 生成“cmd.exe”时出错。

    今天用vs2008编译时代码时出现了error PRJ0003 : 生成"cmd.exe"时出错这样的错误,如下图所示: 经查阅资料,问题很可能是:VC++ 目录中指定的可执行路径 ...

  4. command C:\Windows\system32\cmd.exe /d /s /c node ./build.js的解决方法

    [现象] npm WARN cleanup ] npm ERR! code 1 npm ERR! path D:\work\vue-base2\node_modules\deasync npm ERR ...

  5. VC6++ output :error executing c:\windows\system32\cmd.exe.

    这个问题的一般情况是,第一次编译会报出这个错误,在此编译就成功... 原因是: 在project->Setting->post bulid 中进行了设置(一般是Copy指定文件到指定位置) ...

  6. VS2005错误 error PRJ0003 生成 cmd.exe 时出错

    该问题由于VS2005的环境变量设置不对导致,解决如下: tools=> Options => Projects and Solutions -> VC++ Directories ...

  7. npm ERR! command failednpm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node-gyp rebuild

    解决方法 1.window+R打开cmd命令窗口. 2.输入npm install -g node-gyp. 3.cmd配置以来,输入npm config set python python3.8.0 ...

  8. 关于Windows/system32/cmd.exe以及cmd闪退解决方案

    针对Win+R输入cmd发现cmd一闪而过的情况: Win+R输入regedit进入到注册表,找到路径 \HKEY_CURRENT_USER\Software\Microsoft\Command Pr ...

  9. Command failed:C:Windows\system32\cmd. exe /s/c autoreconf -ivf

    在运行npm i时: npm i 出现以下报错: 看网上很多答案都是说缺包,要手动加,但这个解决办法并不适用我,后面看到解答是代理的问题,导致包下不下来,所以可以取消代理或者变更代理来试试 npm c ...

  10. VC6.0执行 link.exe 时出错

    执行 link.exe 时出错 编译程序中,没有问题,但是组建的过程中,一直报错,原以为是自己代码的问题.最后索性就只打印"hello world",还是报错,这就排除了代码的错误 ...

最新文章

  1. Vue中插入HTML代码的方法
  2. centos6.5 install mongodb
  3. Ajax跨域请求,无法传递及接收cookie信息解决方案
  4. 北航java大作业,北航成人继续教育 本科 计算机科学与技术 JAVA——大作业.doc
  5. 实现php数组编码的转换的类
  6. Linux下top命令详解
  7. 【图像分析】基于matlab小波变换图像分析【含Matlab源码 1365期】
  8. Java设计模式--生成器模式
  9. Ubuntu 安装 peek 动态截图软件
  10. Windows - 强力删除文件
  11. 数据结构实现学生信息管理系统功能
  12. cnn app for android phones,Freedom Apk Download for Android Phones / Tablets Latest Version
  13. win10自带ubuntu桌面_windows10开启 linux子系统桌面,巨详细,值得一藏
  14. 微信小程序获取带表情的微信名乱码问题
  15. Unreal Engine 4 UE4 CAVE VR 立体 Stereo nDisplay 多通道
  16. 将test1文件下的.java文件复制到copy文件下
  17. 国内CMS内容管理系统
  18. 计算机网络应用技术小结
  19. electron 应用程序updater实现热更新
  20. 前端复习记录(前端基础 JavaScript)一

热门文章

  1. 自动检测技术学习心得体会_关于传感器与检测技术的学习体会
  2. 台风怎么看内存颗粒_RGB灯效内存条怎么选,看老胡推荐
  3. 自动驾驶汽车传感器融合系统及多传感器数据融合算法浅析
  4. 智能AI文章伪原创工具免费使用注意事项与推荐
  5. ajax标准完整写法
  6. python sobel算子_图像边缘检测:Canny算子、Prewitt算子和sobel算子
  7. vs2015社区版有账号后仍然过期
  8. c语言实验--九九乘法表,C语言实验报告(四)
  9. 47001 data format error hint -- 解析 JSON/XML 内容错误
  10. spring动态代理之cglib动态代理