草庐IT

his系统

全部标签

c# - 如果我为操作系统版本不支持的 API 使用 DllImport (C# .NET),会发生什么情况

我需要调用一些系统API,这些API仅受WindowsVista客户端或Windows2008Server及以上版本的支持。所以,我正在使用DllImport并调用这些方法。但是,我的WPF应用程序还必须支持旧平台(尽管客户端很少)。所以,我的计划是先检测操作系统,然后显示不同的屏幕,而不是调用那些不受支持的API。但我想知道预期的行为应用程序是否会因DllImport失败而无法加载甚至无法在旧平台上运行?我找不到任何关于此的文档。如果是这种情况,那么我将不得不完全避免使用这些API,或者必须为旧操作系统构建一个单独的应用程序版本。稍后我会自己测试并相应地更新到这里。但是,任何人都可以

javascript - 系统托盘中 MS WIndows 上的 Electron JS 应用程序可以监听键盘事件并启动弹出窗口吗?

我需要构建一个可以在MIcrosoftWIndows上运行的程序,这将是一个系统托盘应用程序。它需要在托盘中运行并监听键盘按键。当按下映射键时,它需要打开一个弹出面板,该面板将列出并显示软件快捷方式,单击这些快捷方式将打开所选软件并关闭弹出窗口。它基本上是一个应用程序启动器,它将根据触发的键盘键映射显示软件列表。例如,键盘映射1会在弹出窗口中显示软件快捷方式,这些快捷方式已添加到Imageediting类别。另一个键会打开相同的窗口,但会显示用于文本编辑等的软件快捷方式。因为我是一名网络开发人员(PHP和JavaScript)。构建真正的WindowsC++或C#风格的应用超出了我的能

windows - 内核模式驱动程序可以阻止 Windows 系统启动吗?

我最近一直在尝试使用运行Windows8.1的英特尔芯片组为SBC创建GPIO驱动程序,并已开始在实际系统上对其进行测试。加载驱动程序并更新我正在使用的Intel芯片组后,系统似乎在加载BIOS后挂起。不幸的是,这会禁用我的鼠标、键盘和视频,阻止我进入BIOS或启动管理器。虽然芯片组更新有可能导致系统无法启动,但考虑到我们将该更新用于运行相同芯片组的其他SBC,这种情况极不可能发生。所以我的问题是:Windows内核模式驱动程序是否有可能阻止系统通过BIOS/POST启动?感谢您的帮助,因为很明显,我不是该主题的专家。 最佳答案 是

c++ - 如何在windows日文系统中打印日文字符?

我写了一个小程序,它将日文字符串作为硬编码值并将其写入日文系统的文件中。程序用visualstudio2010(英文系统)编写charszMsg_m[]="スプールがいっぱいです";//inputstringszMsg_s=("スプールがいっぱいです");wchar_tszMsg_w[]=L"スプールがいっぱいです";wstringszMsg_h=L"スプールがいっぱいです";fprintf(trace.TraceFP,"\tMsg:%s\n",szMsg_m);//outputfprintf(trace.TraceFP,"\tMsg:%s\n",szMsg_s.c_str());fw

c++ - 如何从Windows系统证书库中的证书中获取公钥

我已将证书添加到系统存储中,如下所示:PCCERT_CONTEXTpCertContext;HCERTSTOREhCertStore;CRYPT_KEY_PROV_INFOprovInfo;if(pCertContext=CertCreateCertificateContext(MY_ENCODING_TYPE,certDER,certSize)){provInfo.pwszContainerName=idCert;provInfo.pwszProvName=provName;provInfo.dwProvType=provType;provInfo.dwFlags=0;provInf

windows - 如何在 Windows 上使用 x86 perl 系统启动 x64 shell

我使用perl调用systemstart,我需要指定我希望我的程序绑定(bind)到的cpu编号。当我使用x86perl时,它会启动x86cmd来运行启动命令。此x86start不接受参数0x100000000,因为它超过32位长度。如果我使用x64perl,整个过程都很好,因为x64perl启动x64cmd,它接受0x100000000。那么在使用32位perl时如何启动x64cmd来运行start命令?详细信息:首先,我验证了32位cmdshell不接受start/affinity100000000而64位cmdshell接受。在32位cmdshell中,它抛出错误Thesyste

c# - 获取当前系统音量 (Windows 10)

我想找到当前系统音量并在音量混合器中设置我的应用程序的音量,但似乎我找到的所有内容:可以更改系统音量(解决一个问题)不能改变申请量或者根本不起作用到目前为止,还没有什么可以设法获取我的系统音量我们目前正在使用nircmd来设置全局音量,效果很好,但它似乎没有GET当前音量的选项,因此我们可以稍后将音量恢复到原来的状态。至于设置应用程序本身的值,而不是全局卷,我一直在寻找我能找到的每一个线程,所有的东西(在这里和其他地方)都让我找到C++文档或围绕该库的C#包装器但是由于每个函数的根部的无效转换,该代码根本不起作用。这是stackoverflow上的一个这样的损坏代码示例:Control

php - 在 Window XAMPP 中的本地系统中设置 Yii2 项目出现错误

我正在XAMPP窗口中的本地系统中设置Yii2项目,但出现错误:Declarationofcommon\components\Request::validateCsrfToken()shouldbecompatiblewithyii\web\Request::validateCsrfToken($clientSuppliedToken=NULL)但是代码在Ubuntu服务器上运行良好。这是我的validateCsrfToken()方法:publicfunctionvalidateCsrfToken(){if($this->enableCsrfValidation&&in_array(Y

windows - Windows(或其他操作系统)如何更新客户端的背景区域?

或者换个方式问,OnEraseBkgnd()是如何工作的?我正在构建一个自定义控件,我遇到了这个问题。像往常一样,child是矩形。我必须禁用OnEraseBkgnd()并且我只使用OnPaint()。我需要的是有效地清除child身后的区域并且不闪烁。后台缓冲区之类的技术不是一种选择。编辑:我对OnEraseBkgnd()背后的算法非常感兴趣。但任何有帮助的答案也将被接受。 最佳答案 通常在Windows中,减少闪烁的最简单(但不是最有效)的方法是关闭WM_ERASEBKGND通知处理。这是因为如果您在通知处理程序中删除背景,然后

windows - 如何手动确定当前操作系统的 CodePage 和 Locale

有没有办法让我手动让用户查找其Windows操作系统的当前代码页和语言环境?是否有存储该信息的注册表设置?如果该技术一直适用于Windows2000,它也会很有用。 最佳答案 Win32GetACP()function返回到Windows2000以查找ANSI代码页。GetLocaleInfo()函数也适用于Windows2000。使用LOCALE_SYSTEM_DEFAULT(或LOCALE_USER_DEFAULT等)的Locale参数调用它如果您的问题不是如何以编程方式获取此数据,而是非程序员如何查找此信息,那么您可能想在Se