Hi,
ich versuche ein Button in ein fremdes Programm zu injizieren, hier die DLL:
Aber der Button erscheint einfach nicht......
MFG!
ich versuche ein Button in ein fremdes Programm zu injizieren, hier die DLL:
Code:
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <sstream>
#include <time.h>
using namespace std;
static HWND hWnd;
static LONG p;
static int hWndI = 0;
LRESULT CALLBACK NewWndProc (HWND, UINT, WPARAM, LPARAM);
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
hWnd = FindWindowA(0, "AceDB 2.0");
p = GetWindowLong(hWnd, GWL_WNDPROC);
SetWindowLongA(hWnd, GWL_WNDPROC, (long)NewWndProc);
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
LRESULT CALLBACK NewWndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
static HWND hButton_1;
switch(message)
{
case WM_COMMAND:
if (lParam == (LPARAM)hButton_1)
{
return 0;
}
else
{
return CallWindowProcA((WNDPROC)p,hwnd, message,wParam, lParam);
}
case WM_PAINT:
if(hWndI == 0)
{
hButton_1 = CreateWindowA("Button","OBJ", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE, 10, 20, 100,100,hWnd,NULL,((LPCREATESTRUCT) lParam) -> hInstance,NULL);
hWndI++;
UpdateWindow(hWnd);
ShowWindow(hButton_1, SW_SHOW);
UpdateWindow(hButton_1);
}
return CallWindowProcA((WNDPROC)p,hwnd, message,wParam, lParam);
}
return CallWindowProcA((WNDPROC)p,hwnd, message,wParam, lParam);
}
MFG!