精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VB和Basic>>〓〓.VB电子文档集锦.〓〓>>《老猫:VB声明API》>>VB API:进程和线程函数 第一页

主题:VB API:进程和线程函数 第一页
发信人: winsy(鹰派)
整理人: winsy(2003-03-16 10:34:40), 站内信件
CreatProcess 

VB声明 
Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (ByVal lpApplicationName As String, ByVal lpCommandLine As String, lpProcessAttributes As SECURITY_ATTRIBUTES, lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, lpEnvironment As Any, ByVal lpCurrentDriectory As String, lpStartupInfo As STARTUPINFO, lpProcessInformation As PROCESS_INFORMATION) As Long
 
说明 
创建一个新进程 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
lpApplicationName String,要执行的应用程序的名字。可设为vbNullString;在这种情况下,应用程序的名字应在lpCommandLine参数的起始处出现 
lpCommandLine String,要执行的命令行。可用GetCommandLine函数取得一个进程使用的命令行。windows会尽可能地根据下述搜索顺序来查找执行文件: 
(1)包含了父进程执行文件的目录 
(2)父进程当前的目录 
(3)由GetSystemDirectory返回的系统目录 
(4)仅适于windows NT:16位系统目录 
(5)由GetSystemDirectory返回的windows目录 
(6)由PATH环境变量指定的目录 
lpProcessAttributes SECURITY_ATTRIBUTES,指定一个SECURITY_ATTRIBUTES结构,或传递零值表示采用不允许继承的默认描述符。该参数定义进程的安全特性 
lpThreadAttributes SECURITY_ATTRIBUTES,指定一个SECURITY_ATTRIBUTES结构,或传递零值表示采用不允许继承的默认描述符。该参数定义进程之主进程的安全特性 
bInheritHandles Long,TRUE表示允许当前进程中的所有句柄都由新建的子进程继承 
dwCreationFlags Long,来自API32.TXT文件的一个或多个下述常数之一,它们都带有前缀CREATE_。下面这些用于VB程序员: 
CREATE_SEPARATE_WOW_VDM(仅适用于NT):启动一个16位的windows应用程序时,强迫它在自己的内存空间运行 
CREATE_SHARED_WOW_VDM(仅适用于NT):启动一个16位的windows应用程序时,强迫它在共享的16位虚拟机内运行 
CREATE_SUSPENDED:立即挂起新进程。除非调用ResumeThread函数。 
IDLE_PRIORITY_CLASS:新进程应该有非常低的优先级,只有在系统空闲的时候才能运行。基本值是4 
HIGH_PRIORITY_CLASS:新进程应该有非常高的优先级,基本值是13 
NORMAL_PRIORITY_CLASS:标准优先级。如进程位于前台,则基本值是9;如在后台。则优先值是7 
lpEnvironment 任何类型,指向一个环境块的指针 
lpCurrentDriectory String,新进程的当前目录路径 
lpStartupInfo STARTUPINFO,指定一个STARTUPINFO结构,其中包含了创建进程时使用的附加信息 
lpProcessInformation PROCESS_INFORMATION,该结构用于容纳新进程的进程和线程标识。大多数情况下,一旦这个函数返回,父应用程序都会关闭两个句柄。 


ExitProcess 

VB声明 
Declare Sub ExitProcess Lib "kernel32" Alias "ExitProcess" (ByVal uExitCode As Long)
 
说明 
  中止一个进程 
在VB中使用 
  应尽量避免用该函数来关闭进程。不要在自己的VB程序中使用它。此时,应试着向要关闭的那个程序的主窗口投递一条WM_CLOSE消息 
参数表 
参数 类型及说明 
uExitCode Long,指定想中断的那个程序的一个退出代码 


FindExecutable 

VB声明 
Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" (ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult As String) As Long
 
说明 
  查找与一个指定文件关联在一起的程序的文件名 
返回值 
Long,大于32表示成功;31表示不存在文件类型的关联;0表示系统内存或资源不足;ERROR_FILE_NOT_FOUND表示指定的文件不存在;ERROR_PATH_NOT_FOUND表示指定的路径不存在;ERROR_BAD_FORMAT表示执行格式无效 
参数表 
参数 类型及说明 
lpDirectory String,要使用的默认目录的完整路径 
lpResult String,指定一个字串缓冲区,用于装载可执行文件或程序的名字。注意这个字串预先至少都要初始化成MAX_PATH个字符的长度 
lpFile String,指定要为其查找相关程序的一个文件名或程序名 


FreeLibray 

VB声明 
Declare Function FreeLibrary Lib "kernel32" Alias "FreeLibrary" (ByVal hLibModule As Long) As Long
 
说明 
  释放指定的动态链库,它们早先是用LoadLibray API函数装载 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
在VB里使用 
  只能用这个函数释放那些由应用程序明确装载的DLL,一个LoadLibray对应一个FreeLibray 
参数表 
参数 类型及说明 
hLibModule Long,要释放的一个库的句柄 


GetCurrentProcess 

VB声明 
Declare Function GetCurrentProcess Lib "kernel32" Alias "GetCurrentProcess" () As Long
 
说明 
  获取当前进程的一个伪句柄 
返回值 
Long,当前进程的伪句柄 
注解 
只要当前进程需要一个进程句柄,就可以使用这个伪句柄。该句柄可以复制,但不可继承。不必调用CoseHandle函数关闭
 

GetCurrentProcessId 

VB声明 
Declare Function GetCurrentProcessId Lib "kernel32" Alias "GetCurrentProcessId" () As Long
 
说明 
  获取当前进程一个唯一的标识符 
返回值 
Long,当前进程的标识符 


GetCurrentThread 

VB声明 
Declare Function GetCurrentThread Lib "kernel32" Alias "GetCurrentThread" () As Long
 
说明 
  获取当前线程的一个伪句柄 
返回值 
Long,当前线程的伪句柄 
注解 
只要当前线程需要一个进程句柄,就可以使用这个伪句柄。该句柄可以复制,但不可继承。不必调用CoseHandle函数关闭
 

GetExitCodeProcess 

VB声明 
Declare Function GetExitCodeProcess Lib "kernel32" Alias "GetExitCodeProcess" (ByVal hProcess As Long, lpExitCode As Long) As Long
 
说明 
  获取一个已中断进程的退出代码 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
lpExitCode Long,用于装载进程退出代码的一个长整数变量。如进程还未中止,则设为常数STILL_ACTIVE 
hProcess  Long,想获取退出代码的一个进程的句柄 


GetExitCodeThread 

VB声明 
Declare Function GetExitCodeThread Lib "kernel32" Alias "GetExitCodeThread" (ByVal hThread As Long, lpExitCode As Long) As Long
 
说明 
  获取一个已中断线程的退出代码 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
lpExitCode Long,用于装载线程退出代码的一个长整数变量。如线程还未中止,则设为常数STILL_ACTIVE 
hThread Long,想获取退出代码的一个线程的句柄 


GetModuleFileName 

VB声明 
Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long
 
说明 
  获取一个已装载模板的完整路径名称 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
hModule Long,一个模块句柄,可以是一个DLL模块 
lpFileName String,指定一个字串缓冲区,要在其中容纳文件的用NULL字符中止的路径名,hModule模块就是从这个文件装载进来的 
nSize Long,装载到缓冲区lpFileName的最大字符数量 
注解 
  在win95下,函数会核查应用程序的内部版本号是否为4.0或更大的一个数字。如果是,就返回一个长文件名,否则返回短文件名
 


GetModuleHandle 

VB声明 
Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
 
说明 
获取一个应用程序或动态链接库的模块句柄 
返回值 
Long,成功,则返回模块句柄。零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
lpModuleName String,指定模块名,这通常是与模块的文件名相同的一个名字 
注解 
只有在当前进程的场景中,这个句柄才有效
 

GetPriorityClass  

VB声明 
Declare Function GetPriorityClass Lib "kernel32" Alias "GetPriorityClass" (ByVal hProcess As Long) As Long
 
说明 
  获取特定进程的优先级别 
返回值 
Long,进程的优先级,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
hProcess Long,进程句柄 


GetProcessShutdownParameters 

VB声明 
Declare Function GetProcessShutdownParameters Lib "kernel32" Alias "GetProcessShutdownParameters" (lpdwLevel As Long, lpdwFlags As Long) As Long
 
说明 
  调查系统关闭时一个指定的进程相对于其它进程的关闭早迟情况 
返回值 
Long,非零表示成功,零表示失败。 
参数表 
参数 类型及说明 
lpdwLevel Long,从0到&H4FF的一个值。编号越高程序在系统关闭时越早关闭。 
lpdwFlags Long,指定SHUTDOWN_NORETRY标志。如关闭一个进程时,会出现一个重试对话框。通过设置这个标志,就可以禁止那个对话框出现,并直接关闭进程 
适用平台 
   Wnidows NT
 


GetProcessTimes 

VB声明 
Declare Function GetProcessTimes Lib "kernel32" Alias "GetProcessTimes" (ByVal hProcess As Long, lpCreationTime As FILETIME, lpExitTime As FILETIME, lpKernelTime As FILETIME, lpUserTime As FILETIME) As Long
 
说明 
  获取与一个进程的经过时间有关的信息 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
hProcess Long,一个进程句柄 
lpCreationTime FILETIME,指定一个FILETIME结构,在其中装载进程的创建时间 
lpExitTime FILETIME,指定一个FILETIME结构,在其中装载进程的中止时间 
lpKernelTime FILETIME,指定一个FILETIME结构,在其中装载进程花在内核模式上的总时间 
lpUserTime FILETIME,指定一个FILETIME结构,在其中装载进程花在用户模式上的总时间 
适用平台 
Windows NT
 

GetProcessWorkingSetSize 

VB声明 
Declare Function GetProcessWorkingSetSize Lib "kernel32" Alias "GetProcessWorkingSetSize" (ByVal hProcess As Long, lpMinimumWorkingSetSize As Long, lpMaximumWorkingSetSize As Long) As Long

 
说明 
  了解一个应用程序在运行过程中实际向它交付了多大容量的内存 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
hProcess Long,指定一个进程的句柄 
lpMinimumWorkingSetSize Long,用于装载最小进程容量的一个变量 
lpMaximumWorkingSetSize Long,用于装载最大进程容量的一个变量 
适用平台 
Windows NT
 

GetSartupInfo 

VB声明 
Declare Sub GetStartupInfo Lib "kernel32" Alias "GetStartupInfoA" (lpStartupInfo As STARTUPINFO)
 
说明 
获取一个进程的启动信息 
参数表 
参数 类型及说明 
lpStartupInfo STARTUPINFO,指定一个STARTUPINFO结构,用于最终载入进程的启动信息 


[关闭][返回]