草庐IT

C++项目

全部标签

c++ winapi listview项目已选中但未突出显示

这是包含ListView的对话框的dialogProc该对话框是通过我的应用程序主窗口中的一个简单按钮创建的。问题是ListView_SetItemState成功但项目未突出显示。同样,当我手动单击一个项目(图标)时,仅选择了该图标(突出显示)不是项目的整个RECT。感谢您的帮助。BOOLCALLBACKDialogProc(HWNDihDlg,UINTuMsg,WPARAMwParam,LPARAMlParam){TCHARpszfile[MAX_PATH];SIZEsize;intselected_icon,wn_v;charbuffer[MAX_PATH];LVTILEVIEWI

windows - 如何在项目中启用 Visual Studio 2008 中的所有警告?

我想打印我在VS2008中构建的项目中的所有警告。正如在其他问题中所建议的那样,当我想启用/Wall时,项目属性只会给我最高/W4级别的警告。下面是属性的快照。有没有办法在VS2008中为项目启用/Wall? 最佳答案 我假设您正在使用C++?在这种情况下,您可以直接在“命令行”选项中添加此标志:请注意输出可能太冗长而不可用。 关于windows-如何在项目中启用VisualStudio2008中的所有警告?,我们在StackOverflow上找到一个类似的问题:

我可以在特定地址创建一个堆栈的线程吗?

我正在做一些实验,想知道是否可以在我提供的特定地址创建一个线程堆栈,或者至少让线程堆栈只在我可以指定的某个(巨大的)虚拟内存区域中产生.我对此感兴趣的原因是我想在某个时候将整个堆栈复制到远程进程并且需要指针保持完整,并且线程堆栈不会发生冲突。这可能不是最好/最安全的方法,我知道,但这只是一个小小的爱好项目。如果您知道如何在Linux上执行此操作,我也对此很感兴趣。 最佳答案 只是编译评论所说的内容。Forwindows,theanswerisno对于Unix(posix),答案是pthread_attr_setstack.(另见上面

c++ - 升级到 Windows 10 版本 1809 SDK 后,我无法编译使用 C++/WinRT 的项目

当我将WindowsSDK升级到17763时,我发现我无法编译我的项目,并且收到错误消息“midl:错误MIDL9008:内部编译器问题-请参阅文档以获取有关如何找到解决方法的建议。”。这是输出:1>Note:TheMicrosoft.Windows.CppWinRTNugetpackageprovidesimprovedC++/WinRTprojectbuildsupport.1>64bitMIDLRTProcessingG:\NagisaRepositories\Nagisa\Assassin\CustomConverter.idl1>CustomConverter.idl1>64

c - 从 C 程序发现和报告 Windows 版本信息

这个问题在这里已经有了答案:DetectingWindows10version(3个答案)关闭4年前。我们有一个为Win2K构建的项目,然后是WinXP,然后是Win7,现在已经从使用VS2010的32位Win7程序转换为使用VS2017的64位Win10程序。VS2017项目是从头开始创建的,然后根据需要导入和更新旧源。当我创建新项目时,我将目标平台(在项目的配置的常规部分)设置为Windows10,并且由于我没有特殊需要,我将项目设置为自动构建list。今天我注意到我们在程序中显示当前Windows版本信息的对话框表明我们在Windows8.1下运行,内部版本号为6.2。当我查找G

windows - 如何在 Visual Studio C++ 项目中指定 "any Windows SDK version greater than 10.0"?

这里的开发人员安装了不同的SDK,我希望我的VisualStudio项目使用任何大于10.0的可用SDK,而无需具体指定是哪一个。有办法做到这一点吗?在vcxproj文件中:10.0.10586.0 最佳答案 对于VisualStudio2017,您必须在vcxproj文件中使用特定的SDK版本号。然而,AntonioSanchez在这篇文章的评论中为Windows10SDK提供了一个解决方法:https://developercommunity.visualstudio.com/comments/190992/view.html$

windows - 控制面板项目图标 (Windows XP)

控制面板项通常在HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace下注册,但是很多内置面板没有在此处列出,例如自动更新项目。我正在尝试找出用于“自动更新”项目的图标在哪里。如果您以平铺模式(48x48图标)打开控制面板,您会看到图标正在放大,但所有Windows更新文件中的所有图标资源都有48x48子图像,所以我无法弄清楚这个.这与NVidia控制面板项目类似:图标是黑色的,看起来是从大于48x48的子图像缩小的,但实际的nvidia控制面板文件不包含这个黑色图标(相反,它们有银色

windows - 存在任何开源 Alt-Tab 窗口切换器项目吗?

尝试了几个Alt-Tab窗口切换器后,我想写一个适合我自己需要的。您知道任何开源的Alt-Tab窗口切换器吗?如果它已经存在,我不想从头开始:) 最佳答案 如果它是源代码,您可以查看TaskSwitchXP源代码:http://www.ntwind.com/software/taskswitchxp/download.html同一家公司提供VistaSwitcher,但它不是开源的。 关于windows-存在任何开源Alt-Tab窗口切换器项目吗?,我们在StackOverflow上找到

c# - C# 中基于 XML 的项目文件的设计模式

我正在开发一个C#应用程序,其中大部分代码库都在C#类库中。我希望应用程序支持保存和加载基于XML的项目文件,并能够确定自上次保存后是否发生了任何修改。我目前的设计思路是:每个需要存储设置的类都实现IXmlSerializable。应用程序维护IXmlSerializable设置对象的通用列表,并调用ReadXml和WriteXml来保存/加载项目文件。每个存储设置的类还维护一个Modified标志。应用程序可以通过枚举IXmlSerializable对象的通用列表并检查每个对象的Modified标志来检查项目是否已被修改。它还可以在每次保存后清除修改标志。这是一个好的设计吗?还有更好

c - 实现 Com 端口终端的最简单方法。 ( Windows ,C)

我需要编写一个终端来与COM端口通信,我需要能够从COM端口以及同时从控制台发送命令。(我想通过两个相互无线通信的传感器节点访问计算机,所以我仍然需要一种从节点向计算机发送内容的方法)现在,我已经实现了一个非重叠串行通信,但我不确定如何实现“同时发送和接收”部分,我只有大约4天的时间来解决这个问题。那里并没有那么多信息,所以我欢迎任何关于如何实现最快或最简单方法的指示。据我所知,重叠I/O通信在时间上并不是很友好。是否可以使用多线程(仅重叠)来做到这一点?我猜在那种情况下我必须每隔几毫秒读取一次缓冲区并为输入创建一个自己的线程? 最佳答案