草庐IT

c++ - 如何禁用按钮 - Win32 API

我创建一个程序,我需要:点击按钮A后,做一些事情,并禁用按钮A(意味着按钮被选中,不能继续点击!)我看到MSDN这个页面:http://msdn.microsoft.com/en-us/library/windows/desktop/bb849162%28v=vs.85%29.aspx但我不知道如何使用它(我也将它用作函数但是:错误:Button_Enablenotidentified) 最佳答案 或者你可以使用这样的代码::EnableWindow(hBtn,false) 关于c++-

c++ - Win32。在 dll 中启用视觉样式

我没有C++和WinAPI方面的经验,如果这个问题是新问题,我很抱歉。我有DLL,我可以在其中创建一些组件,例如MessageBox。我添加了pragma注释以启用视觉样式,但它不起作用(我从这个答案中知道它不应该:windows7styleforcomboboxoninternetexplorertoolbar,how?Dll代码(省略export等):#include"stdafx.h"#include"my-dll.h"#include#pragmacomment(linker,"\"/manifestdependency:type='win32'name='Microsoft.

c++ - 在 C++ Win32 中获取计算机上的用户配置文件列表

枚举计算机上所有用户配置文件的最佳方法是什么?我知道如何获取当前登录的用户配置文件,我知道如何获取“所有用户”配置文件。但我想获得计算机上每个配置文件的列表。 最佳答案 在像flokra建议的那样走无证路线之前,我会尝试NetUserEnum()或NetQueryDisplayInformation()如果你想进入无证之地,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ProfileList有一个(不完整的)帐户列表(它缺少特殊帐户,如ASPNET、He

c++ - VS2008 win32 project defaults - 移除默认的预编译头文件

我已经尝试过每一个选项,试图找到一种方法让IDE让我创建一个没有预编译头文件的新win32pject。我已经阅读了这个论坛上的每个线程,其中包含“precpmpiledheaders”字样,我得到的最接近的是:PrecompiledHeaders使用2008pro(不明确,虽然行为似乎相似)我去:文件->新建->项目这将打开“新建项目”对话框,我在其中选择“VisualC++Win32项目”,输入名称并单击“确定”。然后我得到“Win32应用程序向导”。将应用程序类型设置为“Windows应用程序”后,应用程序设置Pane将不允许我取消选中预编译的header。复选框变灰。如果我选择“

c++ - 有没有C++/win32库函数把文件路径转换成文件://URL?

我有一个文件路径的LPTSTR,即C:\ProgramFiles\Ahoy。我想将它转换为一个file://URL,我可以将其传递给ShellExecute以启动指向该文件的系统默认浏览器。我不想直接提供ShellExecute的路径,因为文件关联可能会导致它被web浏览器以外的其他东西打开。路径是任意的,可能包含需要转义的字符。是否有一个现有的库函数,按照Python的urllib.pathname2url的思路,进行这种翻译?这可以通过.NET中的Uri类完成,但我还没有找到任何适用于普通win32的内容。 最佳答案 有UrlC

java - 使用 CreateProcess 从 Win32 C++ 应用程序启动 Java 应用程序时出错

我正在尝试使用以下代码从C++应用启动Java应用:#include#include#includeintAPIENTRY_tWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPTSTRlpCmdLine,intnCmdShow){STARTUPINFOWsiStartupInfo;PROCESS_INFORMATIONpiProcessInfo;memset(&siStartupInfo,0,sizeof(siStartupInfo));memset(&piProcessInfo,0,sizeof(piProcessInfo));i

win11启动“适用于Linux的windows的子系统“多次无法打开,重启电脑时总是撤销操作的可能解决方法

【若本文对您有用请让作者知晓(•̀ω•́)y ,如若有疑问可于评论区留言】 目录前言:我的问题:解决方法:以下是一些具体情况、可能解决方法及原理避免VMware和WSL的冲突避免VMware和Hyper-V的冲突禁用“Accelerate3Dgraphics”选项禁用步骤卸载VMware如果卸载完后还要再下载,需要卸载得很干净吗怎么样能彻底卸载VMware及其残留追加后续:再安装VMware拓展:WindowsHypervisorPlatform(WHP) 简介、特点和作用前言:我的问题:我已安装VMware后发生标题所示情况,怎么也无法使用Ubuntu。解决方法:1、卸载了VMware;2、

Win11安装vmware15.5出现兼容性问题,导致无法运行!

1.运行vmware时出现以下错误: 2.原因分析:    win11中开启了内核隔离,只需要关闭内核隔离中的开关选项即可。3.解决方法:    1.点击开始图标。    2.点击设置。    3.点击隐私与安全。    4.点击windows安全中心。     5.点击打开windows安全中心。    6.点击设备安全性。    7.点击内核隔离中的内核隔离详细信息。    8.将开关置为关闭状态。    9.设置完毕,重新启动电脑,重新运行vmware即可。    说明:内核隔离是win11实现安全的一种措施,内存完整性又是实现内核隔离的基础。因为我           的电脑是自己使用

c++ - 在现代 C++ 应用程序中使用 Win32 代码时,是否应该使用正确的转换?

例如,在MSDN文档中随处可见以下强制转换:(LPTSTR)&lpMsgBuf我是否应该将其转换为:static_cast(&lpMsgBuf);或者我是否应该保留所有惯用的C风格Win32部分,因为它们通常在文档中找到,并为我的其余代码保留更惯用的C++样式/用法? 最佳答案 引入新样式强制转换是有原因的:它们更安全、更具解释性/self注释、更易于查看并且更易于grep查找。所以使用它们。更详细的解释,我们的意思是你不能只是转换为某物,你必须说为什么你正在转换(我在继承层次结构(dynamic_cast)中转换,我的转换是实现定

c++ - 为什么 win32 API 函数没有重载而是使用 Ex 作为后缀?

例如,win32API有两个方法StrFormatByteSize和StrFormatByteSizeEx。即使这两种方法在语义上做同样的事情并且Ex计数器部分只提供一个新参数来稍微改变行为,那么它们不能有相同函数的两个重载吗?这是c/c++的局限性还是造成这种尴尬约定的可能原因是什么? 最佳答案 Win32API是C(不是C++)API。C语言不支持重载函数。补充一点:Win32API使用__stdcall装饰函数,其中包括参数的字节数作为函数名称的一部分。__stdcall不是C语言的一部分,但Windows链接器必须了解它。M