首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    createprocess error=2_CreateProcess

    代码示例,注意下面的代码可能运行失败,请按照如下设置VS 右键项目名(例如ConsoleApplication123)->属性->配置属性(注意左上角是活动Debug/Debug/Release/所有配置,比如选了Release则在Debug下无效)->链接器->清单文件->UAC执行级别->requireAdministrator 然后关闭visual studio,以管理员身份运行visual studio

    73610编辑于 2022-10-01
  • 来自专栏全栈程序员必看

    CreatePipe、CreateProcess函数

    0x02、CreateProcess 创建一个新进程及其主要线程。新进程在调用进程的安全上下文中运行。 BOOL WINAPI CreateProcess( _In_opt_ LPCTSTR lpApplicationName, _Inout_opt_ LPTSTR CreateProcess(NULL, pCommandLine, NULL, NULL, TRUE, NULL, NULL, NULL, &si, &pi))//创建子进程 { CreateProcess(NULL,cmdline,NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi)) //创建子进程 { MessageBox(" CreateProcess Failed!"

    1.7K30编辑于 2022-09-17
  • 来自专栏全栈程序员必看

    WindowsAPI 之 CreatePipe、CreateProcess

    CreateProcess Creates a new process and its primary thread. 其中需要用到几个Windows API : CreatePipe, DuplicateHandle, CreateProcess, ReadFile, WriteFile 等,函数详解可参见MSDN. 父进程可以调用进程创建函数CreateProcess()生成子进程。 CreateProcess()函数还可以使管道服务器有能力决定子进程对其可继承句柄是 全部继承还是不继承)。 然后,父进程可以调用进程创建函数CreateProcess()生成子进程。

    5K10编辑于 2022-09-06
  • 来自专栏全栈程序员必看

    WinExec, ShellExecute, CreateProcess

    在vc++ 程序中运行另一个程序的方法有三个: WinExec(),ShellExcute()和CreateProcess() 三个SDK函数: WinExec,ShellExecute ,CreateProcess CreateProcess 一共有十个参数,不过大部分都可以用NULL代替,它可以指定进程的安全属性,继承信息,类的优先级等等。 如果我们要得到足够多的关于新的进程的信息,控制新的进程的细节属性,若要达到这些目的,我们就需要使用CreateProcess函数了。 WinExec不允许用CreateProcess获得的所有选项,而它的确简单。 WinExec不允许用CreateProcess获得的所有选项,而它的确简单。

    1.9K20编辑于 2022-09-18
  • 来自专栏ccf19881030的博客

    WinExec, ShellExecute,CreateProcess 区别

    WinExec, ShellExecute,CreateProcess 区别 本文转载自WinExec, ShellExecute,CreateProcess 区别 其中以WinExec最为简单,ShellExecute 比WinExec灵活一些,CreateProcess最为复杂。 CreateProcess 一共有十个参数,不过大部分都可以用NULL代替,它可以指定进程的安全属性,继承信息,类的优先级等等。 如果我们要得到足够多的关于新的进程的信息,控制新的进 程的细节属性,若要达到这些目的,就需要使用CreateProcess函数了。 具体用法如下。 CreateProcess 原型如下: BOOL CreateProcess( LPCTSTR lpApplicationName, //执行程序名 LPTSTR lpCommandLine, //

    1.5K40发布于 2020-05-29
  • 来自专栏全栈程序员必看

    WinExec、ShellExecute和CreateProcess

    有三个API函数可以运行可执行文件WinExec、ShellExecute和CreateProcessCreateProcess因为使用复杂,比较少用。 uCmdShow:定义Windows应用程序的窗口如何显示,并为CreateProcess函数提供STARTUPINFO参数的wShowWindow成员的值。    CreateProcess返回该结构中的进程ID及其句柄,以及初始线程ID及其句柄。可以将ID发送到 其它进程,或使用句柄来控制新进程。    如果要完全控制一个新进程,就必须调用CreateProcess。 原文地址: 1、WinExec、ShellExecute和CreateProcess 2、 WINEXEC, SHELLEXECUTE, CREATEPROCESS 发布者:全栈程序员栈长,转载请注明出处

    1.5K20编辑于 2022-09-14
  • 来自专栏全栈程序员必看

    ShellExecute, WinExec, CreateProcess区别

    对于CreateProcess函数,默认的行为是为新进程继承调用者的错误模式。设置这个标志以改变默认的处理方式。    注释:   CreateProcess函数用来运行一个新程序。WinExec和LoadModule函数依旧可用,但是它们同样通过调用CreateProcess函数实现。    这对于父进程和子进程之间的同步是极其有用的,因为 CreateProcess函数不会等待新进程完成它的初始化工作。 CreateProcess(NULL,”C:\\Program Files\\MyApp.exe”,…….)    CreateProcess和ShellExecute都是直接返回的!

    1.4K20编辑于 2022-09-18
  • 来自专栏逆向技术

    反调试手法之CreateProcess反调试

    具体CreateProcess可以参考上一篇博客.:  https://www.cnblogs.com/iBinary/p/9571577.html 一丶实现反调试需要的东西.

    1.3K21发布于 2018-09-28
  • 来自专栏c++ 学习分享

    Createprocess控制台程序输出重定向

    "); _execlp("expand.exe","Source.cab","-f:m*.dll",c:/winnt/sytem32",NULL ); 能够成功实现控制台应用程序输出定向的方法是调用CreateProcess 在Windows 2000环境下,CreateProcess函数提供了一个名叫CREATE_NO_WINDOW的标志,这个标志能够成功阻止控制台窗口出现,然而在 Windows 98环境下,这个标志不被支持 为了实现两种环境下隐藏控制台窗口,我们可以通过设置STARTINFO结构成员并把它传递给CreateProcess 函数来达到这个目的。 hConsoleRedirect;//将文件作为标准输出句柄 s.wShowWindow =SW_HIDE;//隐藏控制台窗口 PROCESS_INFORMATION pi={0}; if ( CreateProcess

    98120编辑于 2023-07-06
  • 来自专栏嵌入式项目开发

    C语言编程: CreateProcess标准输出重定向到文件

    说明: CreateProcess创建进程执行不支持简单的 > 符号重定向,system之类的函数执行外部进程可以使用 > 符号直接重定向到文件,但是system这类函数执行命令时,都会弹出控制台窗口 ,而CreateProcess创建执行进程可以设置属性隐藏这个控制台窗口,后台执行。 示例代码: #include<windows.h> #include<shellapi.h> #include<stdio.h> #include <string.h> int my_CreateProcess = NULL; si.hStdError = h; si.hStdOutput = h; TCHAR cmd[]= TEXT("ipconfig"); ret = CreateProcess

    2.1K10编辑于 2022-01-07
  • 来自专栏桥路_大数据

    Golang: runnerw.exe: CreateProcess failed with error 216 (no message available)错误详解

    下面是节觉的方法 问题详解 runnerw.exe: CreateProcess failed with error 216 (no message available) 看描述,创建进程失败,应该是main

    1.5K50发布于 2019-02-20
  • 来自专栏实用技术

    IDEA提示CreateProcess error=206, 文件名或扩展名太长。

    在使用IDEA运行一个测试类是,提示错误CreateProcess error=206, 文件名或扩展名太长。

    6.2K20编辑于 2022-10-17
  • 来自专栏Eureka的技术时光轴

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

    【方法一:】 将 CreateProcess()的参数dwCreationFlags指定为CREATE_NO_WINDOW,即以不创建窗口方式创建DOS进程。 【参考代码:】 if (! CreateProcess(NULL, szCommand, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi)) 【方法二:】 CreateProcess(NULL, szCommand, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) 【方法三:】 将这个DOS窗口放到另外一个桌面上 CreateProcess(NULL, szCommand, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi)) 方法三的详细原理 调用EXE文件,可以用WINEXEC()、SHELLEXECUTE()和CreateProcess()等函数来实现,我这里就用CreateProcess()来调用。

    4.9K30发布于 2019-07-24
  • 来自专栏我吃香菜青椒不挑食

    文件上传遇到IO异常——解决Cannot run program ffmpeg: CreateProcess error=2, 系统找不到指定的文件。

    FFmpeg(Fast Forward MPEG)是一个开源的多媒体处理工具集,它包含了音频和视频处理库、编码器、解码器、转码器等多种工具。可以进行音视频编解码、格式转换、流媒体处理、图像处理、剪辑和编辑、字幕处理、音频处理、实时视频处理等。

    2.3K10编辑于 2024-07-29
  • 来自专栏ccf19881030的博客

    VC++中如何启动外部进程和关闭某个进程

    参考资料 c++ 启动exe(外部程序) 三个SDK函数: WinExec, ShellExecute,CreateProcess C++ 枚举进程信息,并结束指定进程 C/C++ Windows API ——枚举进程、结束进程及提升权限 CreateProcess-Creating Processes The CreateProcess function creates a new process, which CloseHandle( pi.hProcess ); CloseHandle( pi.hThread ); } If CreateProcess succeeds, it returns a How do I call ::CreateProcess in c++ to launch a Windows executable? How do I call ::CreateProcess in c++ to launch a Windows executable?

    3.5K20发布于 2020-05-27
  • 来自专栏嵌入式项目开发

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

    CreateProcess重定向输出到文件 下面使用CreateProcess调用子进程运行,将输出保存在文件中,阻塞等待进程执行完毕。 int my_CreateProcess() { SECURITY_ATTRIBUTES sa; sa.nLength = sizeof(sa); sa.lpSecurityDescriptor CreateProcess重定向输出到管道 为了能实时获取CreateProcess打开进程运行时实时输出的结果,可以将CreateProcess的输出重定向到管道文件,CreateProcess将数据写到管道的写端 int my_CreateProcess() { BOOL run_pipe; PROCESS_INFORMATION pi; STARTUPINFO si; BOOL ret = FALSE = hWritePipe; TCHAR cmd[] = TEXT("ffmpeg -i D:\\123.mp4 -vf reverse D:\\out\\out1.mp4"); ret = CreateProcess

    8.6K30编辑于 2022-05-28
  • 来自专栏嵌入式项目开发

    进程的创建与使用(win32-API)

    CreateProcess函数是最常用的方法。这个函数允许启动一个新的进程,并且可以控制其继承属性、优先级、环境变量等参数。 二、实操案例 2.1 CreateProcess函数详解 CreateProcess函数是Windows API中的一个重要成员,用于创建新的进程。 以下是CreateProcess函数的原型和各个参数的详细说明: BOOL CreateProcess( LPCTSTR lpApplicationName, // 在使用CreateProcess时,通常需要初始化STARTUPINFO和PROCESS_INFORMATION结构体,确保它们的cb成员被正确设置为结构体的大小,以便CreateProcess函数知道结构体的确切大小 这样,在调用CreateProcess时,你可以直接使用ffmpeg作为可执行文件名,而无需提供完整路径。

    63610编辑于 2025-05-27
  • 来自专栏专业duilib使用+业余界面开发

    CreateProcess 创建带命令行参数的进程时,报错或者提示内存位置无效的可能的一个原因

    CreateProcess内部会更改向其传递的命令行字符串,但在CreateProcess返回之前,它会将该字符串恢复原样。 这一点是非常重要的,因为如果你向CreateProcess传递的命令行字符串位于进程的只读存储区,就会发生Access Violation错误。 在调用 CreateProcess时,开发人员应该打开/GF开关并使用缓冲区。 UNIDOE编码后调用其 Unicode版本,CreateProcess会把ANSI字符串转换为Unicode编码后放在临时缓冲区,并调用Unicode版的 CreateProcess,因此不会触发Access 将这些垃圾数据传递给CreateProcess可能导致无法预料的结果,为了让CreateProcess正常工作,你必须将STARTUPINFO(EX)中没有用到的域清0。

    2.9K50发布于 2018-05-24
  • 来自专栏网络安全技术点滴分享

    MS14-019漏洞修复:通过.cmd或.bat文件实现二进制劫持的解决方案

    MS14-019 – 通过.cmd或.bat文件修复二进制劫持问题命令文件(.cmd)和批处理文件(.bat)可以直接作为输入传递给CreateProcess函数,就像它们是可执行文件一样。 CreateProcess会自动使用cmd.exe来运行输入的.cmd或.bat文件。今天,通过安全公告MS14-019,我们修复了一个漏洞。 目标应用程序只有在直接对.cmd或.bat文件调用CreateProcess时才会受到此漏洞的影响,无论文件位于何处。这意味着攻击者不需要控制.cmd或.bat文件本身。 这一修复可能会影响那些直接对.bat或.cmd文件调用CreateProcess并依赖应用程序目录或CWD中的非系统版本cmd.exe的应用程序。 这些应用程序应在调用CreateProcess时传递cmd.exe的完整路径,并将.cmd或.bat文件作为输入参数传递。

    30010编辑于 2025-07-28
  • 来自专栏林德熙的博客

    Win32 使用 CreateProcess 方法让任务管理器里的命令行不显示应用文件路径

    本文记录一个 Win32 的有趣行为,调用 CreateProcess 方法传入特别的参数,可以让任务管理器里的命令行不显示应用文件路径 开始之前,先看看下面这张有趣的图片 可以看到我编写的 SvcawgewawkuHenaynairbelhurno.exe 这是使用了 CreateProcess 方法的一个过时用法,那就是在此方法的 lpApplicationName 参数里面传入将要启动的进程路径,在第二个参数 lpCommandLine 里面传入的是 C:\Windows\notepad.exe 命令行参数 以下是 CreateProcess 方法签名 BOOL CreateProcessW ( [in, optional] LPCWSTR 以下是书中的原文: 之所以让我们能为 CreateProcess 添加 pszApplicationName 参数,实际是为了支持 Windows 的 POSIX 子系统 注:书中的 pszApplicationName ; 接下来创建一个有趣的命令行参数,例如就是记事本的路径 var arguments = "\"C:\\windows\\notepad.exe\""; 接着调用 CreateProcess 函数,如以下代码

    1.2K20编辑于 2023-04-07
领券