草庐IT

c++ - wstring* 到 PWSTR 的转换

这个问题在这里已经有了答案:WhatexactlyisaPWSTRandwhyusethisnamingcomparedtochar*,std::string,orCStringinC++?(8个答案)关闭7年前。我正在尝试将wstring*转换为PWSTR*。根据http://devsolvd.com/questions/how-to-convert-std-string-to-lpcstrPWSTR是wchar_t*。所以PWSTR*是wchar_t**根据文档http://en.cppreference.com/w/cpp/string/basic_string,wstring为

c++ - 创建无边界的 DirectShow 窗口

我指的是使用提供的DirectShow示例的简单视频播放器here.代码运行并构建,但我需要使视频播放器窗口无边框。我找不到要在CoCreateInstance中设置的参数函数或CoInitialize我可以设置使窗口无边框的功能。这是我的完整代码供引用:#include#pragmacomment(lib,"strmiids.lib")voidmain(void){IGraphBuilder*pGraph=NULL;IMediaControl*pControl=NULL;IMediaEvent*pEvent=NULL;//InitializetheCOMlibrary.HRESULT

c# - 带 c# 服务器的命名管道客户端 (c++)

我想要做的是拥有一个用C++编写的命名管道客户端,以便能够与用C#编写的命名管道服务器进行通信。到目前为止,我一直无法做到这一点。CreateFile给我一个无效的句柄值,GetLastError返回2。这是c++部分(客户端)#include"stdafx.h"#include#include#include#include#includeusingnamespacestd;#definePIPE_NAMEL"\\\\.\\pipe\\TestPipe"#defineBUFF_SIZE512intmain(){HANDLEhPipe;hPipe=CreateFile(PIPE_NAM

c - 使用 64 位编译器编译时出现奇怪的定义错误

我尝试使用64位MinGWGCC编译器编译enigma套件(http://www.bytereef.org/enigma-suite.html)。当我使用32位编译器时,一切正常。使用64位时,出现以下错误:enigma\global.h|6|error:expectedidentifieror'('beforenumericconstant|有问题的行是:#defineH0出于好奇,我将行更改为#defineH30并且有效(当然是在更改所有外观之后)。谁能解释这种行为? 最佳答案 MinGW5.1的标题为mingw32\i686-

c++ - wsprintf() 的安全版本?

就像我们有_stprintf的安全版本,即hpfortifybufferoverflow的stprintf_s警告,那么我们可以使用什么来代替wsprintf()?我试过wsprintf_s,它不工作。谁能解释一下b/w_stprintf和wsprintf的区别?或者我们可以使用stprintf_s作为wsprintf的安全版本。 最佳答案 选项记录在wsprintf下:NoteDonotuse.Considerusingoneofthefollowingfunctionsinstead:StringCbPrintf,StringC

c++在Windows上调试日志记录

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭7年前。Improvethisquestion我很好奇在Windows上为c++win32应用程序记录调试打印信息的最常见和/或可接受的方式是什么。我没有使用visualstudio,而是使用GCC进行编译。我习惯在Android上开发,使用logcat编写和监控日志。win32有这样的东西吗?编辑:使用这样的东西最常见吗?https://msdn.microsoft.com/en-us/library/6xkxyz08.aspx

c++ - "type"使用 C++ 的表情符号

这个问题在这里已经有了答案:UsingSendInputtosendunicodecharactersbeyondU+FFFF(1个回答)关闭7年前。我真的不知道我应该在标题中输入什么,但无论如何,这是我需要的:我制作了一些小程序来执行诸如“输入”给定输入之类的事情。这是一个键入“test”的小示例(作为示例)。#includevoidPress(intTouch);intmain(){Sleep(5000);//Sleepabit,sothatyoucanselectwheretotypePress(VkKeyScan('t'));Press(VkKeyScan('e'));Pres

c - 我的应用程序不会出现在 Windows 10 开始搜索中

我在1999年编写了一个Win-32桌面应用程序,此后一直在Windows的各种迭代中维护它。它不需要64位地址空间,所以我从来没有费心将它迁移到64位API。在Win10出现之前,我可以输入,应用程序就会运行。在Win10中,我必须双击应用程序才能运行它。如果我尝试应用程序的文件夹,它的内容显示在开始菜单中,而不是应用程序本身。我查看了所有应用程序,但该应用程序不存在。我已经在开始菜单中添加了一个快捷方式,但即使是该提示也不足以让Windows找到该应用程序。我尝试创建一个bat文件来启动应用程序并将bat文件放在程序文件夹中,但失败了。我从未为该应用程序编写过安装程序。该应用程序位

c++ - 避免 DLL 版本控制问题

我有多个C++可执行程序,它们使用许多也是用C++编写的库(我有所有这些库的源代码)。我面临的问题是:当可执行EXE包含一个dllDLL时,它们可能都依赖于额外的dllDLL1和DLL2:EXE-----DLL||DLL1DLL2如果DLL1和DLL2是同一个库并且DLL2是DLL1的更新版本,我将在链接和编译方面遇到麻烦。我该如何解决这个问题?有时,由于向后兼容性问题,我不能只转储DLL1并保持最新。 最佳答案 Microsoft为WindowsXP解决了这个问题,但对“native”开发人员隐瞒了有关如何解决此问题的信息。有点吓

c++ - 将库与 minGW 链接

我正在使用:Windows7;MinGW(GCC)版本4.8.1;C++我有几个自己的构建库,它们链接到一个可执行文件。一个链接库的简单示例:libFolder\libforms.aA)g++-omain\theApp.exemain\main.o-LlibFolder\-lformsB)g++-omain\theApp.exemain\main.olibFolder\libforms.a两者生成相同的可执行文件。让gcc知道什么的这两种方式有什么区别要链接的库?在B)上是否有任何退赛或No-Go? 最佳答案 这两个命令之间的区别在