Articles of visual studio 2008

鼠标光标位图

我试图从鼠标光标获取位图,但下一个代码,我只是无法获得颜色。 CURSORINFO cursorInfo = { 0 }; cursorInfo.cbSize = sizeof(cursorInfo); if (GetCursorInfo(&cursorInfo)) { ICONINFO ii = {0}; int p = GetIconInfo(cursorInfo.hCursor, &ii); // get screen HDC dc = GetDC(NULL); HDC memDC = CreateCompatibleDC(dc); //SelectObject(memDC, ii.hbmColor); int counter = 0; // byte* bits[1000];// = new byte[w * 4]; BITMAPINFO bmi; memset(&bmi, 0, sizeof(BITMAPINFO)); bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); […]

OpenGL:如何控制我的窗口将使用哪种缓冲方法?

我想让用户能够从双缓冲和三重缓冲中进行select,因为在某些卡(或OS?)上默认启用了三重缓冲,并导致一些性能问题。 我怎样才能做到这一点?

生成最快的可执行文件

我有一个非常大的程序,我一直在visual studio下编译(v6然后迁移到2008)。 我需要可执行文件尽可能快地运行。 该程序花费大部分时间处理各种大小的整数,并且IO很less。 很明显,我会select最大化优化,但似乎有很多事情可以做,而不是在优化的标题下,这仍然会影响可执行文件的速度。 例如,select__fastcall调用约定或将结构成员alignment设置为一个大数字。 所以我的问题是:有没有其他的编译器/链接器选项,我应该用来使程序更快,而不是从“属性”对话框的“优化”页面进行控制。 编辑:我已经广泛使用探查器。

在Visual Studio 2008中构buildlibcurl库

我正在尝试从源代码构buildlibcurl。 我已经尝试了几乎所有已经在任何论坛上回答的事情,但没有成功。 任何人都可以告诉我如何做到这一点? 我发现这个问题构buildlibcurl库在c + +,Noob的问题,但解决scheme不适合我 然后我发现这个指南http://curl.haxx.se/libcurl/c/Using-libcurl-with-SSH-support-in-Visual-Studio-2008.pdf我跟着每一步,事情顺利,直到结束文件的第3.4节,当我尝试构buildlibSSH2它显示错误 fatal error LNK1181: cannot open input file 'libeay32.lib;ssleay32.lib' 这个错误的可能原因是该path包含“空格”,但我的path是 C:\openssl_lib\lib 如文件中所写(不含空格)。 当我找不到任何解决scheme,我甚至重命名该文件夹 "openssl_lib" to "openssllib" 只是为了确保“_”字符不是这个错误的原因,但没有用。 然后,我发现有时连接器会导致问题,如果库名称不存在“lib”前缀。 我手动将库文件重命名为 libeay32.lib and libssleay32.lib 但是这也不能解决问题。 我已经花了8个小时,一次又一次地经历了所有的麻烦,我现在太沮丧,所以请帮助… 环境详细信息:Windows 7 64位Visual Studio 2008

如何在windows上用C写unicode hello world

为了得到这个工作: #define UNICODE #define _UNICODE #include <wchar.h> int main() { wprintf(L"Hello World!\n"); wprintf(L"£안, 蠀, ☃!\n"); return 0; } 使用Visual Studio 2008 express(在Windows XP上,如果有的话)。 当我从命令提示符运行(开始为应该启用unicode的cmd / u?)我得到这个: C:\ dev的\ unicodevs \ unicodevs \debugging> unicodevs.exe 你好,世界! ┬ú∞ C:\ dev的\ unicodevs \ unicodevs \debugging> 我想这是预料的,因为terminal没有字体来渲染这些。 但是,得到我的是,即使我试试这个: C:\ dev \ unicodevs \ unicodevs \ Debug> cmd / u / […]

.NET:ListView的TopItem属性失败,并显示“ShowGroups”= true

我有一个ListView显示约300项。 当有东西被改变,我需要重新填充列表,我希望滚动位置不变,所以相同的项目仍然可见,并在列表中的相同位置。 “EnsureVisible”方法很糟糕,因为它符合“Visible”,而不是相同的位置(结果是感兴趣的项目总是滚动到列表的底部)。 我对这个问题的解决scheme是保存(我的)“ID”的List-> TopItem,重新填写列表,然后调用List-> TopItem = newItemWithSameID(需要设置两次,出于某种原因工作)。 这对于基本的“未分组”列表来说是一种魅力。 但是 – 如果列表中有“ShowGroups = true”,这是行不通的。 TopItem属性将永远是列表中的第一个项目,而不是文档中所说的第一个VISIBLE项目。 有解决scheme吗? 我search了一下,发现了另一个失去灵魂的同样的问题。 他有一个相当有趣的讨论微软的支持,没有成功。(http://social.msdn.microsoft.com/Forums/en/winforms/thread/8a81c5a6-251c-4bf9-91c5-a937b5cfe9f3)。 所以 – 我的问题是:有没有解决方法? 我真的需要把这个列表分组,当我的列表跳转时,我真的很讨厌。 我不会在这里粘贴任何代码,因为所有需要重现的代码都在上面的讨论中。 非常感谢!

哪个字体是MFC对话框控件的默认字体?

下面的图片(放大,所以你最好看到差异)显示dynamic创build的编辑控件(上面的两个例子)和从对话框编辑器(下面的例子)创build的编辑控件之间的字体差异。 我怎样才能使我的dynamic创buildCEdit控件的字体看起来像默认(下面的例子)? 我已经创build了如下的CEdit控件: obj->CreateEx(WS_EX_CLIENTEDGE, _T("EDIT"), _T(""), WS_CHILD | WS_VISIBLE | WS_TABSTOP, rect.left, rect.top, rect.Width(), rect.Height(), GetSafeHwnd(), reinterpret_cast<HMENU>(mId)); obj->SetFont(&mFont); // mFont was created in the Dialog Constructor // with mFont.CreatePointFont(80, _T("MS Shell Dlg")); 谢谢你的帮助!

错误1001:指定的服务已存在。 无法删除现有的服务

我有一个服务。 我刚刚安装了它。 我需要对服务进行更新。 我去了添加/删除程序,并寻找我的服务,并没有安装在那里。 我看着services.msc,它在那里,停下来。 我能够开始并停止它。 我以pipe理员的身份运行了一个命令提示符,运行sc delete [服务名称],并收到“指定的服务不作为已安装的服务存在”。 我在命令提示符下执行了一个sc查询,并且不返回。 我右键单击安装程序,单击卸载并收到“此操作仅适用于当前安装的产品”。 我也尝试修复,并得到相同的消息。 我重新启动了机器几次,没有运气得到这个服务卸载。 我正在使用Visual Studio安装的基本安装项目模板。 我试过改变程序的名字,并增加版本号。 如何卸载显然存在的服务,并防止将来发生这种情况?

我如何在Windows上构buildV8?

有人能告诉我如何在Windows上安装和构buildV8? 我正在使用VS 2008的Windows 7。

如何在运行时检查操作系统版本,例如windows或linux,而不使用条件编译语句

有谁知道如何确定你的C#代码运行在什么平台上,例如,它是否在Linux或Windows上运行,以便我可以在运行时执行不同的代码。 我有ac#windows应用程序,我想build立目标的Windows和Linux平台。 到目前为止,我已经创build了2个项目文件,指向同一组源代码文件。 然后我使用一个名为LINUX的项目之一的条件编译语句。 在实际代码中存在差异的地方,我使用条件编译语句使用编码语句,例如 #if (LINUX) ' do something #endif 有没有更好的方法来做到这一点? 我真的不想要2个项目文件。 提前致谢。