|
|
我现在有一个程序注入了一个DIRECTX的程序里面,DIRECTX是窗口化的,现在我用
txthdc:= GetDc(hh);
SetMapMode(txthdc,1);
hObj1:= CreateFont(-23,11,0,0,FW_NORMAL,0,0,0,$86,0,0,0,1,'宋体');
SelectObject(txthdc,hObj1);
hhBitMap:= CreateDIBSection(txthdc,tBitMap,DIB_RGB_COLORS, ppbit,0,0);
SelectObject(txthdc,hhBitMap);
SetBkMode(txthdc,OPAQUE);
SetTextColor(txthdc, $0FFFFFF);
SetBkColor(txthdc,0);
SetTextAlign(txthdc,(TA_LEFT or TA_TOP));
GetClientRect(hh,nRect);
DrawText(txthdc, 'hello world',-1, nRect, (DT_SINGLELINE or DT_CENTER or DT_VCENTER));
代码在DX的程序上写字,字是写出来了,但是一直被重绘制,我现在是用TIMER维持我的文字的重绘(TIMER延迟设置1毫秒),如果不用TIMER,那么字只显示一下很快就被DX程序重新刷掉了,但是用TIMER,字闪的厉害,各位有什么好的办法吗? |
|