Articles of Windows

RegCreateKeyEx()和GetLastError()

为什么RegCreateKeyEx()返回一个LONG ,而不是通过SetLastError()设置DWORD错误代码? 将它的LONG返回值转换为DWORD ,然后将它设置为SetLastError()的全局错误代码是否安全? http://msdn.microsoft.com/en-us/library/windows/desktop/ms724844(v=vs.85).aspx

无法在Visual Studio 2015中打开源文件

我正在尝试使用Visual Studio Community 2015在windows中编译OBS studio 。我在Visual Studio中创build了一个项目,并通过将这些文件拖到解决scheme资源pipe理器中将整个git repo复制到项目中。 这个项目依赖于libav,x264和curl。 它们以.lib,.dll和头文件forms提供。 问题是我不断收到“无法打开源文件”。 我有一个单独的文件夹中的dll和lib的头文件(dll和lib在同一个文件夹中)。 在项目设置 – > VC ++目录下,我添加了include目录,并且还添加了库目录。 然后我在链接器 – >input – >附加依赖关系下特别添加了这个库。 然后我将包含.dll文件的目录添加到环境variablesPATH。 毕竟,我仍然得到同样的错误,以及一些其他的错误。 这是一个有问题的源文件的屏幕截图。 这些是我的设置。 对于这条路,我曾尝试过和没有尾随的正斜杠。

Javascript在Mac和PC上的行为有所不同? 我知道它不应该

我已经创build了一个分页脚本,需要一长段文本并将其分解成页面。 首先将文本加载到ID为#page的div中。 然后,脚本测量#页面的高度,并计算应该分成多less个页面,以便与class .detailsholder合并到div中。 div .detailsholder被清除,并且内部添加适当数量的页面div。 (实际上每个页面里面都有#page的全部文本,但是上边距设置不当,高度固定,溢出设置为隐藏,所以只显示适量。 除此之外,它的效果非常好:当Mac上的Safari和Firefox工作正常时,Windows上的IE和Firefox会添加一个额外的页面。 由于创build页面的方式,如上面括号中所述,最后一页显示为空白 – 文本移动得太远而不能显示在页面“窗口”中。 这是代码。 我正在使用jQuery,如你所见。 var descHeight = $('#page').outerHeight(); if (descHeight > 250 ) { var numberOfPages = Math.round(descHeight/210)+1; //Figure out how many pages var artistText = $('#page').html(); //Grab the text into a variable $('.detailsholder').empty(); //Empty the container so we can fill //it with pages for (i=0;i<=numberOfPages-1;i++) […]

一般C ++ Linux到Windows的移植问题

背景:基于networking的服务( tcp+udp ,不是http )存在即将公开发布的C++ linux客户端API。 这个客户端API使用普通的tcp套接字,udp套接字,C ++命名空间和部分stl std::map和std::vector ,并将作为一组头文件和.a和.lib文件进行链接。 问题:刚开始考虑将这个C ++客户端API移植到Windows将需要什么。 在Windows下使用gcc / g ++有意义吗? 我的第一个倾向是这是行不通的,因为Windows上的开发人员通常使用Microsoft Visual Studio套件,他们将无法链接到由gcc生成的库。 这是一个正确的假设,还是海湾合作委员会提供一些漂亮的开关,产生微软编译器和微软链接器兼容的输出文件?

如何使用C ++在Win上编写和读取UTF16文件

关于这个,关于SO有很多问题,但是大多数都没有提到写回wstring。 所以例如我发现这个阅读: // open as a byte stream std::wifstream fin("/testutf16.txt", std::ios::binary); // apply BOM-sensitive UTF-16 facet fin.imbue(std::locale(fin.getloc(), new std::codecvt_utf16<wchar_t, 0x10ffff, std::consume_header>)); // read std::wstring ws; for(wchar_t c; fin.get(c); ) { std::cout << std::showbase << std::hex << c << '\n'; ws.push_back(c); } 我尝试写类似的东西: std::wofstream wofs("/utf16dump.txt", std::ios::binary); wofs.imbue(std::locale(wofs.getloc(), new std::codecvt_utf16<wchar_t, 0x10ffff, std::consume_header>)); wofs << ws; 但它会产生垃圾,(或Notpad ++和vim不能解释它)。 […]

夏令时和使用WinAPI进行的UTC到本地时间转换

我试图看看是否从本地转换到UTC时间,反之亦然是准确的夏令时。 例如,让我们拿LocalFileTimeToFileTime API。 其描述中指出: LocalFileTimeToFileTime使用时区和夏令时的当前设置。 因此,如果是夏令时,即使您正在转换的时间处于标准时间,此function也会考虑夏令时。 所以我用这个代码testing它: //Say, if DST change takes place on Mar-8-2015 at 2:00:00 AM //when the clock is set 1 hr forward //Let's check the difference between two times: SYSTEMTIME st1_local = {2015, 3, 0, 8, 1, 30, 0, 0}; //Mar-8-2015 1:30:00 AM SYSTEMTIME st2_local = {2015, 3, 0, 8, 3, […]

写一个mac的.net软件

我使用.net开发代码,有时使用ruby。 我的朋友想让我开发一个小型的计时器在Mac上使用的应用程序。 基本上是一个Windows窗体应用程序。 我想在我的电脑上开发(它有我所有的工具) – 我知道Windows的写入/部署过程。 如果我想使它在Mac上工作是不同的? CLR是否与OS X一起工作? 我需要在我的哥们的笔记本电脑上安装一些特别的东西吗?

sscanf Modifier%Fd扫描的types是什么?

我遇到了一些具有以下types的行的遗留代码: sscanf(szBuff,“%Fd%Ff%Fd%Ff” 有没有人select像Fd或Ff修饰符? 如果是这样,那是什么意思? 我似乎无法find任何信息。 代码编译并运行良好。

.NET / Mono框架目标

假设我有两台机器,一台带有.NET 4.0的MS Windows,另一台带有Mono 2.10.1的Linux机器 现在我在各自的机器上创build一个命令行应用程序,它将使用以下命令输出安装的框架版本: Console.WriteLine(Environment.Version); 问题1 我的假设是正确的,应显示以下内容: Windows:4.0.30319.1 Linux:2.10.1(或类似的东西??) 问题2 假设我们在Windows机器上安装了mono和ms.net,有没有办法指定一个exe文件必须在windows的mono框架上运行? (也许是一个configuration文件?) 问题3 如果我在Linux机器上编译(简单)单声道应用程序,将编译的exe工作在仅安装有ms.net的Windows机器上?

LoadLibrary()的相对地址为dll

我想在我的代码在Windows中加载DLL,我用LoadLibrary()函数成功加载我的DLL,但我有一个问题,我给我的DLL的path如: LoadLibrary(C:\\path\\to\\my\\dll); 我不知道是否可以给我的DLL的相对path。 我的意思是例如: LoadLibrary(.\my dll directory\my dll.dll) 可能吗? 如果没有,我怎样才能开发我的项目,它可以是便携式的,而不改变在不同的机器上的DLL的path?