J'ai accidentellement supprimé la compatibilité Win2K d'une application en utilisant GetProcessID.Alternative à GetProcessID pour Windows 2000
Je l'utilise comme ceci, pour obtenir le HWND principal pour l'application lancée.
ShellExecuteEx(&info); // Launch application
HANDLE han = info.hProcess; // Get process
cbinfo.han = han;
//Call EnumWindows to enumerate windows....
//with this as the callback
static BOOL CALLBACK enumproc(HWND hwnd, LPARAM lParam)
{
DWORD id;
GetWIndowThreadProcessID(hwnd, &id);
if (id == GetProcessID(cbinfo.han))
setResult(hwnd)
...
}
Des idées comment la même fonction pourrait être réalisée sur Win2K?
Je suppose que vous vouliez dire NtQueryInformationProcess() - Quelle est la différence entre cela et ZwQueryInformationProcess()? – Roddy
il ne semble y avoir aucune différence entre ZwQueryInformationProcess() et NtQueryInformationProcess(). Sur Vista, ils ont tous les deux la même adresse. Les deux étant marqués potentiellement indisponibles, tester le système d'exploitation * est * nécessaire pour une compatibilité future. – Roddy
En mode noyau, ils sont différents. – ChristianWimmer