鱼C论坛

 找回密码
 立即注册
查看: 2819|回复: 0

关于createprocessA函数

[复制链接]
发表于 2015-1-17 15:54:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
from ctypes import *
from _overlapped import NULL
WORD   = c_ushort
DWORD  = c_ulong
LPBYTE = POINTER(c_ubyte)
LPTSTR = POINTER(c_wchar)
HANDLE = c_void_p
kernel32 = windll.kernel32

class STARTUPINFO(Structure):
    _fields_ = [
        ("cb",           DWORD),
        ("lpReserved",   LPTSTR),
        ("lpDesktop",    LPTSTR),
        ("lpTitle",      LPTSTR),
        ("dwX",          DWORD),
        ("dwY",          DWORD),
        ("dwXSize",      DWORD),
        ("dwYSize",      DWORD),
        ("dwXCountChars",DWORD),
        ("dwYCountChars",DWORD),
        ("dwFillAttribute",DWORD),
        ("dwFlags",        DWORD),
        ("wShowWindow",    WORD),
        ("cbReserved2",    WORD),
        ("lpReserved2",    LPBYTE),
        ("hStdInput",      HANDLE),
        ("hStdOutput",     HANDLE),
        ("hStdError",      HANDLE),
             ]
   
class PROCESS_INFORMATION(Structure):
    _fields_ = [
        ("hProcess",HANDLE),
        ("hThread",HANDLE),
        ("dwProcessId",DWORD),
        ("dwThreadId",DWORD),
                ]

DEBUG_PROCESS      = 0x00000001
CREATE_NEW_CONSOLE = 0x00000010
PATH = "H:\\phyton\\test\\calc.exe"
creation_flags   = DEBUG_PROCESS
startupinfo = STARTUPINFO()
process_information = PROCESS_INFORMATION()      
memset(addressof(startupinfo),0,sizeof(startupinfo))
startupinfo.cb = sizeof(startupinfo)
startupinfo.dwFlags = 0x1
startupinfo.wShowWindow = 0x0


if kernel32.CreateProcessA(None,
                            PATH,
                            None,
                            None,
                            False,
                            creation_flags,
                            None,
                            None,
                            byref(startupinfo),
                            byref(process_information)):
             print("[*] lauch the process success")
             print("[*] PID %d", process_information)
else:
    print("[*]Error :%d ",  kernel32.GetLastError())

运行这段代码老是 错误代码2  有遇到这种情况的么?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-14 11:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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