发信人: 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结构,用于最终载入进程的启动信息
|
|