第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

你好,OpenProcess()函數(shù)返回值為什么返回NULL 急需解決

你好,OpenProcess()函數(shù)返回值為什么返回NULL 急需解決

C# C
守著星空守著你 2021-08-04 19:07:08
魔獸3 運行后,運行該段代碼,hwnd 值不為 NULL,為什么 handle 值為 NULL?c++ 代碼如下:HWND hwnd = FindWindow( NULL, L"Warcraft III");DWORD wtp_id = 0;if( hwnd != NULL ){HANDLE handle = OpenProcess( PROCESS_ALL_ACCESS, false, GetWindowThreadProcessId( hwnd, &wtp_id ) );if( handle != NULL ){//可在這里添加讀寫內(nèi)存的代碼CloseHandle( handle );}}
查看完整描述

2 回答

?
斯蒂芬大帝

TA貢獻1827條經(jīng)驗 獲得超8個贊

If the function succeeds, the return value is an open handle to the specified process.
If the function fails, the return value is NULL. To get extended error information, call GetLastError.
就是說如果函數(shù)執(zhí)行成功的話返回的就是一個打開進程的句柄,如果失敗了就是NULL,具體錯誤的原因你可以調(diào)用GetLastError查看

查看完整回答
反對 回復 2021-08-09
?
楊魅力

TA貢獻1811條經(jīng)驗 獲得超6個贊

如果你是用VS2008的話,可能是程序執(zhí)行權(quán)限問題,可以試試這樣:

//提升程序的權(quán)限
BOOL EnablePrivilege(LPCSTR lpName, BOOL fEnable)
{
HANDLE hObject;
LUID Luid;
TOKEN_PRIVILEGES NewStatus;

if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY | TOKEN_ADJUST_PRIVILEGES, &hObject))
return FALSE;

if (LookupPrivilegeValue(NULL, lpName, &Luid))
{
NewStatus.Privileges[0].Luid = Luid;
NewStatus.PrivilegeCount = 1;
NewStatus.Privileges[0].Attributes = fEnable ? SE_PRIVILEGE_ENABLED : 0;

AdjustTokenPrivileges(hObject, FALSE, &NewStatus, 0, 0, 0);

CloseHandle(hObject);
return TRUE;
}

return FALSE;
}

OnInitDialog()中調(diào)用:
EnablePrivilege(SE_DEBUG_NAME,TRUE); //提升程序的權(quán)限



查看完整回答
反對 回復 2021-08-09
  • 2 回答
  • 0 關(guān)注
  • 468 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號