Articles of c + +

夏令时和使用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, […]

为什么GetFileAttributesW(L“C:”)返回FILE_ATTRIBUTE_REPARSE_POINT?

通常, GetFileAttributesW(L"C:")返回0x10 ( FILE_ATTRIBUTE_DIRECTORY ),这是合理的。 在某些情况下, GetFileAttributesW(L"C:")将返回0x2416 ( FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_REPARSE_POINT | FILE_ATTRIBUTE_NOT_CONTENT_INDEXED ) 我想知道是什么让它发生,以及如何摆脱它。 这个问题使boost::filesystem::canonical不能工作。 你有什么主意吗?

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

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

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?

安全地移除已安装的驱动器

我有一个应用程序,通过SATA接口将文件写入格式化为NTFS的外部驱动器。 在closures应用程序之前,我确保使用FlushFileBuffers为每个文件(即CreateFile , FlushFileBuffers , CloseHandle )刷新所有内容。 然后我卸下驱动器,没有先卸载它! 将驱动器插入PC机时似乎工作正常。 但是,将其插入OS X时,操作系统似乎找不到任何文件,除非该驱动器已正确卸载。 有什么可以从磁盘丢失导致OS X找不到任何东西,有没有办法,我可以刷新数据,而无需卸载驱动器? 编辑: 与exfat我有问题,“脏”的驱动器重新安装时不可写入。

ReferenceError:Sys未定义ReferenceError:WebForm_DoPostBackWithOptions未定义

我们在我的专用服务器上build立了一个新的域,我的旧域完美运行。 我的网站是build立在asp.net。 在新的域名上,我有一个旧的代码的副本。 这两个站点都在同一个专用服务器上。 当我尝试执行新网站上的代码时,出现以下错误消息: ReferenceError:系统没有定义 ReferenceEror:WebForm_DoPostBackWithOptions没有定义 你能帮我解决这个问题吗?

Windows 8 C#/ XAML应用程序在一台机器上,而不是另一台机器的大内存使用情况

我正在C#/ XAML中的Windows 8应用程序工作。 我正在使用MVVM模式,SQLite数据库,多语言支持等,我没有太多注意应用程序使用多less内存时运行。 它跑得相当快。 在某个时候,我觉得应用程序的转换速度要慢得多。 我也试图通过提交过程 – 创build上传包(对于X64,X86,ARM),运行authenticationtesting。 该应用程序通过了authenticationtesting。 但是我对速度有点担忧,而且我试图检查它的内存使用情况,发现它使用了几百MB的内存,并且在某些时候内存可能会上升到1GB(根据任务pipe理器中报告的数字)。 所以我尝试了一些debugging,发现在它到达App.xaml.cs代码的第二行之前,它已经使用了大约150 MB。 我试图将这个项目加载到另一台机器上,并在那里运行,内存使用量通常小于100MB,速度是我在减速之前所经历的。 所以这对我来说是正常的。 那么你们有没有类似的经历? 你有什么想法如何使我的原始机器上的应用程序正常工作? 我的印象是,在代码中我没有任何东西可以做。 这可能与我原来的机器上的项目有关。 但是我不知道是什么设置。 我试过重新启动机器,并没有解决问题。 应用程序变慢后,它也坠毁了。 在事件查看器中,我看到消息提到了vrfcore.dll。 我做了一些search,看到它与应用程序validation程序有关,我记得之前尝试运行应用程序validation程序。 我也尝试了工具栏中的debugging位置,并尝试模拟暂停。 但即使我不知道这样做,记忆力也是很高的。 这个问题似乎只影响我的机器上的应用程序,但不是所有的应用程序。

有没有办法使用win32 API调用获取MachineGuid(而不是从registry中进行手动读取)?

有没有什么办法可以使用win32 API调用来获取MachineGuid(不是从registry中手动读取)?

C#试图打开远程文件的位置,但Windows不通过凭据

所以,基本上我在做的是试图在远程工作站上打开\\ \ c $。 现在,当有人执行应用程序时,他们实际上使用的是不同于用来login到应用程序的域和用户名/密码的应用程序,现在使用<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />工作站。 从应用程序内我可以做任何我想要的。 但现在我想要完成的是有一个button链接到\什么\ C $,只是在资源pipe理器中打开,所以我可以看一些文件,但是我不想每次input密码。 特别是考虑到这是我用来打开应用程序相同的凭据。 任何帮助,将不胜感激。 这里是我正在使用的当前代码。 string startlocation = @"\\" + textBox1.Text + @"\C$"; System.Diagnostics.ProcessStartInfo pcsi = new System.Diagnostics.ProcessStartInfo(); pcsi.FileName = "explorer.exe"; pcsi.Arguments = startlocation; System.Diagnostics.Process.Start(pcsi); 从我可以告诉这应该自动传递应用程序打开时使用的凭据。 但它仍然开放UAC要求凭证。 我卡住了。 当我在寻找类似的情况时,我注意到很多其他人在问如何用其他证书打开它,或冒充那不是我想要做的。 我想使用用于打开应用程序的凭据。

我怎样才能解决我个人的ORA-12154错误?

我需要在同一台Windows 2008 R2服务器上运行ASP.NET&C#.NET程序。 你会认为每一件事都是一个蛋糕,一个工作,另一个是免费赠品。 我首先在服务器上安装了Oracle XE,并使一切正常。 迁移数据库,事情看起来不错。 我从Windows 2003 x86环境中迁移了Web应用程序。 因此,我安装了Oracle 11g(11.2x)x86客户端,在应用程序池中允许使用32位应用程序,networking应用程序开始工作,我开始做一个快乐的舞蹈。 Web应用程序的一部分将会popup并运行驻留在Web根目录的bin文件夹中的C#可执行文件(.exe)。 它不工作,所以我抓住了shell的命令行,并决定手动运行。 我得到错误; 无法加载文件或程序集“Oracle.DataAccess.dll”或它的一个依赖项。 该系统找不到指定的文件。 在尝试了很多东西之后,我将可执行文件移动到了自己的位置,安装了Oracle 11g x64客户端,将oracle.dataaccess.dll放到应用程序(.exe)的文件夹中,现在就可以得到了; ORA-12154:TNS:无法parsing指定的连接标识符 包括TNSPING在内的所有东西都可以很好地连接到数据库,我在pathvariables的开始部分已经有了X64path,并且我尝试了许多ORA-12154故障排除技巧,我可以发现,我正式难住了。 我检查了系统上的每个TNSNAMES.ORA文件,并对其进行了仔细检查,它们都很好看。 我的一个问题是“闪烁的TNSNAMES.ORA是我的程序使用? 为此,我下载并运行了sysinternals ProcessExplorer(以及内置的资源监视器(但是我无法看到它打开任何文件,更不用说TNSNAMES.ORA了。 一切工作在我从2003年复制它的x86服务器上游泳。 Anyoune对此有什么build设性的想法吗?