首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CreateProcess api在windows 10上失败,错误代码为122

CreateProcess API是Windows操作系统提供的一个函数,用于创建一个新的进程并执行指定的可执行文件。在Windows 10上,如果调用CreateProcess API失败并返回错误代码122,表示指定的文件未找到。

错误代码122对应的常量是ERROR_FILE_NOT_FOUND,它表示指定的文件路径无效或文件不存在。可能的原因包括:

  1. 文件路径错误:请确保传递给CreateProcess API的文件路径是正确的,包括文件名和文件所在的目录路径。
  2. 文件不存在:请检查指定的文件是否存在于指定的路径中。可以通过手动检查文件是否存在,或者使用其他文件操作函数(如GetFileAttributes)来验证文件的存在性。
  3. 权限问题:如果文件位于受限制的目录中,可能会导致CreateProcess API无法访问文件。请确保当前用户具有足够的权限来访问该文件。
  4. 文件被其他进程占用:如果指定的文件正在被其他进程占用,可能会导致CreateProcess API无法打开该文件。请确保文件没有被其他进程锁定。

推荐的腾讯云相关产品和产品介绍链接地址:

腾讯云提供了一系列云计算相关的产品和服务,包括云服务器、云数据库、云存储等。您可以访问腾讯云官方网站了解更多详情:https://cloud.tencent.com/

腾讯云云服务器(CVM)是一种弹性计算服务,提供了多种配置和规格的虚拟机实例,可满足不同业务场景的需求。您可以通过腾讯云云服务器快速创建和管理云服务器实例,实现应用的部署和运行。了解更多详情:https://cloud.tencent.com/product/cvm

腾讯云云数据库(CDB)是一种高性能、可扩展的关系型数据库服务,支持主流数据库引擎(如MySQL、SQL Server、PostgreSQL等),提供了自动备份、容灾、监控等功能,可满足各种应用场景的需求。了解更多详情:https://cloud.tencent.com/product/cdb

腾讯云对象存储(COS)是一种安全、稳定、低成本的云存储服务,可用于存储和管理各种类型的数据,包括图片、音视频文件、文档等。腾讯云对象存储提供了高可用性和高可靠性的存储能力,可满足不同规模和需求的数据存储需求。了解更多详情:https://cloud.tencent.com/product/cos

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Windows 10 WPF 窗口添加模糊特效(就像开始菜单和操作中心那样)

Windows 10 WPF 窗口添加模糊特效(就像开始菜单和操作中心那样) 发布于 2017-10-01 16:14...本文提供了一个完整的用于 Windows 10 实现模糊特效的 C# 类,没有放到 GitHub 也没有其他类型的开源。如果需要直接拿走就好。 ---- ? ? 为什么不推荐使用?...,叛逆者 也已经证实这就是微软开始菜单和操作中心中用到的 API。...- Stack Overflow 调用未公开API SetWindowCompositionAttribute Win10下开启Aero - CSDN博客 Windows 10 开始菜单的高斯模糊效果是如何实现的...---- 附:封装好的 API 代码 本文会经常更新,请阅读原文: https://walterlv.com/post/win10/2017/10/02/wpf-transparent-blur-in-windows

5.2K30

WinExec、ShellExecute和CreateProcess

有三个API函数可以运行可执行文件WinExec、ShellExecute和CreateProcessCreateProcess因为使用复杂,比较少用。...uCmdShow:定义Windows应用程序的窗口如何显示,并为CreateProcess函数提供STARTUPINFO参数的wShowWindow成员的值。   ...若函数调用失败,则返回值下列之一:   ① 0:系统内存或资源已耗尽。   ② ERROR_BAD_FORMAT:EXE文件无效(非Win32.EXE或.EXE影像错误)。   ...通常,将其设置SW_SHOW,也可尝试SW_MINIMIZED或 SW_MAXIMIZED。WinExec不允许用CreateProcess获得的所有选项,而它的确简单。...⑶ 返回值:   若函数调用成功,则返回值不为0;若函数调用失败,返回值0。   在上述参数中,参数lpStartupInfo是STARTUPINFO结构。

95320

CreatePipe匿名管道通信

使用匿名管道通信时,服务器进程必须将其中的一个句柄传送给客户机进程。句柄的传递多通过继承来完成,服务器进程也允许这些句柄子进程所继承。...在生成子进程之前,父进程首先调用Win32 API SetStdHandle()使子进程、父进程可共用标准输入、标准输出和标准错误句柄。...\n”);   else    printf(“创建匿名管道失败,错误代码:%d\n”, GetLastError());    // 得到本进程的当前标准输出    HANDLE hTemp...\n”);    else     printf(“创建子进程失败,错误代码:%d\n”, GetLastError());     CloseHandle(hWrite); // 关闭写句柄     ...:%d\n”, GetLastError());     本示例中,将当前进程的标准输出设置使用匿名管道,再创建子进程,子进程将继承父进程的标准输出,然后再将父进程的标准输出恢复其初始状态

1K10

Windows黑客编程技术详解 --第四章 木马启动技术(内含赠书福利)

4.1 创建进程API 一个进程中创建并启动一个新进程,无论是对于病毒木马程序还是普通的应用程序而言,这都是一个常见的技术,最简单的方法无非是直接通过调用WIN32 API函数创建新进程。...用户层,微软提供了WinExec、ShellExecute和CreateProcess等函数来实现进程创建。...如果该函数失败,则它将返回一个错误值,指示失败的原因。 3.CreateProcess函数 创建一个新进程及主线程。新进程调用进程的安全的上下文中运行。...安全小贴士 用户层,通常是利用WMI或者通过HOOK API来监控进程的创建。EnumWindows函数可以枚举所有屏幕的顶层窗口,包括隐藏窗口。...对于那些没有重定位表的程序,只能把它加载到默认的加载基址。如果默认加载基址已被占用,则直接内存加载运行会失败

3.7K50

win32之进程概念

windows环境下.进程就是一个运行起来的exe程序 进程提供了数据以及资源. 但是怎么使用不管.而是由线程去管.  进程可以抽象一栋房子. 而房子里面提供了日用品. 怎么使用它是不管的....windows任务管理器中 (ctrl + alt + del  / ctrl + shift + esc 调出) 如下图: ?...而它创建的时候.是通过API  CreateProcess  进行创建的. 2.原理.CreateProcess做了什么事情. 1.映射exe内存. 当调用CreateProcess的时候....三丶进程创建CreateProcess解析 通过上面的原理我们知道了系统会调用CreateProcess进行创建进程. PS: windows系统中.我们使用API的时候其实是 A版本跟W版本....(其他也可以.但不是必须) 给定的是使用的当前结构体的大小.因为windows程序中.很有可能扩展.为了扩展性.所以给一个成员指定一下.等以后结构体修改了.那么我们成员多大.windows就知道使用多大的结构体了

78920

7.2 通过API创建新进程

但是,由于WinExec()函数没有提供区分进程启动成功和失败的返回值,且无法从函数返回的进程句柄获得与进程相关的信息,因此使用较为有限。...但是该函数也存在一些问题,例如ANSI编码、不支持进程标识符等,建议实际开发中使用更为灵活的CreateProcess()或ShellExecute()函数。...该函数返回HINSTANCE类型的值,如果没有执行或则执行失败,它将返回一个值ERROR_FILE_NOT_FOUND或ERROR_BAD_FORMAT的值。...()该函数提供了比较灵活的进程控制,相比于其他API函数,例如WinExec()和ShellExecute() ,它可以更详细地控制进程的执行,如进程窗口的大小和位置,输出、输入和错误信息的控制等,并且能够获取到新进程的标识符以及进程句柄...同时CreateProcess()也具有更高的系统安全性。因此,实际开发中,开发人员往往使用 CreateProcess()函数进行进程控制、管理和处理。

19340

Windows核心编程第一章.错误处理

2.常见的Windows函数返回类型总结 数据类型 作用 VOID 如果是Void表示函数不可能失败.极少数windows函数会返回void BOOL 表示这个函数会有失败情况.0失败.否则就是非...HANDLE Windows中的句柄类型.返回值同创NULL.否则的话HANDLE将标识一个可以操纵的对象.有些函数会返回INVALID_HANDLE_VALUE来表示 具体要查看MSDN文档看看对函数的返回值要求...错误代码获取是一个Windows提供的API函数.....进行格式化输出.自动匹配错误码代表的意思. 4.调试小技巧 如果你使用VC++或者VS编译器,你可以监视窗口输入 @err,hr 这个命令.那么程序调试的时候会自动获取API错误代码....如果调用的API没有错误,就是返回0 也就是说ERROR_SUCESS 否则则就会返回错误代码.这个错误代码可以用工具查看. 当然,你可以查询MSDN.

48420

7.2 通过API创建新进程

但是,由于WinExec()函数没有提供区分进程启动成功和失败的返回值,且无法从函数返回的进程句柄获得与进程相关的信息,因此使用较为有限。...但是该函数也存在一些问题,例如ANSI编码、不支持进程标识符等,建议实际开发中使用更为灵活的CreateProcess()或ShellExecute()函数。...该函数返回HINSTANCE类型的值,如果没有执行或则执行失败,它将返回一个值ERROR_FILE_NOT_FOUND或ERROR_BAD_FORMAT的值。...()该函数提供了比较灵活的进程控制,相比于其他API函数,例如WinExec()和ShellExecute() ,它可以更详细地控制进程的执行,如进程窗口的大小和位置,输出、输入和错误信息的控制等,并且能够获取到新进程的标识符以及进程句柄...同时CreateProcess()也具有更高的系统安全性。因此,实际开发中,开发人员往往使用 CreateProcess()函数进行进程控制、管理和处理。

16420

6.3 应用动态内存补丁

动态内存补丁可以理解程序运行时动态地修改程序的内存,某些时候某些应用程序会带壳运行,而此类程序的机器码只有在内存中被展开时才可以被修改,而想要修改此类应用程序动态补丁将是一个不错的选择,动态补丁的原理是通过...CreateProcess函数传递CREATE_SUSPENDED将程序运行起来并暂停,此时程序会在内存中被解码,当程序被解码后我们则可以通过内存读写实现对特定区域的动态补丁。...如果lpApplicationNameNULL,那么应该将可执行文件的名称包含在lpCommandLine所指向的字符串中。...CreateProcess 函数返回一个布尔值,表示函数的调用是否成功。如果成功,则返回值非零,否则返回值零,并通过调用GetLastError函数获取错误代码。...为了使得新进程与父进程独立运行,一般需要用到独立的进程空间和线程,这通常需要在创建新进程之前调用一些Windows系统API函数,如VirtualAlloc、CreateThread等。

17920

CreateProcess时不显示或者不创建窗口 (或用虚拟桌面实现后台调用外部程序)

FINDWINDOW来查找窗口的句柄,之后再用SendMessage()来隐藏窗口,但是还是会有一瞬主窗口被显示出来的,或许你会说我BT吧,但是我实在是不忍心看到…… 那么怎么解决这个问题呢,首先我当然CreateProcess...继续查找文档,这时我看到CreateProcess()的一个参数TStartupInfo中有 lpDesktop这么一个属性,按照MSDN的说法,如果该指针NULL,那么新建的Process将在当前Desktop...启动,而如果对其赋了一个Desktop的名称后,Process将在指定的Desktop启动,恩,看来不错,就从它入手了; 首先,建立一个虚拟的Desktop。...DesktopName: PChar = 'NewDesktop'; FDesktop:= CreateDesktop(DesktopName, nil, nil, 0, GENERIC_ALL, nil); 然后,CreateProcess...的时候,指定程序我新生成的Desktop运行: var SI: TStartupInfo; begin FillChar(SI, SizeOf(SI), 0); SI.cb:= SizeOf

3.7K30

如何解决 Adobe Photoshop 安装失败问题?

要修复这些错误,请执行以下给定的步骤: 1.您的计算机创建一个具有管理员权限的新本地用户帐户。 Windows 10:请参阅 Windows 10 中创建本地用户帐户。...Windows 8 和 Windows 7:请参阅创建用户帐户。 macOS:请参阅 Mac 设置用户、客人和群组。 2.使用该帐户登录到您的计算机。...常见下载、安装或更新错误的解决方案 常见下载、安装或更新错误的解决方案: 错误代码 1:安装失败 错误代码 1 表示您设备的 Creative Cloud 应用程序已损坏,或者您的设备无法连接到 Adobe...错误代码 P1:安装失败 错误代码 P1 表示您设备的 Creative Cloud 应用程序已损坏,或者您的设备无法连接到 Adobe 服务器。...错误代码 10:现有 GC 安装验证失败 错误代码 10 表示 gccustomhook 安装最新版本的 Adobe 正版服务之前未能验证用户计算机上运行的旧版本的 Adobe 正版服务。

4.8K30

6.3 应用动态内存补丁

动态内存补丁可以理解程序运行时动态地修改程序的内存,某些时候某些应用程序会带壳运行,而此类程序的机器码只有在内存中被展开时才可以被修改,而想要修改此类应用程序动态补丁将是一个不错的选择,动态补丁的原理是通过...如果lpApplicationNameNULL,那么应该将可执行文件的名称包含在lpCommandLine所指向的字符串中。...如果NULL,则新进程将继承调用进程的环境块。lpCurrentDirectory:指向一个空字符结束的字符串,该字符串指定新进程的当前工作目录。如果NULL,则新进程将继承父进程的当前工作目录。...CreateProcess 函数返回一个布尔值,表示函数的调用是否成功。如果成功,则返回值非零,否则返回值零,并通过调用GetLastError函数获取错误代码。...为了使得新进程与父进程独立运行,一般需要用到独立的进程空间和线程,这通常需要在创建新进程之前调用一些Windows系统API函数,如VirtualAlloc、CreateThread等。

21130

windows下C与C++执行cmd命令并实时获取输出

前言 windows下一般会使用系统的cmd命令或者其他现成的一些命令行可执行程序来完成一些操作,比如:调用ping命令来测试网络是否畅通、调用ffmpeg命令进行视频转码等等。...为了能在软件界面上有更好的交互输出,都需要将命令执行的过程拿到,进行处理,然后界面上进行显示,让用户知道程序正在正常运行,下面就介绍几种输出的获取方式。...当前开发环境: win10 64位 IDE-MSVC2017 2. 使用_popen执行进程 通过_popen打开进程进行执行,通过fgets获取进程的输出。...,父进程里再从管道的读端就能实时读取数据。...\n"); CloseHandle(pi.hProcess); CloseHandle(pi.hThread); return 0; } printf("执行失败....

5.1K30

ApacheTomca远程执行代码(CVE-2019-0232)漏洞浅析和复现

漏洞是由于命令行参数从JRE到Windows的不正确传递而产生的,对于Java应用程序,CreateProcess()函数启动之前调用ProcessBuilder()。...ProcessImpl()的Windows实现中,start方法调用ProcessImpl()的私有构造函数,该构造函数CreateProcess调用创建命令行。...ProcessImpl()构建Cmdline并将其传递给CreateProcess() Windows函数,之后CreateProcess() cmd.exe shell环境中执行.bat和.cmd...然后CreateProcess()阶段1重新启动,批处理文件的名称作为cmd.exe的第一个参数传递。...对于cmd.exe,我们首先理解cmd本质是一个文本预处理器:给定一个命令行,它进行一系列文本转换,然后将转换后的命令行交给CreateProcess()。某些转换用其值替换环境变量名称。

2.4K10

ShellExecute, WinExec, CreateProcess区别

有几个API函数都可以实现这些功能,但是大多数情况下ShellExecute是更多的被使用的,同时它并不是太复杂。   ...; {同 SW_SHOWNORMAL} SW_MAX = 10; {同 SW_SHOWNORMAL} CreateProcess   说明:   WIN32API...16位的应用程序是以DOS虚拟机或Win32Windows(WOW) 进程的方式运行。   lpCommandLine:指向一个NULL结尾的、用来指定要运行的命令行。   ...如果函数执行失败,返回零,可以使用GetLastError函数获得错误的附加信息。   注释:   CreateProcess函数用来运行一个新程序。...假设当前C盘上的目录是\MSVC\MFC且有一个环境变量叫做C:,它的值是C:\MSVC\MFC,就像前面lpEnvironment中提到过的那样,这样的系统驱动器的目录信息CreateProcess

90420
领券