张志峰的博客

水滴石川,积少成多。

导航

2011年8月23日

摘要: 函数原型 BOOL WINAPI GetExitCodeProcess( __in HANDLE hProcess, __out LPDWORD lpExitCode ); [1]编辑本段函数说明 获取一个已中断进程的退出代码 返回值 Long,非零表示成功,零表示失败。会设置GetLastError 参数表 参数 类型及说明 hProcess Long,想获取退出代码的一个进程的句柄 lpExitCode Long,用于装载进程退出代码的一个长整数变量。如进程尚未中止,则设为常数STILL_ACTIVE编辑本段函数声明VC声明 BOOL GetExitCodePr... 阅读全文

posted @ 2011-08-23 14:49 ╰★张志峰★╮ 阅读(5015) 评论(0) 推荐(0) 编辑

摘要: WaitForSingleObject 函数使用等待函数即可以保证线程的同步,又可以提高程序的运行效率。最常用的等待函数是WaitForSingleObject,该函数的声明为:DWORD WaitForSingleObject(HANDLE hHandle, DWORD dwMilliseconds);参数hHandle是同步对象的句柄。参数dwMilliseconds是以毫秒为单位的超时间隔,如果该参数为0,那么函数就测试同步对象的状态并立即返回,如果该参数为INFINITE,则超时间隔是无限的。 WaitForSingleObject的返回值返回值 含义WAIT_FAILE... 阅读全文

posted @ 2011-08-23 14:46 ╰★张志峰★╮ 阅读(802) 评论(0) 推荐(0) 编辑

摘要: Delphi CreateProcess WIN32API函数CreateProcess用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件2010-12-27 17:00:17|分类: Delphi |标签: |字号大中小订阅CreateProcess百科名片WIN32API函数CreateProcess用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件。目录函数原型参数返回值举例说明 C代码 C++代码函数原型参数返回值举例说明 C代码 C++代码展开 编辑本段函数原型 BOOL CreateProcess ( LPCTSTR lpApplication... 阅读全文

posted @ 2011-08-23 11:55 ╰★张志峰★╮ 阅读(9017) 评论(0) 推荐(1) 编辑

摘要: 执行一个外部程序并等待他的结束//下面的函数执行一个程序并且等他的结束。//在外部程序结束运行之前,不能做任何操作!//EXL:WinExecW('C:\Windows\NOtePad.exe', '', sw_show);Function WinExecW(CMD, WorkDir: PChar; Visialbe: integer):DWORD;var StartupInfo: TStartupInfo; ProcessInfo: TProcessInformation;begin FillChar(StartupInfo, Sizeof(StartupIn 阅读全文

posted @ 2011-08-23 10:11 ╰★张志峰★╮ 阅读(344) 评论(1) 推荐(0) 编辑

摘要: WaitForSingleObject的用法关键词: WaitForSingleOb WaitForSingleObject的用法DWORD WaitForSingleObject(HANDLE hHandle,DWORD dwMilliseconds);参数hHandle是一个事件的句柄,第二个参数dwMilliseconds是时间间隔。如果时间是有信号状态返回WAIT_OBJECT_0,如果时间超过dwMilliseconds值但时间事件还是无信号状态则返回WAIT_TIMEOUT。hHandle可以是下列对象的句柄: ChangenotificationConsoleinputEven. 阅读全文

posted @ 2011-08-23 09:48 ╰★张志峰★╮ 阅读(341) 评论(0) 推荐(0) 编辑

摘要: 在主线程中慎用WaitForSingleObject (WaitForMultipleObjects)下面的代码我调试了将近一个星期,你能够看出什么地方出了问题吗?线程函数:DWORDWINAPIThreadProc(while(!bTerminate){//从一个链表中读取信息并且插入到CListCtrl中//CListCtrl的句柄是通过线程参数传递进来的for(;;){ReadInfoFromList();InsertToCListCtrl();}}}主线程中使用CreateThread启动线程。当想终止子线程时,在主线程中:bTerminate = TRUE;WaitForSingle 阅读全文

posted @ 2011-08-23 09:15 ╰★张志峰★╮ 阅读(5542) 评论(0) 推荐(0) 编辑