草庐IT

c++ - 未显示消息框

当试图显示一个简单的MessageBox时,它根本不显示。代码:intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRpCmdLine,intnCmdShow){try{Windowwnd({50,50},Graphics::ScreenWidth,Graphics::ScreenHeight,"BatEngine",Graphics::FullScreen);throwstd::exception("test");}catch(conststd::exception&e){MessageBox(NULL,e.wh

c++ - 将 win32 应用程序图标添加到任务栏

我想在应用程序在后台运行时将一些简单的win32应用程序图标添加到任务栏。在此期间,我想向该图标发送一些消息,以便它根据我的要求弹出。不幸的是,我只知道c\c++并且我使用visualstudio8,有没有办法或api来做到这一点?示例:outlook图标或wifi图标 最佳答案 当然有一个api,Shell_NotifyIconfunction这样做。你必须填写一个NOTIFYICONDATAStructure然后调用上面的函数。Shell_NotifyIcon的作用取决于您设置的标志。

windows - Windows Cursor 的最大尺寸

我有一个大小为128x128的光标,但是当我使用LoadCursor加载和显示它时,它只有32x32。哪个API可以使它正确?似乎MS调整了它的大小。谢谢。 最佳答案 WindowsXP不包含任何大于32x32的系统光标。(如果包含更大的游标,当标准API加载游标时,它们将被拉伸(stretch)到32x32。)对于高DPI系统,WindowsXP已将SM_CXCURSOR和SM_CYCURSOR值调整为64x64像素。此大小调整是为了防止鼠标指针因太小而无法有效使用而虚拟消失。尽管系统的其他方面随DPI缩放,但鼠标指针不缩放。Mi

c - 如何从 C 程序调用可执行文件(使用 winapi)?

CreateProcess()出现了几次搜索谷歌....可以假设这是最安全、最有效的方法吗?如果是这样,我想使用被调用进程的输出。在继续C程序之前,我如何知道它已经完成?谢谢。 最佳答案 ShellExecute可用于创建进程,它是一种更方便的传递参数的方式。但如果您想使用流程的输出,那么CreateProcess可能是您最好的选择使用CreateProcess,您可以传递STARTUPINFO可用于将文件管道句柄传递给进程外的标准结构。CreateProcess将返回PROCESS_INFORMATION包含已创建进程的HANDL

windows - 如何以编程方式检索区域和语言设置中显示的 "Location"?

如何以编程方式检索区域和语言设置中显示的“位置”?alttexthttp://dl.dropbox.com/u/3978473/location.png 最佳答案 这是您从前面提到的注册表项中检索到的GeoID列表:(它们是十六进制)http://msdn.microsoft.com/en-us/library/dd374073%28VS.85%29.aspx条目:HKEY_CURRENT_USER\ControlPanel\International\Geo 关于windows-如何以

windows - 窗口停用消息?

WM_ACTIVATE(窗口停用消息)的反义词是什么? 最佳答案 这是相同的消息,但参数不同-wparam=WA_INACTIVE。完整详情here. 关于windows-窗口停用消息?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2398726/

c++ - 如何扫描另一个进程内存以查找特定字符串后面的内容?

我想通过另一个进程扫描当前正在运行的native应用程序的整个堆。例如,我想知道此进程内存中ASCII序列“test”的所有实例之后是什么(在这种情况下,我将扫描“test”并继续阅读)。我尝试用谷歌搜索更多信息,但没有找到太多信息:我找到了ReadProcessMemory这看起来很有趣,但我怎么知道进程分配的内存地址呢? 最佳答案 尝试VirtualQueryEx.如果您发现您正在访问其他进程中的大量内存,请考虑使用CreateRemoveThread(samplecode)。这将允许您将自己的DLL注入(inject)到其他进

c++ - mfc 目录选择器?

我确实看到这个修改CFileDialog(http://support.microsoft.com/kb/105497)但它看起来比我需要的要多得多。我正在使用CFileDialog来选择文件,有没有一种简单的方法可以使用它来选择一个目录?还有其他建议吗?(我也看到了这个但是只适用于XP?http://msdn.microsoft.com/en-us/library/aa163948%28office.10%29.aspx)(VS6.0C++) 最佳答案 您可能希望使用SHBrowseForFolder应用程序接口(interfac

windows - 以编程方式跟踪目录中的更改

我必须编写一个小应用程序来处理保存在给定目录中的文件。我不喜欢编写无限循环、计时器和诸如此类的东西。我想知道是否有(我敢打赌有!)是否有任何WindowsAPI会向我的应用程序发送一条消息,以获取保存在给定目录中的任何文件。 最佳答案 ReadDirectoryChangesW的正确使用非常重要。有一个工作样本here.我使用过与此密切相关的生产代码,但我发现没有更好的示例可以使用。请注意,here中描述了API的已知问题(诚然,可能不会影响您的极端情况)和here,以及进一步的使用建议here.

c++ - 在 Windows 上,我们如何将虚拟键码转换为移位字符?

我查看了MapVirtualKey()和ToAscii()。MapVirtualKey()只给我未移位的字符。ToAscii()仅适用于转换为ASCII值的vk代码。例如,我需要将“Ctrl+Shift+3”检测为Ctrl事件、Shift事件和“#”。有什么线索吗? 最佳答案 这就是我最终做到的:caseWM_KEYDOWN:GetKeyboardState(kbs);if(kbs[VK_CONTROL]&0x00000080){kbs[VK_CONTROL]&=0x0000007f;::ToAscii(p_wParam,::Map