草庐IT

c++ - 带有 DirectX 9.0 的多个全屏窗口

这有点极端,但我正在开发一款使用多台显示器的游戏。由于超出此问题范围的原因,我使用的是“多设备方法”而不是交换链。我的代码类似于以下示例:http://www.codesampler.com/dx9src/dx9src_1.htm#dx9_multiple_devices我正在努力解决的问题是,我找不到相关文档的是,是否可以在真正的全屏模式下运行两个窗口(即d3dpp.Windowed=FALSE;)。目前我在第二次调用CreateDevice时收到“无效参数”HRESULT。如果一个窗口是全屏的,但不是两个都是全屏的,它工作正常。不过,我希望有一个设置可以使这项工作...提前干杯

c++ - 无法将 'LPCWSTR {aka const wchar_t*}' 转换为 'LPCSTR {aka const char*}

我一直在尝试让Glew和opengl3.2在win32上下文中使用代码块(minGW)。我找到了一个不错的小教程here因为我一直在努力弄清楚在代码块中编译glew是否真的可行,所以我想在学习教程之前先试用一下源代码,看看它是否可行。在稍微调整代码后,我尝试编译并遇到了几个我以前从未见过的错误。它们如下|Infunction'boolcreateWindow(LPCWSTR,int,int)':||73|error:cannotconvert'LPCWSTR{akaconstwchar_t*}'to'LPCSTR{akaconstchar*}'inassignment||80|erro

c++ - 如何将 std::string 转换为 BSTR*?

如何将std::string转换为BSTR*?STDMETHODIMPCMyRESTApp::rest(BSTRdata,BSTR*restr){RESTClientrestclient;RESTClient::responseresp=restclient.get(data);Log("ResponseStatuscode:%s",resp.code);Log("ResponseBody:%s",resp.body);*restr=//herereturnS_OK;}我需要转换resp.body,然后将其返回给此处的*restr。 最佳答案

c++ - 调整大小时如何强制窗口保持一定的宽度/高度比

我希望我的窗口始终保持一定比例,比方说1.33333333。所以,如果窗口是width=800,height=600并且用户将宽度更改为600,我想自动将高度更改为450。我已经拦截了WM_SIZE但我不知道它是否足够;我也不知道如何更改宽度或高度以保持我的比例。 最佳答案 WM_SIZING在用户调整窗口大小时发送到窗口。宁处理WM_WINDOWPOSCHANGING-这是在代码(或用户)更改窗口大小时由内部SetWindowPos函数发送的,并且将确保即使是平铺和级联操作也遵守您的大小调整策略。

c++ - WinAPI 编辑控件不显示换行符

好吧,这只对了一半。换行符在大多数情况下工作正常,但是当我将文件加载到其中时,没有显示任何换行符。复制文本并将其粘贴到打开查看所有字符的Notepad++中,显示回车符和换行符在那里。我的加载代码:voidopen_file(HWNDhwnd,constchar*fname){SendMessage(textbox,WM_SETTEXT,(WPARAM)0,(LPARAM)"");FILE*file=fopen(fname,"r");fullpath=fname;filename=fullpath.substr(fullpath.rfind('\\')+1,fullpath.lengt

c++ - 使用 Windows 内置的 MP3 解码器播放音频?

我如何从C或C++使用自WindowsMediaPlayer6.1以来Windows内置的MP3解码器?我想播放mp3文件而不必依赖任何其他第三方库,例如LAME.DLL。我更新了问题以更好地符合我得到的答案,因为我非常喜欢它们。Relatedquestion. 最佳答案 当然。与WindowsAPI中的许多其他内容一样,播放.mp3文件的方法不止一种。以编程方式执行此操作的“最简单”方法是使用DirectShow。MSDN文档甚至在恰本地称为"HowToPlayaFile"的页面上包含了一个最小的代码示例。让你开始://Visua

c++ - std::ostringstream 未返回有效字符串

我正在尝试使用std::ostringstream将数字转换为字符串(char*),但它似乎不起作用。这是我的代码:#include#includeintmain(){std::ostringstreamout;out生成的消息框内根本没有文本。这让我相信对out.str().c_str()的调用返回了一个无效的字符串,但我不确定。由于到目前为止我已经对这个程序进行了缩减,但问题仍然存在,所以我一定是犯了一个令人尴尬的简单错误。感谢您的帮助! 最佳答案 out.str()返回一个std::string按值,这意味着您正在调用.c_s

c++ - 我如何找到标签等于字符串变量的 TreeView 节点?

首先,我要感谢所有花时间查看此主题并尝试提供帮助的人。我在网上搜索过,找不到选择标签文本与字符串变量文本相同的TreeView节点的示例。在MSDN上我找到了消息TVM_GETISEARCHSTRING但我不知道它是否可以用来解决我的问题。即使可以,我仍然不知道如何使用它。我有一个字符串变量,用于保存来自数据库的文本。当程序加载时,TreeView应该有一个选择了相同文本的节点。请提供一些说明或代码片段,因为我什至不知道如何开始编写代码。我在MSVisualStudioExpress2008中工作,在WindowsXP上使用C++,使用纯WIN32API。就这些了,我再次感谢所有试图提

c++ - 检查是否存在 Windows API 函数

我是Windows编程的新手,我正在尝试发现检查WindowsShellAPI函数是否存在的最佳方法。我想使用Windows7中的一些新任务栏功能。https://msdn.microsoft.com/en-us/library/dd378460%28VS.85%29.aspx#custom_jump_lists但我仍然希望我的程序可用于以前版本的Windows。有没有一种简单的方法可以知道这些功能是否可以在最终用户系统中调用。我正在用C++编程。 最佳答案 这取决于函数的种类。对于普通(非COM)函数,唯一的方法是使用LoadLi

c++ - Windows API 图形用户界面设计器?

是否有适用于普通旧WindowsAPI的优秀GUI设计器(阅读:拖放/所见即所得)?我不是在寻找使用Qt、GTK、.NET等的东西,只是寻找普通的旧WindowsAPI。必须可用于C或C++。 最佳答案 您正在寻找资源编辑器。VisualStudioProfessional、Premium和Ultimate在IDE中内置了一个。您可以通过创建一个新的.rc文件然后向其中添加资源来访问它。如果您不使用VisualStudio,则可以使用外部资源编辑器,例如ResEdit。不幸的是,没有将它内置到IDE中有点麻烦。