微软主页去下载platform SDK

解决方案 »

  1.   

    CString GetMF(HWND hWnd)
    {
    CString GETMF;
        DWORD PID;
        HANDLE hProcess;
        char Fg[512];
    DWORD (__stdcall *GMFNE)(HANDLE hProcess ,HMODULE hModule,LPTSTR lpFilename,DWORD nSize);
        GetWindowThreadProcessId(hWnd,&PID);
        hProcess=OpenProcess(PROCESS_ALL_ACCESS|PROCESS_QUERY_INFORMATION ,FALSE,PID);
    HMODULE hPsapi=LoadLibrary("PSAPI");
    if(!hPsapi) {exit(0);}
    GMFNE=(DWORD (__stdcall *) (HANDLE, HMODULE,LPTSTR,DWORD))GetProcAddress(hPsapi,"GetModuleFileNameExA");
    GMFNE(hProcess,NULL,Fg,512);
    FreeLibrary(hPsapi);
    GETMF=Fg;
    return GETMF;
    }
      

  2.   

    /*++ BUILD Version: 0001    // Increment this if a change has global effectsCopyright (c) 1994-1999  Microsoft CorporationModule Name:    psapi.hAbstract:    Include file for APIs provided by PSAPI.DLLAuthor:    Richard Shupak   [richards]  06-Jan-1994Revision History:--*/#ifndef _PSAPI_H_
    #define _PSAPI_H_#pragma comment(lib, "psapi.lib")#if _MSC_VER > 1000
    #pragma once
    #endif#ifdef __cplusplus
    extern "C" {
    #endifBOOL
    WINAPI
    EnumProcesses(
        DWORD * lpidProcess,
        DWORD   cb,
        DWORD * cbNeeded
        );BOOL
    WINAPI
    EnumProcessModules(
        HANDLE hProcess,
        HMODULE *lphModule,
        DWORD cb,
        LPDWORD lpcbNeeded
        );DWORD
    WINAPI
    GetModuleBaseNameA(
        HANDLE hProcess,
        HMODULE hModule,
        LPSTR lpBaseName,
        DWORD nSize
        );DWORD
    WINAPI
    GetModuleBaseNameW(
        HANDLE hProcess,
        HMODULE hModule,
        LPWSTR lpBaseName,
        DWORD nSize
        );#ifdef UNICODE
    #define GetModuleBaseName  GetModuleBaseNameW
    #else
    #define GetModuleBaseName  GetModuleBaseNameA
    #endif // !UNICODE
    DWORD
    WINAPI
    GetModuleFileNameExA(
        HANDLE hProcess,
        HMODULE hModule,
        LPSTR lpFilename,
        DWORD nSize
        );DWORD
    WINAPI
    GetModuleFileNameExW(
        HANDLE hProcess,
        HMODULE hModule,
        LPWSTR lpFilename,
        DWORD nSize
        );#ifdef UNICODE
    #define GetModuleFileNameEx  GetModuleFileNameExW
    #else
    #define GetModuleFileNameEx  GetModuleFileNameExA
    #endif // !UNICODE
    typedef struct _MODULEINFO {
        LPVOID lpBaseOfDll;
        DWORD SizeOfImage;
        LPVOID EntryPoint;
    } MODULEINFO, *LPMODULEINFO;
    BOOL
    WINAPI
    GetModuleInformation(
        HANDLE hProcess,
        HMODULE hModule,
        LPMODULEINFO lpmodinfo,
        DWORD cb
        );
    BOOL
    WINAPI
    EmptyWorkingSet(
        HANDLE hProcess
        );
    BOOL
    WINAPI
    QueryWorkingSet(
        HANDLE hProcess,
        PVOID pv,
        DWORD cb
        );BOOL
    WINAPI
    InitializeProcessForWsWatch(
        HANDLE hProcess
        );
    typedef struct _PSAPI_WS_WATCH_INFORMATION {
        LPVOID FaultingPc;
        LPVOID FaultingVa;
    } PSAPI_WS_WATCH_INFORMATION, *PPSAPI_WS_WATCH_INFORMATION;BOOL
    WINAPI
    GetWsChanges(
        HANDLE hProcess,
        PPSAPI_WS_WATCH_INFORMATION lpWatchInfo,
        DWORD cb
        );DWORD
    WINAPI
    GetMappedFileNameW(
        HANDLE hProcess,
        LPVOID lpv,
        LPWSTR lpFilename,
        DWORD nSize
        );DWORD
    WINAPI
    GetMappedFileNameA(
        HANDLE hProcess,
        LPVOID lpv,
        LPSTR lpFilename,
        DWORD nSize
        );#ifdef UNICODE
    #define GetMappedFileName  GetMappedFileNameW
    #else
    #define GetMappedFileName  GetMappedFileNameA
    #endif // !UNICODEBOOL
    WINAPI
    EnumDeviceDrivers(
        LPVOID *lpImageBase,
        DWORD cb,
        LPDWORD lpcbNeeded
        );
    DWORD
    WINAPI
    GetDeviceDriverBaseNameA(
        LPVOID ImageBase,
        LPSTR lpBaseName,
        DWORD nSize
        );DWORD
    WINAPI
    GetDeviceDriverBaseNameW(
        LPVOID ImageBase,
        LPWSTR lpBaseName,
        DWORD nSize
        );#ifdef UNICODE
    #define GetDeviceDriverBaseName  GetDeviceDriverBaseNameW
    #else
    #define GetDeviceDriverBaseName  GetDeviceDriverBaseNameA
    #endif // !UNICODE
    DWORD
    WINAPI
    GetDeviceDriverFileNameA(
        LPVOID ImageBase,
        LPSTR lpFilename,
        DWORD nSize
        );DWORD
    WINAPI
    GetDeviceDriverFileNameW(
        LPVOID ImageBase,
        LPWSTR lpFilename,
        DWORD nSize
        );#ifdef UNICODE
    #define GetDeviceDriverFileName  GetDeviceDriverFileNameW
    #else
    #define GetDeviceDriverFileName  GetDeviceDriverFileNameA
    #endif // !UNICODE// Structure for GetProcessMemoryInfo()typedef struct _PROCESS_MEMORY_COUNTERS {
        DWORD cb;
        DWORD PageFaultCount;
        SIZE_T PeakWorkingSetSize;
        SIZE_T WorkingSetSize;
        SIZE_T QuotaPeakPagedPoolUsage;
        SIZE_T QuotaPagedPoolUsage;
        SIZE_T QuotaPeakNonPagedPoolUsage;
        SIZE_T QuotaNonPagedPoolUsage;
        SIZE_T PagefileUsage;
        SIZE_T PeakPagefileUsage;
    } PROCESS_MEMORY_COUNTERS;
    typedef PROCESS_MEMORY_COUNTERS *PPROCESS_MEMORY_COUNTERS;BOOL
    WINAPI
    GetProcessMemoryInfo(
        HANDLE Process,
        PPROCESS_MEMORY_COUNTERS ppsmemCounters,
        DWORD cb
        );#ifdef __cplusplus
    }
    #endif#endif