Assembly 从汇编语言运行另一个程序

Assembly 从汇编语言运行另一个程序,assembly,x86,masm,Assembly,X86,Masm,我现在正在Windows7MASM32中学习x86汇编语言,我想制作一个可以打开记事本的脚本。我在谷歌上搜索过,似乎什么也找不到。我该怎么做 任何帮助都将不胜感激 谢谢看CreateProcess或ShellExecute push offset proc_info ;; lpProcessInformation push offset startup_info ;; lpStartupInfo push offset ne

我现在正在Windows7MASM32中学习x86汇编语言,我想制作一个可以打开记事本的脚本。我在谷歌上搜索过,似乎什么也找不到。我该怎么做

任何帮助都将不胜感激


谢谢看CreateProcess或ShellExecute

push    offset proc_info        ;; lpProcessInformation
        push    offset startup_info     ;; lpStartupInfo
        push    offset new_dir          ;; lpCurrentDirectory
        push    00h             ;; lpEnviroment (get from calling process)
        push    00h             ;; dwCreatingFlags
        push    00h             ;; lpInheritHandles = FALSE
        push    00h             ;; lpThreadAttributes
        push    00h             ;; lpProcessAttributes (default process descriptor)
        push    offset params           ;; lpCommandLine =
        push    offset app          ;; lpApplicationName
                extrn    CreateProcessA: proc
        call    CreateProcessA

;; ...

proc_info:
pi_hProcess     dd      ?
pi_hThread      dd      ?
pi_dwProcessId      dd      ?
pi_dwThreadId       dd      ?
;;---------------------------------------------------------------
startup_info:
si_cb           dd      si_len
si_lpReserved       dd      0   ;; NULL
si_lpDesktop        dd      0   ;; NULL
si_lpTitle      dd      0   ;; NULL
si_dwX          dd      0
si_dwY          dd      0
si_dwXSize      dd      0
si_dwYSize      dd      0
si_XCountsChar      dd      0
si_YCountsChar      dd      0
si_dwFillAttribute           dd     0
si_dwFlags      dd      0  
si_wShowWindow      dw      0   ;; SW_HIDE
si_cbReserved2      dw      0
si_lpReserved2      dd      0   ;; NULL
si_hStdInput        dd      0   ;;
si_hStdOutput       dd      0   ;;   IGNORED
si_hStdError        dd      0   ;;
si_len          equ     $-startup_info

一种方法是调用
系统
函数。你能告诉我怎么做吗?这会做什么?我看不出这有什么用,别担心。现在有道理了。