xiaotoly 2014-09-25 16:51 采纳率: 0%
浏览 1749

OpenProcess失败 GetLastError()返回1300

一个代理软件想要获取一个服务,在该服务调起来时获取以存在的进程句柄失败:
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, PID);

1.我在WIN7下面运行代理软件,服务的进程能被调起,运行能成功,没有错误;
2.在XP系统下运行代理软件,服务进程返回错误,查看出错的代码位置为:OpenProcess()返回NULL;通过GetLastError()返回1300:并非所有被引用的特权或组都分配给呼叫方。
在XP环境下我是以管理员账户登录的,然后运行软件。

个人认为XP的权限哪里有问题,但又找不到具体原因,希望大家给一些建议。

  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-03-22 13:37
    关注

    该回答引用ChatGPT

    根据错误信息和描述,这可能是因为缺少所需的特权或组权限,导致无法打开进程句柄。您可以尝试以下几个步骤:

    • 确保您正在以管理员身份运行代理软件。在XP系统上,即使以管理员身份登录,也需要在每次启动程序时使用“以管理员身份运行”选项。您可以右键单击代理软件的可执行文件,然后选择“以管理员身份运行”。
    • 确认您有足够的权限来打开进程句柄。在XP系统上,可以尝试通过以下步骤提升权限:
    1. 右键单击代理软件的可执行文件,然后选择“属性”。

    2. 在“兼容性”选项卡中,选择“以管理员身份运行此程序”选项,然后单击“应用”和“确定”按钮。

    • 确认您的代码没有使用任何不受支持的API函数。在XP系统上,一些API函数已被弃用,不再受支持。您可以查看MSDN文档以确定特定函数是否在XP系统上受支持。

    希望这些步骤能够帮助您解决问题。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog