获取 Windows Mobile 手机上进程列表和CPU占用率
[4].[代码] [C/C++/Objective-C]代码 跳至 [1] [2] [3] [4] [5]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
/// Convert a FILETIME to ticks (ms)
DWORD
GetThreadTick( const
FILETIME& time
) { __int64
tick = MAKEDWORDLONG( time .dwLowDateTime,
time .dwHighDateTime );
return
static_cast <
DWORD >( tick /= 10000 );
}
FILETIME creation = { 0 },
exit
= { 0 }, kernel = { 0 },
user = { 0 }; ::GetThreadTimes( (
HANDLE )thread_id,
&creation,
& exit ,
&kernel,
&user )
// time in ms spent in kernel space
DWORD
kernel_tics = GetThreadTick( kernel );
// time in ms spent in user space
DWORD
user_tics = GetThreadTick( user ); |
[5].[代码] [C/C++/Objective-C]代码 跳至 [1] [2] [3] [4] [5]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
HANDLE
snapshot = ::CreateToolhelp32Snapshot( TH32CS_SNAPTHREAD, 0 );
if ( INVALID_HANDLE_VALUE != snapshot )
{ THREADENTRY32 te = { 0 };
te.dwSize =
sizeof ( THREADENTRY32 );
if ( ::Thread32First( snapshot, &te ) )
{
do {
// The te.th32ThreadID member will give us the thread ID of
// every thread running in the system.
// te.th32OwnerProcessID tells us which process owns that
// thread.
} while ( ::Thread32Next( snapshot, &te ) );
}
::CloseToolhelp32Snapshot( snapshot );
} |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。