草庐IT

c++ - 使用 pthread_win32 增加进程优先级

环境:WinXP、VisualC++我正在使用pthread_win32库来在我的程序中实现线程,我想将我的进程(程序)优先级提高到HIGH_PRIORITY_CLASS。库中是否有允许这种操作的函数?否则,是否可以将SetPriorityClass函数与`pthread_win32一起使用,或者我必须使用win线程以确保某种兼容性? 最佳答案 你可以获得一个本地线程句柄来调用SetPriorityClass与pthread_getw32threadhandle_np. 关于c++-使用

c++ - CoInitializeEx 用于 boost::test::unit_test

前几天,我决定需要了解Windows平台上C++的测试驱动开发(使用VisualStudio2010Premium)。在决定试用boost的单元测试框架之前,我环顾四周。我应该说我选择了boostpro.com的版本(如果我没记错的话,当前版本是1.44)。这有一个静态库的构建,所以我不在我的测试中使用DLL。Boost的单元测试文档谈到将代码与测试套件分开,这似乎很合理。但随后您必须处理从现在独立的测试套件项目中引用代码的问题。所以我有一个要测试的库项目(但我仍然不确定如何编写可以引用.exe项目的测试...)所以我在我的解决方案中创建了一个单独的项目,称为单元测试。我添加了以下代码

c++ - 如何使用 CMake 将 NMake 从 VS9 切换到 VS10

在我的电脑上,我有VS9和VS10用于测试目的。当我使用VS9或VS10配置我的项目时,CMake没有问题。现在我想用NMake生成一个项目,但是在配置过程中它采用VS9作为默认的C编译器和CXX编译器,而我想要VS10。有谁知道我如何执行这样的操作吗?即我想从Projects>cmake..-G"NMakeMakefiles"-DCMAKE_BUILD_TYPE=Debug...--CheckforworkingCcompiler:C:/ProgramFiles(x86)/MicrosoftVisualStudio9.0/VC/bin/cl.exe--CheckforworkingC

C 在 linux 和 windows 上获取 cpu 使用率

我在linux和windows上使用以下程序来获取当前进程的cpu利用率。Linux:intmain(){intret;char*buf;inti=0;intwho=RUSAGE_SELF;structrusageusage;structrusage*p=&usage;ret=getrusage(who,p);printf("usertimeused:%16lf%16lf\n",p->ru_utime.tv_sec,p->ru_utime.tv_usec);printf("systemtimeused:%16lf%16lf\n",p->ru_stime.tv_sec,p->ru_sti

c++ - 某些 exe 中的 OpenFileMapping 访问被拒绝

我有一个使用写入变量的程序CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_EXECUTE_READWRITE,0,sizeof(data),"Local\\testtest");然后我将dll加载到firefox的plugin-container.exe(以本地登录用户身份运行)调用OpenFileMapping(FILE_MAP_READ,FALSE,"Local\\testtest");这很好用。但是,当我尝试将我的dll加载到iexplore.exe(也以本地登录用户身份运行)进行相同操作时,我得到一个NULL值并且GetLast

C++ 程序不响应任务栏中的平铺/级联窗口

我有一个复杂的C++程序(老式Win32和WTL的混合体),它不响应任何任务栏平铺/级联请求(即右键单击任务栏并选择“CascadeWindows”或“Showwindowsideby边”)。当我使用spy++时,我发现我的窗口都没有收到任何窗口消息,而其他程序(在本例中为Firefox)收到一系列WM_GETMINMAXINFO、WM_SIZE、WM_PAINT...我的框架窗口的样式为WS_OVERLAPPEDWINDOW。在创建框架窗口之前,我创建了几个隐藏窗口。我已经在多个不同的操作系统上进行了测试,并且症状是相同的。Windowsshell向我的框架窗口发送消息是否有任何限制

c++ - Win32 c++ 控制台应用程序和 Eclipse

我希望在Eclipse中从真正旧版本的VisualStudio构建一个项目。win32控制台应用程序包含windows.h。问题是,我需要什么库来满足windows依赖?该应用程序读取和写入串行端口。设置我的项目以正确构建的任何提示?谢谢,巴里 最佳答案 所有Windows库都在PlatformSDK中。顺便说一句,必须在VisualStudio选项中设置库目录。还要检查你的VS项目的属性,我猜库依赖项可能在那里 关于c++-Win32c++控制台应用程序和Eclipse,我们在Stac

c++ - 如何获取ime语言信息?( windows, C++ )

我需要在Windows中获取当前选择的IME语言设置。我找到了ImmGetConversionStatus(),但它没有返回当前选择的语言。 最佳答案 虽然很久以前就有人问过这个问题..我相信你可能已经自己解决了。:)你尝试了吗?:如果在Windows7上:GetUserDefaultLocaleName函数语法:intGetUserDefaultLocaleName(__outLPWSTRlpLocaleName,__inintcchLocaleName);lpLocaleName保存当前文化。检查文档:http://msdn.m

c - VirtualAlloc 为批量文件读取分配内存的问题

我试图从一个二进制文件中读取一些数据到一个用VirtualAlloc分配的缓冲区中。问题是我遇到了一个“糟糕的Pr”问题并且无法执行fread。这是我的代码:fseek(myfile,0,SEEK_END);DWORDFileSize=ftell(myfile);fseek(myfile,0,SEEK_SET);BYTE*buf=(BYTE*)VirtualAlloc(NULL,FileSize,MEM_RESERVE,PAGE_EXECUTE_READWRITE);fread(buf,sizeof(BYTE),1,myfile);恐惧-失败了。我做错了什么?谢谢!

c++ - 如何将我的窗口投影为前台的事件窗口

打开了一些窗口,在我的流程中,我想再启动一个窗口(高优先级),用户必须在其中输入凭据。我想把这个凭据窗口放在前台,反过来它可能会给用户带来很好的体验,因为他不需要手动选择凭据窗口。这是一次性启动,绝对不烦人,但用户必须输入信用。实现此目标的最佳方法是什么?我不认为模拟鼠标点击是个好主意。有没有办法将消息发送到其余窗口以使其失去焦点?这样当我启动我的窗口时,它就会出现在前台。 最佳答案 这对我有用,无需使用SetWindowPos使窗口“始终在最前面”:HWNDforeGround=GetForegroundWindow();if(f