草庐IT

c++ - 带有 WIN32 API 的全局热键?

我已经能够像这样设置本地热键RegisterHotKey(hwndDlg,100,MOD_ALT|MOD_CONTROL,'S');如何将热键设置为全局?即使我的窗口被隐藏,我也希望它在那里。 最佳答案 我自己解决了,但感谢您的回复这就是问题所在......ShowWindow(hwndDlg,SW_HIDE);RegisterHotKey(hwndDlg,100,MOD_ALT|MOD_CONTROL,'S');如果您先注册热键然后隐藏窗口...由于某种原因它会忽略热键...哦好吧..它现在可以工作了:)

c++ - 有没有跨平台持续集成的工具(c++ Win32和linux)

我查看了关于SO的其他几个问题-并不确定他们是否回答了这个问题。我们正在为Win32和Linux构建C++应用程序。现在我们有一些脚本(win32的bat文件)按计划运行以进行构建。我们希望为我们的项目提供CI,但我希望只有一个CI服务器来处理在两个平台上的构建。与SVN的集成很重要。是否可以让一个配置/一个CI产品/服务器来执行此操作?有没有人成功做到这一点?Bamboo看起来可以解决我们的需求,但如果我们可以避免成本,我不喜欢作为一家自力更生的初创公司投入这样的支出。 最佳答案 您可能想尝试一下Hudson或Jenkins.虽然

c++ - 创建文件 : direct write operation to raw disk "Access is denied" - Vista, Win7

相关的微软文档是:BlockingDirectWriteOperationstoVolumesandDisksCreateFile,remarksonPhysicalDisksandVolumes可执行文件是用C++编写的,它调用CreateFile()来打开一个没有无文件系统的SD卡。CreateFile()和连续的ReadFile()调用对于GENERIC_READ来说是成功的,没有管理员权限。CreateFile对GENERIC_WRITE失败,即使具有管理员权限也是如此。在资源管理器中,我在属性>兼容性>权限级别下设置了以管理员身份运行。我还尝试从管理员cmd运行可执行文件(以

c++ - 在 Win32 控制台应用程序中设置光标位置

如何在Win32控制台应用程序中设置光标位置?最好避免制作句柄和使用Windows控制台功能。(我整个上午都在这条黑暗的小巷里奔跑;它带来的问题比它解决的问题多。)我似乎记得我在大学时使用stdio时相对简单地执行此操作,但我现在找不到任何示例说明如何执行此操作.任何想法或建议将不胜感激。谢谢。其他详情这是我现在要做的:COORDpos={x,y};HANDLEhConsole_c=CreateConsoleScreenBuffer(GENERIC_READ|GENERIC_WRITE,0,NULL,CONSOLE_TEXTMODE_BUFFER,NULL);char*str="Som

c++ - 如何确定 Win32 线程是否已终止?

如何确定Win32线程是否已终止?的文档GetExitCodeThread警告不要因为这个原因使用它,因为其他原因可能会返回错误代码STILL_ACTIVE。感谢您的帮助!:) 最佳答案 MSDN提到“当一个线程终止时,线程对象会达到一个信号状态,满足任何在该对象上等待的线程”。因此,您可以通过检查线程句柄的状态来检查线程是否已终止-是否已发出信号:DWORDresult=WaitForSingleObject(hThread,0);if(result==WAIT_OBJECT_0){//thethreadhandleissigna

c++ - 如何有效地杀死 C++ (Win32) 中的进程?

我目前正在编写一个非常轻量级的程序,因此我必须使用C++,因为它没有绑定(bind)到.NET框架,这会大大增加程序的大小。我需要能够终止进程,为此我需要获得一个进程句柄。不幸的是,我还没想好怎么做。附:我知道要杀死一个进程,你必须使用TerminateProcess。 最佳答案 以下代码有效:constautoexplorer=OpenProcess(PROCESS_TERMINATE,false,process_id);TerminateProcess(explorer,1);CloseHandle(explorer);

c++ - 如何通过 API 退出 Win32 应用程序?

我有一个使用Win32API编写的C++Win32应用程序,我希望强制它退出其中一个函数。是否有类似Exit()或Destroy()或Abort()类似的东西会终止它? 最佳答案 哎呀呀呀呀。不要做任何这些事情!exit()和ExitProcess相当于拿起枪,朝进程开枪。我希望我不必解释为什么这样不好,尤其是对于持有共享对象的进程,例如可能是系统范围的数据库句柄。我知道这是Android的常态,但这是Windows,我们不会在这里这样做。直接调用PostQuitMessage()会导致内存泄漏。PostQuitMessage()旨

java - Delphi 与 C++ Builder - 对于使用 Win32 的 Java 程序员来说,这是更好的选择

我是一位经验丰富的Java程序员,在过去的几年里一直在做很多Win32方面的工作。主要是我一直在使用VB6,但我真的需要转向更好的东西。我花了一个月左右的时间在玩Delphi2009。我喜欢VCLGUI的东西,Delphi似乎比VB6更适合WindowsAPI调用,我真的很喜欢它在OO方面比VB6更好的事实,而且我比如IDE自带的单元测试框架。但我真的很挣扎,因为Delphi没有广泛使用的垃圾收集器-必须手动释放每个对象或为所有内容使用接口(interface)似乎对您在面向对象的方式。此外,我对语法以及必须在方法的顶部声明所有变量这一事实并不特别感兴趣。我可以处理Delphi,但我想

c++ - 使用 Win32 API 验证 HWND

从使用C++的nativeWin32API是否可以确定与HWND关联的窗口是否仍然有效? 最佳答案 您可以使用Win32APIIsWindow.不建议使用它,原因有两个:一旦窗口被销毁,窗口句柄就可以重新使用,所以你不知道你是否有一个完全不同的窗口的句柄。状态可能会在此调用后直接更改,您会认为它是有效的,但它可能真的无效。来自MSDN(与上面相同的链接):AthreadshouldnotuseIsWindowforawindowthatitdidnotcreatebecausethewindowcouldbedestroyedaft

c++ - 在 C++ (win32) 中将位图转换为内存中的 PNG

我能否仅使用PlatformSDK将内存中的位图转换为PNG(即不写入文件)?(即没有libpng等)。我还希望能够为此图像定义透明颜色(不是Alphachannel)。GdiPlus解决方案似乎仅限于宽度可被4整除的图像。在调用Save()期间,其他任何事情都会失败。有谁知道这个限制的原因以及我如何/是否可以解决它?更新:赏金我正在开始赏金(我真的希望它能够工作)。我实现了GDI+解决方案,但正如我所说,它仅限于四边形宽度的图像。赏金将颁发给能够解决此宽度问题(不更改图像尺寸)或能够提供可行的替代非GDI+解决方案的任何人。 最佳答案