TempString:='要显示的文字';
WindowHndle:=FindWindow(nil,'游戏窗口');
myHDC:=GetWindowDC(WindowHndle);
GetWindowRect(WindowHndle,myRect);
myRect.Left:=0;
myRect.Top:=180;
myRect.Right:=240;
myRect.Bottom:=480;
DrawText(myHDC,PChar(TempString),Length(TempString),myRect,DT_LEFT);
以上代码可以在游戏窗口显示文字,但是立刻被屏幕刷新掉;如果最后一句DrawText循环执行,那么'要显示的文字''就会不停的闪烁;
怎样才能在游戏窗口中输出文字并且不闪烁呢?还有就是如果可以不闪烁,那么怎么删除已经输出的文字?
WindowHndle:=FindWindow(nil,'游戏窗口');
myHDC:=GetWindowDC(WindowHndle);
GetWindowRect(WindowHndle,myRect);
myRect.Left:=0;
myRect.Top:=180;
myRect.Right:=240;
myRect.Bottom:=480;
DrawText(myHDC,PChar(TempString),Length(TempString),myRect,DT_LEFT);
以上代码可以在游戏窗口显示文字,但是立刻被屏幕刷新掉;如果最后一句DrawText循环执行,那么'要显示的文字''就会不停的闪烁;
怎样才能在游戏窗口中输出文字并且不闪烁呢?还有就是如果可以不闪烁,那么怎么删除已经输出的文字?
可以在另一个线程中发出
而且Sleep(5);
为何是5?Sleep(10)不行吗?
还有就是,游戏是DirectX的。
还有其他方法吗?