社区
API
帖子详情
exitprocess与terminateprocess的区别与使用?
bigbear2046
2003-02-22 10:33:10
参数如何设置,进程句柄如何获得?
...全文
58
1
打赏
收藏
exitprocess与terminateprocess的区别与使用?
参数如何设置,进程句柄如何获得?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
NowCan
2003-02-24
打赏
举报
回复
exitprocess终止调用者进程。
terminateprocess可终止任何进程。
解析C/C++中如何终止线程的运行
想要终止线程的运行,可以
使用
以下方法: 1、线程函数返回(最好
使用
该方法)。 2、通过调用
Exit
Thread函数,线程将自行撤消(最好不
使用
该方法)。 3、同一个进程或另一个进程中的线程调用
Terminate
Thread函数(应避免
使用
该方法)。 4、
Exit
Process
和
Terminate
Process
函数也可以用来终止线程的运行(应避免
使用
该方法)。 下面将详细介绍终止线程运行的方法:1-4,并说明线程终止运行时会出现何种情况:5。 1、线程函数返回 始终都应该将线程设计成这样的形式,即当想要线程终止运行时,它们就能够返回。这是确保所有线程资源被正确地清除的唯一办法。 如果线程能够返
操作系统实验实验进程管理
实验二 进程管理 Windows所创建的每个进程都从调用Create
Process
() API函数开始,该函数的任务是在对象管理器子系统内初始化进程对象。每一进程都以调用
Exit
Process
() 或
Terminate
Process
() API函数终止。通常应用程序的框架负责调用
Exit
Process
() 函数。对于C++ 运行库来说,这一调用发生在应用程序的main() 函数返回之后。 1. 创建进程 Create
Process
() 调用的核心参数是可执行文件运行时的文件名及其命令行。表 2-1详细地列出了每个参数的类型和名称。 表2-1 Create
Process
() 函数的参数 参数名称
使用
目的 LPCTSTR lpApplivationName 全部或部分地指明包括可执行代码的EXE文件的文件名 LPCTSTR lpCommandLine 向可执行文件发送的参数 LPSECURIITY_ATTRIBUTES lp
Process
Attributes 返回进程句柄的安全属性。主要指明这一句柄是否应该由其他子进程所继承 LPSECURIITY_ATTRIBUTES lpThreadAttributes 返回进程的主线程的句柄的安全属性 BOOL bInheritHandle 一种标志,告诉系统允许新进程继承创建者进程的句柄 DWORD dwCreationFlage 特殊的创建标志 (如CREATE_SUSPENDED) 的位标记 LPVOID lpEnvironment 向新进程发送的一套环境变量;如为null值则发送调用者环境 LPCTSTR lpCurrentDirectory 新进程的启动目录 STARTUPINFO lpStartupInfo STARTUPINFO结构,包括新进程的输入和输出配置的详情 LP
PROCESS
_INFORMATION lp
Process
Information 调用的结果块;发送新应用程序的进程和主线程的句柄和ID 可以指定第一个参数,即应用程序的名称,其中包括相对于当前进程的当前目录的全路径或者利用搜索方法找到的路径;lpCommandLine参数允许调用者向新应用程序发送数据;接下来的三个参数与进程和它的主线程以及返回的指向该对象的句柄的安全性有关。 然后是标志参数,用以在dwCreationFlags参数中指明系统应该给予新进程什么行为。经常
使用
的标志是CREATE_SUSPNDED,告诉主线程立刻暂停。当准备好时,应该
使用
ResumeThread() API来启动进程。另一个常用的标志是CREATE_NEW_CONSOLE,告诉新进程启动自己的控制台窗口,而不是利用父窗口。这一参数还允许设置进程的优先级,用以向系统指明,相对于系统中所有其他的活动进程来说,给此进程多少CPU时间。 接着是Create
Process
() 函数调用所需要的三个通常
使用
缺省值的参数。第一个参数是lpEnvironment参数,指明为新进程提供的环境;第二个参数是lpCurrentDirectory,可用于向主创进程发送与缺省目录不同的新进程
使用
的特殊的当前目录;第三个参数是STARTUPINFO数据结构所必需的,用于在必要时指明新应用程序的主窗口的外观。 Create
Process
() 的最后一个参数是用于新进程对象及其主线程的句柄和ID的返回值缓冲区。以
PROCESS
_INFORMATION结构中返回的句柄调用CloseHandle() API函数是重要的,因为如果不将这些句柄关闭的话,有可能危及主创进程终止之前的任何未释放的资源。 2. 正在运行的进程 如果一个进程拥有至少一个执行线程,则为正在系统中运行的进程。通常,这种进程
使用
主线程来指示它的存在。当主线程结束时,调用
Exit
Process
() API函数,通知系统终止它所拥有的所有正在运行、准备运行或正在挂起的其他线程。当进程正在运行时,可以查看它的许多特性,其中少数特性也允许加以修改。 首先可查看的进程特性是系统进程标识符 (PID) ,可利用GetCurrent
Process
Id() API函数来查看,与GetCurrent
Process
() 相似,对该函数的调用不能失败,但返回的PID在整个系统中都可
使用
。其他的可显示当前进程信息的API函数还有GetStartupInfo()和Get
Process
ShutdownParameters() ,可给出进程存活期内的配置详情。 通常,一个进程需要它的运行期环境的信息。例如API函数GetModuleFileName() 和GetCommandLine() ,可以给出用在Create
Process
() 中的参数以启动应用程序。在创建应用程序时可
使用
的另一个
操作系统课程设计—进程控制
1. 创建进程 Create
Process
() 调用的核心参数是可执行文件运行时的文件名及其命令行。下表详细地列出了每个参数的类型和名称。 Create
Process
() 函数的参数 2. 正在运行的进程 如果一个进程拥有至少一个执行线程,则为正在系统中运行的进程。当调用
Exit
Process
() API函数,通知系统终止它所拥有的所有正在运行、准备运行或正在挂起的其他线程。当进程正在运行时,可以查看它的许多特性。 首先可利用GetCurrent
Process
Id() 函数来查看的进程特性是进程标识符 (PID),返回的PID在整个系统中都可
使用
。其他的可显示当前进程信息的API函数如GetStartupInfo()和Get
Process
ShutdownParameters() 可给出进程的配置信息。 通常,一个进程需要它的运行期环境的信息。例如API函数GetModuleFileName() 和GetCommandLine() ,可以给出用在Create
Process
() 中的参数以启动应用程序。 用GetGuiResources() 来查看进程的GUI资源。此函数既可返回指定进程中的打开的GUI对象的数目,也可返回指定进程中打开的USER对象的数目。进程的其他性能信息可通过Get
Process
IoCounters()、Get
Process
PriorityBoost() 、Get
Process
Times()、Get
Process
WorkingSetSize() 和Get
Process
Version()得到。 3. 终止进程 所有进程都是以调用
Exit
Process
() 或者
Terminate
Process
() 函数结束的。最好用前者而不要用后者,因为进程是在完成了它的所有的关闭任务之后以正常的终止方式来调用前者的。而外部进程通常调用后者即突然终止进程的进行,由于关闭时的途径不太正常,有可能引起错误的行为。
Windows 2000进程控制
Windows所创建的每个进程都从调用Create
Process
() API函数开始,该函数的任务是在对象管理器子系统内初始化进程对象。每一进程都以调用
Exit
Process
() 或
Terminate
Process
() API函数终止。通常应用程序的框架负责调用
Exit
Process
() 函数。对于C++ 运行库来说,这一调用发生在应用程序的main() 函数返回之后。
API之网络函数---整理网络函数及功能
API之网络函数1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接 WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接 WNetEnumResource 枚举网络资源 WNetGetConnection 获取本地或已连接的一个资源的网络名称 WNetGetLastError 获取网络错误的扩展错误信息 WNetGetUniversalName 获取网络中一个文件的远程名称以及/或者UNC(统一命名规范)名称 WNetGetUser 获取一个网络资源用以连接的名字 WNetOpenEnum 启动对网络资源进行枚举的过程 2. API之消息函数 BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口 GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置 GetMessageTime 取得消息队列中上一条消息处理完毕时的时间 PostMessage 将一条消息投递到指定窗口的消息队列 PostThreadMessage 将一条消息投递给应用程序 RegisterWindowMessage 获取分配给一个字串标识符的消息编号 ReplyMessage 答复一个消息 SendMessage 调用一个窗口的窗口函数,将一条消息发给那个窗口 SendMessageCallback 将一条消息发给窗口 SendMessageTimeout 向窗口发送一条消息 SendNotifyMessage 向窗口发送一条消息 3. API之文件处理函数 CloseHandle 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等 CompareFileTime 对比两个文件的时间 CopyFile 复制文件 CreateDirectory 创建一个新目录 CreateFile 打开和创建文件、管道、邮槽、通信服务、设备以及控制台 CreateFileMapping 创建一个新的文件映射对象 DeleteFile 删除指定文件 DeviceIoControl 对设备执行指定的操作 DosDateTimeToFileTime 将DOS日期和时间值转换成一个 win32 FILETIME 值 FileTimeToDosDateTime 将一个 win32 FILETIME 值转换成DOS日期和时间值 FileTimeToLocalFileTime 将一个FILETIME结构转换成本地时间 FileTimeToSystemTime 根据一个FILETIME结构的内容,装载一个SYSTEMTIME结构 FindClose 关闭由FindFirstFile函数创建的一个搜索句柄 FindFirstFile 根据文件名查找文件 FindNextFile 根据调用FindFirstFile函数时指定的一个文件名查找下一个文件 FlushFileBuffers 针对指定的文件句柄,刷新内部文件缓冲区 FlushViewOfFile 将写入文件映射缓冲区的所有数据都刷新到磁盘 GetBinaryType 判断文件是否可以执行 GetCompressedFileSize 判断一个压缩文件在磁盘上实际占据的字节数 GetCurrentDirectory 在一个缓冲区中装载当前目录 GetDiskFreeSpace 获取与一个磁盘的组织有关的信息,以及了解剩余空间的容量 GetDiskFreeSpaceEx 获取与一个磁盘的组织以及剩余空间容量有关的信息 GetDriveType 判断一个磁盘驱动器的类型 GetExpandedName 取得一个压缩文件的全名 GetFileAttributes 判断指定文件的属性 GetFileInformationByHandle 这个函数提供了获取文件信息的一种机制 GetFileSize 判断文件长度 GetFileTime 取得指定文件的时间信息 GetFileType 在给出文件句柄的前提下,判断文件类型 GetFileVersionInfo 从支持版本标记的一个模块里获取文件版本信息
API
1,486
社区成员
23,279
社区内容
发帖
与我相关
我的任务
API
VB API
复制链接
扫一扫
分享
社区描述
VB API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章