草庐IT

UI_USER_INTERFACE_IDIOM

全部标签

windows - 当传递的对象没有实现必要的接口(interface)时返回哪个错误代码?

在COM中,当我有一个我无法更改的众所周知的接口(interface)时:interfaceIWellKnownInterface{HRESULTDoStuff(IUnknown*);};我的IWellKnownInterface::DoStuff()实现只能在传递的对象实现某个特定接口(interface)时工作,我该如何处理这种情况?HRESULTCWellKnownInterfaceImpl::DoStuff(IUnknown*param){//thiswillQIforthespecificinterfaceATL::CComQIPtrobject(param);if(obje

asp.net - 您如何在 ASP.NET 解决方案中调用物理上分离的 UI/BL 代码?

Chapter19:PhysicalTiersandDeploymentMSDN上描述了“分布式部署”(见图2)。一切都很好。根据我的经验,我们总是按照他们所描述的“非分布式部署”来部署基于Web的系统(图1)。我的理解是,在Microsoft世界中,作为独立事物的“应用程序服务器”并不真正存在(就像在Java世界中一样),因为它实际上已“嵌入”到操作系统/Windows中。所以我的问题是,如果您要将UI和业务逻辑(BL)分布到不同的服务器/层上,它们将如何通信?我知道一个答案是使用“服务层”——有哪些替代方案?你实际上会怎么做?从代码的角度来看它会是什么样子?

c - 我应该 IUnknown::Release 使用 DllGetClassObject 创建的接口(interface)吗

我正在尝试调试一些使用COM的代码,我是初学者。最后对IUnknown::Release的两次调用让我很担心。这些接口(interface)是使用DllGetClassObject和IClassFactory::CreateInstance创建的。我看到其他类似的代码没有调用IUnknown::Release-这是正确的吗?intOpenMixer_Win_DirectSound(px_mixer*Px,intindex){DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATAdesc;HMODULEhDsound=INVALID_HANDLE_VA

c# - Win32 浏览文件夹对话框 : wrong folder returned when user creates a new folder

我注意到浏览文件夹对话框中似乎有一个错误:打开带有“新建文件夹”按钮的新样​​式浏览文件夹对话框。(例如.NETFramework中的FolderBrowserDialog类,或Win32C++中的SHBrowseForFolder)。单击“创建新文件夹”按钮创建一个新文件夹。为新文件夹键入一个名称。输入完新文件夹名称后,请勿按Enter键或单击任何内容来停止编辑。当光标仍在闪烁/编辑框仍处于事件状态时,单击“确定”按钮。您必须非常快速地单击“确定”按钮。对话框不会返回文件夹的新名称给程序,而是返回“新文件夹”目录。例如,C:\NewFolder而不是用户输入的内容,例如C:\MyAp

windows - 在配备 GeForce 960M 的笔记本电脑上初始化 D3D12 调试接口(interface)失败

当我尝试使用标志DXGI_CREATE_FACTORY_DEBUG调用D3D12GetDebugInterface或CreateDXGIFactory2时,调用在我的笔记本电脑上失败,但在我的台式机上却没有。其他调用在笔记本电脑上运行良好,我可以渲染东西——我只是无法初始化调试层。桌面有一个老式的GeForce650Ti,笔记本电脑是戴尔XPS15笔记本电脑(最新一代),它有一个GeForceGTX960M。两者都有最新的驱动程序(361.43)。有什么想法可能会出错吗?我在NVIDIA上发布了devtalkforum首先,但交叉发布到stackoverflow,因为NVIDIA官方论

windows - 无法创建具有可访问网络接口(interface)的 VM

我开始为开发创建一个新的虚拟机,因为我的ubuntu14.4似乎已经过时了。我决定将来切换到ubuntu17.10,但第一次安装失败。这是我的vagrant文件:#-*-mode:ruby-*-#vi:setft=ruby:Vagrant.configure("2")do|config|config.vm.provider"virtualbox"do|vb|vb.gui=falsevb.memory="1024"endconfig.vm.box="generic/ubuntu1710"config.vm.network"forwarded_port",guest:80,host:808

windows - HttpWebRequest 和 HttpWebResponse 的 C++ 接口(interface)版本

我们想知道如何在ATLc++项目中使用HttpWebRequest和HttpWebResponse.net框架类是它们为C++中的webrequest类公开的任何接口(interface),目前我们没有c#项目,因此我们正在寻找替代接口(interface)。任何帮助将不胜感激。拉马南德。 最佳答案 您有以下选择:1)将托管的HttpWebRequest代码写入C#文件,并将其编译为DLL。使用RegAsm.exe将其注册为COM对象。使用来自C/C++应用程序的COM对象。2)正如Michael在上面所建议的那样,使用托管C++编

c# - 从 Windows 服务在 C# 中以编程方式启动进程,UI 不显示我在任务管理器中看到进程

我正在尝试从用C#编写的Windows服务以编程方式启动进程。我看到我的进程已在任务管理器中启动,但我没有看到它的UI。知道发生了什么事吗?我在WindowsXP上运行这个clientProcess=newSystem.Diagnostics.Process();clientProcess.StartInfo.FileName=system_drive_path+@"\sd\ud\ud.exe";clientProcess.StartInfo.WindowStyle=ProcessWindowStyle.Maximized;clientProcess.Start();

Windows 8 : Unable to allocate 2GB with 3GB User Address Space

我正在尝试创建用于测试的Windows832位程序。测试包括大量分配,我遇到了麻烦。操作系统是用/3GB启动的,机器有8GB和一个页面文件,程序是用/LARGEADDRESSAWARE链接的,所以我不应该受到内存限制。(由于某些类型的定义方式-例如,size_t),使用32位程序进行测试对我来说很重要。问题是我无法从new或VirtualAlloc分配2GB(0x80000000)内存。new抛出bad_alloc并且VirtualAlloc返回NULL和ERROR_NOT_ENOUGH_MEMORY。在以前的Windows版本中,3GB地址空间意味着应用程序被赋予0x00000000

c++ - PostMessage 能否使工作线程中的变量更改在 GetMessage 之后在 UI 线程中可见?

我的问题实际上是,如果我在另一个线程中写一个变量,然后PostMessage到一个Wnd,UI线程中的GetMessage是否会与它同步,我可以安全地读取变量?背景是:我想使用PostMessage从后台线程更新UI,并且担心数据争用。我需要其他同步实用程序吗?谢谢。编辑:标题很乱,改一下。具体案例:假设我想更新一个std::string,它是一个全局变量。由于我在PostMessage之前更新了string,我可以在处理该消息的WindowProc中安全地读取string吗?我熟悉C++11多线程术语,例如happens-before、sequence-before、synchron