操作系统API使用方法.docVIP

  • 35
  • 0
  • 约1.61万字
  • 约 15页
  • 2017-02-14 发布于江苏
  • 举报
操作系统API使用方法

系统API使用方法 一、OpenProcess 函数用来打开一个已存在的进程对象,并返回进程的句柄。 HANDLE OpenProcess( DWORD dwDesiredAccess, //渴望得到的访问权限(标志) BOOL bInheritHandle, // 是否继承句柄 DWORD dwProcessId// 进程标示符 ); 用来打开一个已存在的进程对象,并返回进程的句柄。 返回值:如成功,返回值为指定进程的句柄。 如失败,返回值为空,可调用GetLastError获得错误代码。 举例 HANDLE hProcess =?OpenProcess( PROCESS_ALL_ACCESS, FALSE, pID ); 附: BOOL ReadProcessMemory( HANDLE hProcess, PVOID pvAddressRemote, PVOID pvBufferLocal, DWORD dwSize, PDWORD pdwNumBytesRead); 参数 hProcess //为远程进程的句柄 pvAddressRemote //用于指明远程进程中的地址 pvBufferLocal //是本地进程中的内存地址 dwSize //是需要传送的字节数 pdwNumBytesRead和pdwNumBytesWritten //用于指明实际传送的字节数.当函数返回时,可以查看这两个参数的值. 二、GetCurrentProcess HANDLE WINAPI GetCurrentProcess( VOID ); 说明:获取当前进程的一个句柄 返回值:为当前进程的句柄 注解:只要当前进程需要一个进程句柄,就可以使用这个伪句柄。该句柄可以复制,但不可继承。不必调用CloseHandle函数来关闭这个句柄 三、GetPriorityClass、 DWORD WINAPI GetPriorityClass(__in HANDLE hProcess ); 说明:获取特定进程的优先级别 返回值:Long,进程的优先级,零表示失败。 四、SetPriorityClass SetPriorityClass(hProcess Long,dwPriorityClass Long) hProcess Long,指定一个进程句柄 dwPriorityClass Long,指定一个新优先级类的一个常数,请参考CreateProcess函数 说明:设置一个进程的优先级别 返回值:Long,进程的优先级,零表示失败。会设置GetLastError 五、CreateSemaphore HANDLE CreateSemaphore( ????LPSECURITY_ATTRIBUTESlpSemaphoreAttributes, // SD ????LONGlInitialCount, // initial count ????LONGlMaximumCount, // maximum count ????LPCTSTRlpName// object name ); 作用:创建一个新的信号量 返回值:Long,如执行成功,返回信号量对象的句柄;零表示出错。会设置GetLastError。即使返回一个有效的句柄,但倘若它指出同名的一个信号量已经存在,那么GetLastError也会返回ERROR_ALREADY_EXISTS lpSemaphoreAttributes SECURITY_ATTRIBUTES,指定一个SECURITY_ATTRIBUTES结构,或传递零值(将参数声明为ByVal As Long,并传递零值)——表示采用不允许继承的默认描述符。该参数定义了信号量的安全特性 lInitialCount Long,设置信号量的初始计数。可设置零到lMaximumCount间的一个值 lMaximumCount Long,设置信号量的最大计数 lpName String,指定信号量对象的名称。用vbNullString可创建一个未命名的信号量 对象。如果已经存在拥有这个名字的一个信号量,就直接打开现成的信号量。这个名字可能不与一个现有的互斥体、事件、可等待计时器或文件映射的名称相符 注解:一旦不再需要,一定记住用CloseHandle关闭信号量的句柄。它的所有句柄都关闭以后,对象自己也会删除。一旦值大于零,信号量就会触发(发出信号)。ReleaseSemaphore函数的作用是增加信号量的计数。如果成功,就调用信号量上的一个等待函数来减少它的计数 六、OpenSemaphore HANDLE OpenSemaphore( DWORD?dwDesiredAccess, // access BOOL?bInheritHandle,

文档评论(0)

1亿VIP精品文档

相关文档