当前位置:编程学习 > C#/ASP.NET >>

【求助】VC编译问题!

GetProcessHandle.cpp(49) : error C2065: 'OpenThread' : undeclared identifier
C:/GetProcessHandle.cpp(49) : error C2440: '=' : cannot convert from 'int' to 'void *'
为什么会编译错误?
请帮帮我,我是VC新手。
符代码
#include <Windows.h>
#include <stdio.h>
// Function coded by ViscountPherget
HANDLE GetProcessHandle(bool thread,DWORD desired_access,BOOL inherit_handle,DWORD identifier)
{
HANDLE handle_token;
HANDLE handle;
if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&handle_token)==0)
{
  return 0;
}
TOKEN_PRIVILEGES privileges_token;
LUID identifier_locally_unique;
TOKEN_PRIVILEGES privileges_token_previous;
DWORD privileges_token_previous_size;
if(LookupPrivilegeValue(0,SE_DEBUG_NAME,&identifier_locally_unique)==0)
{
  return 0;
}
privileges_token.PrivilegeCount = 1;
privileges_token.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
privileges_token.Privileges[0].Luid = identifier_locally_unique;
AdjustTokenPrivileges
(
  handle_token,
  0,
  &privileges_token,
  sizeof(privileges_token),
  &privileges_token_previous,
  &privileges_token_previous_size
);
if(GetLastError()!=ERROR_SUCCESS)
{
  return 0;
}
privileges_token.Privileges[0].Attributes = privileges_token_previous.Privileges[0].Attributes;
if(thread)
{
  handle = OpenThread(desired_access,inherit_handle,identifier);  (OpenThread错误?)
}
else
{
  handle = OpenProcess(desired_access,inherit_handle,identifier);
}
AdjustTokenPrivileges
(
  handle_token,
  0,
  &privileges_token,
  sizeof(privileges_token),
  0,
  0
);
if(GetLastError()!=ERROR_SUCCESS)
{
  return 0;
}
return handle;
}  VC --------------------编程问答-------------------- 在线等,急啊 --------------------编程问答-------------------- VC6.0的windows.h中没有OpenThread的定义。你需要使用新版SDK中的头文件,或者换VC2005等新版。 --------------------编程问答-------------------- rpwt
=====
songkim
    songkim 
    songkim 
    等级:Blank
    结帖率:0% 
补充:.NET技术 ,  VC.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,