我正在尝试(Default)从HKEY_CLASSES_ROOT和我尝试的代码片段中获取键值,如下所示,
using (var key = Registry.ClassesRoot.OpenSubKey(@"Excel.Application\\CurVer"))
{
var defvalue = key?.GetValue("(Default)");
if (defvalue != null)
{
}
}
Run Code Online (Sandbox Code Playgroud)
总是defvalue以空值出现。我无法找出我在做什么错误。
任何人都可以帮我解决这个问题。
我创建了一个Setup Project来自Visual Studio Installer.
我安装了MSI并且能够安装该应用程序。我想为我在桌面上创建的快捷方式添加一个图标。为此,我尝试了以下步骤:
- 1)从视图中选择桌面快捷方式
FileSystem。- 2)按
F4属性。- 3)对于图标字段,选择浏览选项。
- 4)单击“浏览”按钮。
- 5)设置
File of type为可执行文件(.exe)- 6)再次按下
OK和OK。- 7)然后构建我的 C# 应用程序和安装项目。
- 8)
MSI然后从调试位置运行。- 9)然后创建一个快捷方式,并在桌面上安装 .exe 文件。
- 10) 图标大小为
16*16。
我不明白为什么它不显示图标。
有人可以帮我解决这个问题吗?
我面临着组合框文本的问题.我通过调用EnableWindow(FALSE)禁用了groupbox,问题是组框标题没有变灰.
任何人都可以让我知道为什么会发生这种情况以及如何摆脱这个问题.
我在更改进度条的颜色时遇到问题.最初我为该进度控件创建了一个实例OnInitDialog().我正在尝试更改进度条的颜色(最初进度条颜色为绿色).现在,我尝试使用以下代码将条形颜色设置为红色OnInitDialog(),
BOOL OnInitDialog()
{
CPropertyPage::OnInitDialog();
m_ProgressBar->SetRange32(0,100);
m_ProgressBar->SetPos(50);
m_ProgressBar->SetBarColor(RGB(255,0,0));
return TRUE;
}
Run Code Online (Sandbox Code Playgroud)
这是我必须改变条形颜色,我使用的是Windows 7操作系统.我观察到的一件事是,当我将主题更改为"windows classic"时,我能够看到我设置的颜色(在本例中为红色).但是,如果我再次回到Windows 7 aero主题,颜色再次变为绿色.
此外,我甚至SetBkColor在这里检查了方法,它与我使用时遇到的问题相同SetBarColor().
任何人都可以建议一种可能的方法来改变所有主题的条形颜色(我认为如果它支持所有类型的主题会没有问题)?
我知道 C# 服务器和 C# 客户端之间使用SignalR. 除了 C# 客户端,我还有 C++ 客户端应用程序,我需要在其中与用于与 C# 客户端通信的相同 C# 服务器进行通信。
对于 C# 服务器(控制台应用程序)和 C# 客户端(桌面)之间的通信,我遵循了SignalR 桌面方法中的方法
在上面的链接中很清楚我们如何建立到集线器的连接并与服务器进行通信。同样,我希望将 MFC 应用程序作为客户端,并且希望从 C# 服务器向 MFC 客户端发送一些消息。我不知道如何从 MFC 应用程序建立连接。我不知道这是否可能。
任何人都可以帮助提供有关 C++signalR客户端如何连接到 C# 客户端的示例。
我有一些c ++项目,其中包含托管和非托管c ++项目。
如何确定哪个项目是托管c ++和哪个项目是非托管c ++类型。
除此之外,有人可以向我简要介绍这些托管和非托管c ++的确切含义。
我有一个列表框,我将两个属性(即垂直和水平滚动)都设置为 true。我能够获得垂直滚动条,但在添加长字符串时无法获得水平滚动条。
任何人都可以让我知道如何获取列表框的水平滚动条。
我有树控件,Tree控件由Root节点组成,并且根节点由一个子节点组成,此子节点由3个节点组成.这个treecontrol在一个属性页面上,在我单击任何复选框后我启用向导TVN_ITEMCHANGED按钮.在事件处理程序中我启用了工作表按钮.
当我运行我的应用程序并检查treecontrol的节点后,我无法启用工作表按钮.我已经看到代码是绝对正常的我在检查节点的检查状态和启用工作表按钮.我开始调试我的代码,首先它是NM_CLICK被解雇然后我期待TVN_ITEMCHANGED事件被解雇但它根本没有被解雇.
我不知道为什么这个事件没有被解雇,我正在使用的环境是WindowsXP.
我跑我的应用程序windows7,windows 8,windows vista.有它工作正常,但在XP只有我想通了这种行为.
任何人都可以帮我解决这个问题.
我是mfc的新手,我对如何获得当前的操作系统语言感到震惊(例如:如果是英文操作系统,我必须得到它,因为英语和语言环境可能不同.对于英语操作系统语言环境可以是日语,反之亦然) .
当前的语言环境我正在通过它GetSystemDefaultLangID,我唯一留下的是我需要获得当前的操作系统语言.
任何人都可以帮助我解决这个问题.
当我尝试使用右键单击选择项目时,我希望不允许选择列表控件项目,如果左键单击该项目,则应显示选择.
我尝试在NM_RCLICK事件中处理它以防止右键单击选择如下:
void CTestDlg::OnNMRClickList1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
if((pNMItemActivate->uChanged & LVIF_STATE) &&
(pNMItemActivate->uNewState & LVNI_SELECTED))
{
*pResult = 1;
}
else
{
*pResult = 0;
}
}
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅屏幕截图
如果我右键单击该项目,则不应该出现蓝色突出显示,因为该突出显示应该仅用于左键单击.
但如果是右键,我仍然可以选择该项目.
有谁可以帮我解决这个问题.
我的默认操作系统是英文.我已将系统区域设置名称更改为日语.如何获取当前系统区域设置名称(日语).请找截图供您参考.

我曾尝试使用下面的api来获取系统区域设置,但它们都没有为我工作.例如,根据上面的场景,我必须将系统区域设置名称作为日语.
-GetLocaleInfo
-GetUserDefaultLCID
-GetSystemDefaultLangID
Run Code Online (Sandbox Code Playgroud) mfc ×7
visual-c++ ×3
winapi ×3
c# ×2
c++ ×2
.net ×1
c#-4.0 ×1
c++11 ×1
installation ×1
registry ×1
signalr ×1
windows-xp ×1