首页 > 代码库 > 获取 Windows Mobile 手机上进程列表和CPU占用率

获取 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 )
{
    __int64tick = MAKEDWORDLONG( time.dwLowDateTime,time.dwHighDateTime );
    returnstatic_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
DWORDkernel_tics = GetThreadTick( kernel );
// time in ms spent in user space
DWORDuser_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
HANDLEsnapshot = ::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 );
}

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