获取 Windows Mobile 手机上进程列表和CPU占用率

[1].[图片] ProcessorUsage.png 跳至 [1] [2] [3] [4] [5]

技术分享

[2].[文件] ProcessorUsage.zip ~ 16KB    下载(66) 跳至 [1] [2] [3] [4] [5]

文件不存在或者代码语言不存在

[3].[文件] ProcessorUsage.ARMV4I.zip ~ 225KB    下载(68) 跳至 [1] [2] [3] [4] [5]

文件不存在或者代码语言不存在

[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 );
}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。