Я хочу управлять другими запущенными программами напрямую CallWindowProc
вместо SendMessage
, мой код:
#define UNICODE
#include <Windows.h>
#include <stdio.h>
int main(){
HWND hwnd;
scanf("%d", &hwnd);
WNDPROC l = (WNDPROC)GetWindowLongPtr(hwnd, GWL_WNDPROC);
CallWindowProc(l, hwnd, WM_PAINT, NULL, NULL);
return GetLastError();
}
Это очень просто, но после того, как я ввел получил HWND от любого другого запущенного окна с помощью spy ++, он потерпел неудачу с возвращаемым значением 5. Что означает Permission Denied
на GetLastError()
Я запутался. Поэтому я буду признателен, если кто-нибудь сможет мне помочь.
Я использую Visual Studio 2010 express (C ++) и открываю IDE в режиме администратора. Я также использую Windows 7 и закрыл свой UA C.
Заранее спасибо.