core--进程

前面我们说了线程是一系列的指令,那么进程是什么呢?进程就是装下这些指令的容器。该容器除了线程,还包含资源等内容。一个进程至少要有一个线程。没有线程的进程就不叫进程

进程和程序的区别:进程必须是正在运行的实例,而程序通常指的是存储在物理介质中的一个文件,程序运行后,就成了进程

在windows中,进程有两种:

1.控制台应用程序。CMD程序就是典型的实例

2.GUI应用程序。

可以使用CreateProcess函数来创建进程

LPCTSTR lpApplicationName, 通常为NULL

    可执行文件的名称

LPTSTR lpCommandLine,  

    一定要注意LPTSTR,该类型表示字符串可以被修改

    通常该值被指定为可执行文件的名称,如果没有扩展名,就会自动添加.exe然后按照如下顺序来查找完整路径名称:

        1.主调进程.exe文件所在的目录

        2.主调进程的当前目录

        3.windows系统目录 System32

        4.PATH环境变量中列出的目录

LPSECURITY_ATTRIBUTES lpProcessAttributes

LPSECURITY_ATTRIBUTES lpThreadAttributes

BOOL bInheritHandles

         是否允许进程内的可继承内核对象被子进程继承

       DWORD dwCreationFlags

LPVOID lpEnvironment

          环境变量,通常设置NULL
       LPCTSTR lpCurrentDirectory
       LPSTARTUPINFO lpStartupInfo
       LPPROCESS_INFORMATION lpProcessInformation
   );

正常情况下当主线程运行完毕,退出后进程就会被结束,但是windows为我们提供了一下方式来强制结束进程

ExitProcess

TerminateProcess 可以结束其他进程

原文地址:https://www.cnblogs.com/pavkoo/p/3405055.html