想在DirectX全屏界面下能弹出一个对话框,并且能显示自己的信息。要能像金山游侠那样的智能弹出。或者能直接对DirectX界面操作(TextOut,Line等)参考xenix的大作,做过一些尝试,有过不少收获。http://www.csdn.net/develop/Read_Article.asp?Id=15381
首先,确实能在一些游戏界面下弹出对话框,并且可以自己控制对话框内的控件。比如:传奇、大航海时代等游戏。
但是,在《星级争霸》游戏界面下弹出的对话框不是经常可见的(一般是不可见的,如果鼠标在对话框上动作,则能看到对话框一会,又消失了)。经过思考,可能是由于DirectX不停地Flip以及更新画面导致对话框显示后被刷新没了。当有鼠标动作时,重绘对话框(这时就能看见),但马上又被刷新了。而且使用这种方法对对话框内的控件进行控制很麻烦(在DialogProc中处理消息,我还不会别的方法)。如果想在对话框中使用一个自己订做的控件,我还没有想到解决的方法。也就是只能使用常规控件。因为在创建对话框的时候使用的是CreateDialog或DialogBox时,只是使用了资源模板并没有用到对话框的类资源。高手不吝赐教啊!!!!!!!!!!!!!!!!!!
#######提供思路也行#######
up 有分
首先,确实能在一些游戏界面下弹出对话框,并且可以自己控制对话框内的控件。比如:传奇、大航海时代等游戏。
但是,在《星级争霸》游戏界面下弹出的对话框不是经常可见的(一般是不可见的,如果鼠标在对话框上动作,则能看到对话框一会,又消失了)。经过思考,可能是由于DirectX不停地Flip以及更新画面导致对话框显示后被刷新没了。当有鼠标动作时,重绘对话框(这时就能看见),但马上又被刷新了。而且使用这种方法对对话框内的控件进行控制很麻烦(在DialogProc中处理消息,我还不会别的方法)。如果想在对话框中使用一个自己订做的控件,我还没有想到解决的方法。也就是只能使用常规控件。因为在创建对话框的时候使用的是CreateDialog或DialogBox时,只是使用了资源模板并没有用到对话框的类资源。高手不吝赐教啊!!!!!!!!!!!!!!!!!!
#######提供思路也行#######
up 有分
解决方案 »
- socket()函数创建套接字失败,错误值是10106
- 如何阻止某个进程获得鼠标、键盘焦点?
- 文本框内容转存成txt
- 哪里有“选择路径”对话框的模板??
- 请教大家一下: 如何在EDIT框里绘制栅格?
- 如何确定键盘上同时按下了两个健,如shift + UP
- 基于对话框的程序,在启动时,让它最小化或隐藏,有人能够么?
- 我机子坏了敬请高手帮忙(开机是屏幕无任何信息)
- MFC控件CTreeCtrl如何实现即使节点没有子节点也显示前面的“+”展开按钮
- 求一图形学中:多边形裁剪 ,活性边填充 例程,急!!!!!!!!!!!!!
- 再发一帖:难道没有人会《《回调函数的问题!!高手请进!!很急,在线等》》在线程中调用回调函数
- 请问大虾:如何在增加硬件后用程序进行硬件扫描?
他叫李维,写过不少有水平的源码。我这个专业程序员也常向他请教。他的个人网站
http://ultratools.icpcn.com/
上面有你们想要的答案,有源码!
由谁用过CreateDialog()或DialogBox()?函数给在别的窗口B中创建过对话框?
如果创建对话框的程序A没有结束之前关闭窗口B,必然会出现一个程序运行错误的系统提示
如何解决?
很简单的问题,你用工具将DX删除点,在运行
星际,试试就知道了,列如:winamp就没用DX
SuspendProcess
截屏
弹出对话框
清除
ResumeProcess
CloseHandle估计是这样
case IDM_SHOW_DIALOG: &&就是这里啦!(hInst,hWnd要改为目标程式的)
{
HINSTANCE hInst;
#ifdef _WIN64
hInst = (HINSTANCE) GetWindowLongPtr( hWnd, GWLP_HINSTANCE );
#else
hInst = (HINSTANCE) GetWindowLong( hWnd, GWL_HINSTANCE );
#endif
g_hWndDlg = CreateDialog( hInst, MAKEINTRESOURCE(IDD_DIALOG_SAMPLE),
hWnd, (DLGPROC) SampleDlgProc );
ShowWindow( g_hWndDlg, SW_SHOWNORMAL );
}
break;
}
break; // Continue with default processing
还有FullScreenDialog例子是在哪里?MSDN?还是在DIRECTX SDK文档里?
Email:[email protected]
去我的网站下载新版范例吧,http://ultratools.icpcn.com/prod/dxpopup.htm
星际肯定不是汇编写的,谁有能力用汇编组织那么大的程序。用 WinHex 打开 starcraft.exe 末尾可以看到很多的字符串,比如 lang.cpp ...还有楼上的几位兄弟搞错了,微软的是DX程序自己弹出对话框,而搂住要的是用别的程序在游戏中出对话框,就像《金山游侠》